clfs-bootstrap

clfs-bootstrap.git
git clone git://git.lenczewski.org/clfs-bootstrap.git
Log | Files | Refs | README | LICENSE

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