clfs-bootstrap

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

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