Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gabriel-v/59790f94fb8ac2771f9b0b045e8b5448 to your computer and use it in GitHub Desktop.
Save gabriel-v/59790f94fb8ac2771f9b0b045e8b5448 to your computer and use it in GitHub Desktop.
Debian ARM64 (Aarch64) image for QEMU

QEMU version: 2.2.0

HDD init:

  • qemu-img create -f qcow debian8-arm64.img 10G

Netinstall initrd:

  • wget ftp://ftp.ru.debian.org/debian/dists/jessie/main/installer-arm64/20150422/images/netboot/debian-installer/arm64/initrd.gz

Netinstall kernel:

  • wget ftp://ftp.ru.debian.org/debian/dists/jessie/main/installer-arm64/20150422/images/netboot/debian-installer/arm64/linux

Netinstall start:

  • qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic -smp 1 -m 512 -kernel linux -initrd initrd.gz -append "root=/dev/ram console=ttyAMA0" -global virtio-blk-device.scsi=off -device virtio-scsi-device,id=scsi -drive file=debian8-arm64.img,id=rootimg,cache=unsafe,if=none -device scsi-hd,drive=rootimg -netdev user,id=unet -device virtio-net-device,netdev=unet -net user

Extract kernel and initrd after install:

  • sudo modprobe nbd max_part=16

  • sudo qemu-nbd -c /dev/nbd0 debian8-arm64.img

  • sudo partprobe /dev/nbd0

  • mkdir sda2

  • sudo mount /dev/nbd0p2 sda2

  • cp sda2/boot/vmlinuz vmlinuz-run

  • cp sda2/boot/initrd.img initrd-run.img

  • sudo umount sda2

  • rmdir sda2

  • sudo /opt/qemu220/bin/qemu-nbd -d /dev/nbd0

Running:

  • qemu-system-aarch64 -machine virt -cpu cortex-a57 -nographic -smp 1 -m 512 -kernel vmlinuz-run -initrd initrd-run.img -append "root=/dev/sda2 console=ttyAMA0" -global virtio-blk-device.scsi=off -device virtio-scsi-device,id=scsi -drive file=debian8-arm64.img,id=rootimg,cache=unsafe,if=none -device scsi-hd,drive=rootimg -netdev user,id=unet -device virtio-net-device,netdev=unet -net user
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment