| // -*- mode:doc; -*- |
| // vim: set syntax=asciidoc: |
| |
| == Beyond Buildroot |
| |
| === Boot the generated images |
| |
| ==== NFS boot |
| |
| To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem |
| images_ menu. |
| |
| After a complete build, just run the following commands to setup the |
| NFS-root directory: |
| |
| ------------------- |
| sudo tar -xavf /path/to/output_dir/rootfs.tar -C /path/to/nfs_root_dir |
| ------------------- |
| |
| Remember to add this path to +/etc/exports+. |
| |
| Then, you can execute a NFS-boot from your target. |
| |
| ==== Live CD |
| |
| To build a live CD image, enable the _iso image_ option in the |
| _Filesystem images_ menu. Note that this option is only available on |
| the x86 and x86-64 architectures, and if you are building your kernel |
| with Buildroot. |
| |
| You can build a live CD image with either IsoLinux, Grub or Grub 2 as |
| a bootloader, but only Isolinux supports making this image usable both |
| as a live CD and live USB (through the _Build hybrid image_ option). |
| |
| You can test your live CD image using QEMU: |
| |
| ------------------- |
| qemu-system-i386 -cdrom output/images/rootfs.iso9660 |
| ------------------- |
| |
| Or use it as a hard-drive image if it is a hybrid ISO: |
| |
| ------------------- |
| qemu-system-i386 -hda output/images/rootfs.iso9660 |
| ------------------- |
| |
| It can be easily flashed to a USB drive with +dd+: |
| |
| ------------------- |
| dd if=output/images/rootfs.iso9660 of=/dev/sdb |
| ------------------- |
| |
| === Chroot |
| |
| If you want to chroot in a generated image, then there are few thing |
| you should be aware of: |
| |
| * you should setup the new root from the _tar root filesystem_ image; |
| |
| * either the selected target architecture is compatible with your host |
| machine, or you should use some +qemu-*+ binary and correctly set it |
| within the +binfmt+ properties to be able to run the binaries built |
| for the target on your host machine; |
| |
| * Buildroot does not currently provide +host-qemu+ and +binfmt+ |
| correctly built and set for that kind of use. |