From 2b39ed9d69703c4c9532f4c60dee143790ef5b27 Mon Sep 17 00:00:00 2001 From: forksand Date: Sat, 10 Apr 2021 19:06:42 -0600 Subject: [PATCH] qemu ppc64le host, riscv64 guest --- .../qemu/forksand-kvm-ppc64el-vriscv64-build | 77 +++++++++++++++++++ .../qemu/forksand-kvm-ppc64el-vriscv64-sid | 70 +++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100755 source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-build create mode 100755 source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-sid diff --git a/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-build b/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-build new file mode 100755 index 0000000..a71a76e --- /dev/null +++ b/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-build @@ -0,0 +1,77 @@ +#!/bin/bash + +set -x + +sudo qemu-system-riscv64 \ + -serial telnet:localhost:2018,server,nowait \ + -monitor telnet:127.0.0.1:2019,server,nowait \ + -vga none \ + -runas vriscv64-build \ + -daemonize \ + -display none \ + -M virt \ + -smp 8 \ + -m 8192 \ + -name vriscv64-build \ + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::47721-:22 \ + -kernel /srv/kvm/vriscv64-build/vmlinux \ + -initrd /srv/kvm/vriscv64-build/initrd.img \ + -append "root=/dev/vda1 rw ipv6.disable=1 selinux=0" \ + -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -device virtio-rng-device,rng=rng0 \ + -device virtio-blk-device,drive=hd0 \ + -device virtio-blk-device,drive=hd1 \ + -drive file=/srv/kvm/vriscv64-build/root.img,format=qcow2,cache=writeback,discard=on,id=hd0 \ + -drive file=/srv/kvm/vriscv64-build/home.img,format=qcow2,cache=writeback,discard=on,id=hd1 + + +exit + -append "root=/dev/vda1 rw ipv6.disable=1 selinux=0" \ + +# To update kernel: +# * update guest debian. +# * copy guest kernel & initrd to host +# scp -p vriscv64-build:/boot/vmlinux-5.10.0-5-riscv64 /srv/kvm/vriscv64-build/vmlinux +# scp -p vriscv64-build:/boot/initrd.img-5.10.0-5-riscv64 /srv/kvm/vriscv64-build/initrd.img +# chown vriscv64-build:vriscv64-build /srv/kvm/vriscv64-build/vmlinux /srv/kvm/vriscv64-build/initrd.img +# chmod 400 /srv/kvm/vriscv64-build/vmlinux chmod 400 /srv/kvm/vriscv64-build/initrd.img + +# kernel, initrd.img for install: +# https://cdimage.debian.org/cdimage/ports/snapshots +# https://cdimage.debian.org/cdimage/ports/debian-installer/2020-12-03/riscv64/debian-installer-images_20201202_riscv64.tar.gz + + -nic tap,model=virtio,mac=52:54:00:12:34:16 \ + -kernel /home/jebba/devel/distros/debian/riscv/vmlinux \ + -initrd /home/jebba/devel/distros/debian/riscv/initrd.img \ + +# IMAGE +# qemu-img create -f qcow2 /srv/kvm/vriscv64-build/home.img 20G +# chown vriscv64-build:vriscv64-build /srv/kvm/vriscv64-build/home.img +# chmod 600 /srv/kvm/vriscv64-build/home.img + +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-build/boot.img 256M +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-build/swap.img 128M +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-build/root.img 2G +# Resize +# qemu-img resize foo.img +10G +# qemu-img resize /home/jebba/KVM/riscv64-build/root.img +10G + +#misc + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22549-:22 \ + -append "root=/dev/vda1 rw" \ + -daemonize \ + -display none \ + -nographic \ + -display none \ + -kernel /home/jebba/devel/distros/debian/riscv/debian-installer-images/installer-riscv64/20201202/images/netboot/vmlinux \ + -initrd /home/jebba/devel/distros/debian/riscv/debian-installer-images/installer-riscv64/20201202/images/netboot/initrd.gz \ + -net nic,model=virtio \ + -net user,hostfwd=tcp:192.168.110.22:22549-:22 \ + -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \ + -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -device virtio-rng-device,rng=rng0 + -M virt \ + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22549-:22 \ + -M sifive_u \ diff --git a/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-sid b/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-sid new file mode 100755 index 0000000..a0ec6b6 --- /dev/null +++ b/source/resources/apps/qemu/forksand-kvm-ppc64el-vriscv64-sid @@ -0,0 +1,70 @@ +#!/bin/bash + +set -x + +sudo qemu-system-riscv64 \ + -serial telnet:localhost:2016,server,nowait \ + -monitor telnet:127.0.0.1:2017,server,nowait \ + -vga none \ + -runas vriscv64-sid \ + -daemonize \ + -display none \ + -M virt \ + -smp 8 \ + -m 8192 \ + -name vriscv64-sid \ + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22549-:22 \ + -kernel /srv/kvm/vriscv64-sid/vmlinux \ + -initrd /srv/kvm/vriscv64-sid/initrd.img \ + -append "root=/dev/vda1 rw ipv6.disable=1 selinux=0" \ + -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -device virtio-rng-device,rng=rng0 \ + -device virtio-blk-device,drive=hd0 \ + -drive file=/srv/kvm/vriscv64-sid/root.img,format=qcow2,cache=writeback,discard=on,id=hd0 + + +exit + -append "root=/dev/vda1 rw ipv6.disable=1 selinux=0" \ + +# To update kernel: +# * update guest debian. +# * copy guest kernel & initrd to host +# scp -p vriscv64-sid:/boot/vmlinux-5.10.0-5-riscv64 /srv/kvm/vriscv64-sid/vmlinux +# scp -p vriscv64-sid:/boot/initrd.img-5.10.0-5-riscv64 /srv/kvm/vriscv64-sid/initrd.img +# chown vriscv64-sid:vriscv64-sid /srv/kvm/vriscv64-sid/vmlinux /srv/kvm/vriscv64-sid/initrd.img +# chmod 400 /srv/kvm/vriscv64-sid/vmlinux chmod 400 /srv/kvm/vriscv64-sid/initrd.img + +# kernel, initrd.img for install: +# https://cdimage.debian.org/cdimage/ports/snapshots +# https://cdimage.debian.org/cdimage/ports/debian-installer/2020-12-03/riscv64/debian-installer-images_20201202_riscv64.tar.gz + + -nic tap,model=virtio,mac=52:54:00:12:34:16 \ + -kernel /home/jebba/devel/distros/debian/riscv/vmlinux \ + -initrd /home/jebba/devel/distros/debian/riscv/initrd.img \ + + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22549-:22 \ + + -append "root=/dev/vda1 rw" \ + -daemonize \ + -display none \ + -nographic \ + -display none \ + -kernel /home/jebba/devel/distros/debian/riscv/debian-installer-images/installer-riscv64/20201202/images/netboot/vmlinux \ + -initrd /home/jebba/devel/distros/debian/riscv/debian-installer-images/installer-riscv64/20201202/images/netboot/initrd.gz \ + -net nic,model=virtio \ + -net user,hostfwd=tcp:192.168.110.22:22549-:22 \ + -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf \ + -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -device virtio-rng-device,rng=rng0 + -M virt \ + -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::22549-:22 \ + -M sifive_u \ +# IMAGE +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-sid/boot.img 256M +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-sid/swap.img 128M +# qemu-img create -f qcow2 /home/jebba/KVM/riscv64-sid/root.img 2G +# Resize +# qemu-img resize foo.img +10G +# qemu-img resize /home/jebba/KVM/riscv64-sid/root.img +10G