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)
Change the current working directory to your local working copy of this repository, then download and unpack the Buildroot source tree using:
make bootstrapUse 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 allTo edit the configurations of Buildroot, Linux or Busybox use:
make buildroot-menuconfig
make linux-menuconfig
make busybox-menuconfigTo save configurations use:
make buildroot-saveconfig
make linux-saveconfig
make busybox-saveconfigThe 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
- The Buildroot user manual
- Setting-up Buildroot Out of Tree Folder Structure (root of the top-level Makefile)
- Config used for buildroot image (root of the v86 customizations)