qemu-arm (2505B)
1 #!/bin/sh 2 3 #DATE=$(date +'%Y%m%d') 4 DATE=20210503 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=bcm2836-rpi-2-b.dtb 17 DTB=bcm2837-rpi-3-b.dtb 18 19 RAWDISK=hda.img 20 DISK=hda.qcow2 21 22 echo "Creating qemu rootfs disk" 23 [ ! -f $RAWDISK ] && dd if=/dev/zero of=$RAWDISK bs=1M count=4096 24 25 mkfs.ext4 $RAWDISK 26 mount -o loop $RAWDISK /tmp/rootfs 27 28 echo "Extracting rootfs : $ROOTFS" 29 tar pxf $ROOTFS -C /tmp/rootfs 30 sync 31 32 umount /tmp/rootfs 33 34 qemu-img convert -f raw -O qcow2 $RAWDISK $DISK 35 36 #echo "Creating initrd image" 37 #find . -print0 | cpio --null -o --format=newc | gzip -9 > /tmp/$INITRD 38 39 echo "Extracting bootfs : $BOOTFS" 40 41 tar pxf $BOOTFS -C /tmp/bootfs 42 43 echo "Booting virtual machine" 44 # qemu raspi2b REQUIRES arm-only binaries 45 #qemu-system-arm \ 46 # -nographic -no-reboot \ 47 # -M virt -m 1024 -smp 4 \ 48 # -kernel /tmp/bootfs/$KERNEL \ 49 # -append "earlyprintk=serial,ttyS0 loglevel=8 console=ttyAMA0 root=/dev/hda" \ 50 # -drive file=$DISK,if=none,format=raw,id=rootfs \ 51 # -device virtio-blk-device,drive=rootfs 52 # # doesnt work :( 53 # -device virtio-scsi-pci,id=scsi0 \ 54 # -drive if=none,file=$DISK,format=raw,id=rootfs \ 55 # -device scsi-hd,drive=rootfs,bus=scsi0.0 56 57 qemu-system-arm \ 58 -nographic -no-reboot \ 59 -M virt -m 1024 -smp 1 \ 60 -kernel /tmp/bootfs/$KERNEL \ 61 -append "earlyprintk=serial,ttyS0 loglevel=8 console=ttyAMA0" \ 62 -drive file=$DISK,if=none,format=qcow2,id=rootfs \ 63 -device virtio-blk-device,drive=rootfs 64 65 #qemu-system-arm \ 66 # -nographic -no-reboot \ 67 # -M raspi2 \ 68 # -kernel /tmp/bootfs/$KERNEL \ 69 # -dtb /tmp/bootfs/$DTB \ 70 # -append "earlyprintk=serial,ttyS0 loglevel=8 console=ttyAMA0 root=/dev/mmcblk0" \ 71 # -drive file=$RAWDISK,if=none,format=raw,id=rootfs \ 72 # -device sd-card,drive=rootfs 73 74 # qemu internal arm invocation 75 #qemu-system-arm \ 76 # -display none -vga none \ 77 # -chardev socket,id=mon,path=/var/tmp/avo_qemu_sock_y2xg63/qemu-29492-monitor.sock -mon chardev=mon,mode=control \ 78 # -machine raspi2 \ 79 # -chardev socket,id=console,path=/var/tmp/avo_qemu_sock_y2xg6349/qemu-29492-console.sock,server=on,wait=off \ 80 # -serial chardev:console \ 81 # -kernel /var/tmp/.test_arm_raspi2_uart0/boot/kernel7.img \ 82 # -dtb /var/tmp/.test_arm_raspi2_uart0/boot/bcm2709-rpi-2-b.dtb \ 83 # -append printk.time=0 earlycon=pl011,0x3f201000 console=ttyAMA0 root=/dev/mmcblk0p2 rootwait dwc_otg.fiq_fsm_enable=0 \ 84 # -device usb-kbd 85