qemu-aarch64 (1793B)
1 #!/bin/sh 2 3 # DATE=$(date +'%Y%m%d') 4 DATE=20210322 5 6 ROOTFS=/mnt/clfs/clfs-rootfs-$DATE.tar.xz 7 [ -d /tmp/rootfs ] && rm -rf /tmp/rootfs 8 mkdir /tmp/rootfs 9 10 BOOTFS=/mnt/clfs/clfs-bootfs-$DATE.tar.xz 11 [ -d /tmp/bootfs ] && rm -rf /tmp/bootfs 12 mkdir /tmp/bootfs 13 14 KERNEL=zImage 15 INITRD=initrd.cpio.gz 16 DTB=bcm2837-rpi-3-b.dtb 17 18 DISK=hda.img 19 20 echo "Creating qemu rootfs disk" 21 [ ! -f $DISK ] && dd if=/dev/zero of=$DISK bs=1M count=4096 22 mkfs.ext4 $DISK 23 24 mount -o loop $DISK /tmp/rootfs 25 26 echo "Extracting rootfs : $ROOTFS" 27 tar pxf $ROOTFS -C /tmp/rootfs 28 sync 29 30 umount /tmp/rootfs 31 32 #echo "Creating initrd image" 33 #find . -print0 | cpio --null -o --format=newc | gzip -9 > /tmp/$INITRD 34 35 echo "Extracting bootfs : $BOOTFS" 36 37 tar pxf $BOOTFS -C /tmp/bootfs 38 #cp -r /mnt/raspi-boot/* . 39 40 echo "Booting virtual machine" 41 42 # qemu raspi3b REQUIRES aarch64-only binaries 43 qemu-system-aarch64 \ 44 -M raspi3b -m 1024 -smp 4 \ 45 -kernel /tmp/bootfs/$KERNEL \ 46 -dtb /tmp/bootfs/$DTB 47 -append "earlyprintk=serial,ttyS0 console=ttyAMA0 root=/dev/mmcblk0 rw" \ 48 -drive if=none,file=$DISK,format=raw,id=hdroot \ 49 -device sd-card,drive=hdroot \ 50 -netdev user,id=mynet0 \ 51 -device usb-kbd \ 52 -nographic -no-reboot 53 54 # qemu internal arm invocation 55 #qemu-system-arm \ 56 # -display none -vga none \ 57 # -chardev socket,id=mon,path=/var/tmp/avo_qemu_sock_y2xg63/qemu-29492-monitor.sock -mon chardev=mon,mode=control \ 58 # -machine raspi2 \ 59 # -chardev socket,id=console,path=/var/tmp/avo_qemu_sock_y2xg6349/qemu-29492-console.sock,server=on,wait=off \ 60 # -serial chardev:console \ 61 # -kernel /var/tmp/.test_arm_raspi2_uart0/boot/kernel7.img \ 62 # -dtb /var/tmp/.test_arm_raspi2_uart0/boot/bcm2709-rpi-2-b.dtb \ 63 # -append printk.time=0 earlycon=pl011,0x3f201000 console=ttyAMA0 root=/dev/mmcblk0p2 rootwait dwc_otg.fiq_fsm_enable=0 \ 64 # -device usb-kbd 65