Skip to content

chschnell/v86-buildroot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

v86-buildroot

Buildroot customized for the v86 emulator.

Features:

  • Top-level Makefile for simple, reproducible builds
  • Keeps Buildroot source tree, v86 customizations and build artifacts in separate directories
  • Out-of-tree build, the Buildroot source tree always remains unmodified
  • Supported v86 features include: serial0, virtio-console, virtio-net, fda, fdb, hda, hdb and cdrom
  • Supports Unicode (intended for serial connection with XTerm.js)

Installation instructions

Change the current working directory to your local working copy of this repository, then download and unpack the Buildroot source tree using:

make bootstrap

Build instructions

Use make help for help about all top-level Makefile commands, examples:

# optional, cleanup all previous build artifacts
make clean

# configure Buildroot, required once after fresh installation or make clean
make buildroot-defconfig

# compile and link Buildroot into build/v86/images/bzImage
make all

Details

Configuring Buildroot, Linux and Busybox

To edit the configurations of Buildroot, Linux or Busybox use:

make buildroot-menuconfig
make linux-menuconfig
make busybox-menuconfig

To save configurations use:

make buildroot-saveconfig
make linux-saveconfig
make busybox-saveconfig

Implementation

The v86-buildroot top-level Makefile invokes the Buildroot Makefile such that all configuration elements are read from directories configs/ and board/, and all build artifacts are written to build/. Buildroot's br2-external mechanism is used for this build mode, see chapter "9.2. Keeping customizations outside of Buildroot" in the Buildroot documentation for details.

The Buildroot board name defined in the top-level Makefile is v86 (stored in variable ACTIVE_PROJECT).

Directory layout overview (after running make buildroot-defconfig):

v86-buildroot
├── board
│   └── v86
│       ├── busybox.config  // Busybox .config
│       ├── linux.config    // Linux .config
│       └── rootfs_overlay  // Overlay file system root
│           └── ...
├── build                   // Build directory (created by Makefile)
│   └── v86
│       └── ...
├── buildroot               // Buildroot source directory (created by Makefile)
│   └── ...
├── configs
│   └── v86_defconfig       // Buildroot .config
├── Config.in               // Buildroot out-of-tree build requirement (empty)
├── external.desc           // Buildroot out-of-tree build description file
├── external.mk             // Buildroot out-of-tree build requirement (empty)
├── LICENSE
├── Makefile                // Top-level Makefile
└── README.md

Links

About

Buildroot customized for v86 emulator

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published