OS Builder/Run under emulation

From OLPC
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Purpose: bootstrapping XO-4 to Fedora 20 using QEMU.

Outcome: a .zd file for installation.

Ingredients

  • an XO-4, the target,
  • a conventional 32-bit or 64-bit computer running Ubuntu 14.04, the host,
  • a USB drive.

Recipe

  • install needed tools on the host,
apt-get install qemu-system-arm libguestfs-tools
wget http://mirror.aarnet.edu.au/pub/fedora/linux/releases/20/Images/armhfp/Fedora-Minimal-armhfp-20-1-sda.raw.xz
  • decompress and copy the image
xzcat Fedora-Minimal-armhfp-20-1-sda.raw.xz > Fedora-Minimal-armhfp-20-1-sda.raw
  • extract the kernel and initramfs from the image,
sudo virt-copy-out -a Fedora-Minimal-armhfp-20-1-sda.raw \
   /boot/vmlinuz-3.11.10-301.fc20.armv7hl .
sudo virt-copy-out -a Fedora-Minimal-armhfp-20-1-sda.raw \
   /boot/initramfs-3.11.10-301.fc20.armv7hl.img .
  • resize the disk image
qemu-img resize Fedora-Minimal-armhfp-20-1-sda.raw +10G
  • boot the emulated system,
sudo qemu-system-arm -machine vexpress-a9 -m 1024 -nographic \
   -net nic -net user \
   -append "console=ttyAMA0,115200n8 rw root=/dev/mmcblk0p3 rootwait physmap.enabled=0" \
   -kernel vmlinuz-3.11.10-301.fc20.armv7hl \
   -initrd initramfs-3.11.10-301.fc20.armv7hl.img \
   -sd Fedora-Minimal-armhfp-20-1-sda.raw
  • complete the Fedora guided installation,
  • grow the filesystem to fit the disk image,
sudo resize2fs /dev/mmcblk0p3