// -*- 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.
