
How to install and configure a QEMU aarch64-linux installation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Last updated 30 April 2015

This gives a fairly usable, and not entirely slow, arm64-linux
install.  It has the advantage that the idle loop works right and so
when the guest becomes idle, qemu uses only very little host cpu, so
you can leave the guest idling for long periods without bad
performance effects on the host.

More or less following
https://gmplib.org/~tege/qemu.html, section 14 (for arm64)

Build qemu-2.2.1 with --target-list including aarch64-softmmu

mkdir Arm64-2
cd Arm64-2

wget http://d-i.debian.org/daily-images/arm64/daily/netboot/debian-installer/arm64/linux

wget http://d-i.debian.org/daily-images/arm64/daily/netboot/debian-installer/arm64/initrd.gz

# Note.  6G is easily enough to install debian and do a build of Valgrind.
# If you envisage needing more space, now is the time to choose a larger
# number.

/path/to/Qemu221/bin/qemu-img create disk6G.img 6G

/path/to/Qemu221/bin/qemu-system-aarch64 \
  -M virt -cpu cortex-a57 -m 256             \ 
  -drive file=disk6G.img,if=none,id=blk -device virtio-blk-device,drive=blk \
  -net user,hostfwd=tcp::5555-:22 -device virtio-net-device,vlan=0 \
  -kernel linux                                                 \
  -initrd initrd.gz                                             \
  -append "console=ttyAMA0 --"                                  \
  -nographic

Do an install, be as vanilla as possible, allow it to create a user
"username", and do not ask it to install any extra software.  But,
when you get to here

  ┌───────────────────┤ [!!] Finish the installation ├────────────────────┐
  │                                                                       │
 ┌│                         Installation complete                         │
 ││ Installation is complete, so it is time to boot into your new system. │
 ││ Make sure to remove the installation media (CD-ROM, floppies), so     │
 ││ that you boot into the new system rather than restarting the          │
 ││ installation.                                                         │
 ││                                                                       │
 └│     <Go Back>                                          <Continue>     │
  │                                                                       │
  └───────────────────────────────────────────────────────────────────────┘

do "Go Back"
then in the next menu "Execute a shell", "Continue"

This gives you a root shell in the new VM.  In that shell:

  mount -t proc proc /target/proc
  mount --rbind /sys /target/sys
  mount --rbind /dev /target/dev
  chroot /target bash
  /etc/init.d/ssh start
  mv /boot/initrd.img-3.16.0-4-arm64 /boot/initrd.img-3.16.0-4-arm64.old
  echo virtio-mmio >>/etc/initramfs-tools/modules
  /usr/sbin/update-initramfs -c -k 3.16.0-4-arm64

Then on the host, copy out the files that the above created.

cd Arm64-2
ssh -p 5555 username@localhost \
   "tar -c -f - --exclude=lost+found /boot" | tar xf -

Now back in the VM, we can finish the installation.

  exit
  exit
  Select "Finish the installation"
  Continue

When it reboots, kill qemu from another shell, else it will try to reinstall.

Now start the installation:

/path/to/Qemu221/bin/qemu-system-aarch64 -M virt \
  -cpu cortex-a57 -m 1024 -drive file=disk6G.img,if=none,id=blk \
  -device virtio-blk-device,drive=blk -net user,hostfwd=tcp::5555-:22 \
  -device virtio-net-device,vlan=0 -kernel boot/vmlinuz-3.16.0-4-arm64 \
  -initrd boot/initrd.img-3.16.0-4-arm64 \
  -append "root=/dev/vda2 rw console=ttyAMA0 --" -nographic

Now you can ssh into the VM and install stuff as usual:

ssh -XC -p 5555 username@localhost

  (on the guest)
  become root
  apt-get install make gcc g++ automake autoconf emacs subversion gdb

Hack on, etc.
