On Sat, Jul 1, 2023 at 1:25 PM Mario Marietto <[email protected]> wrote: > > Hello. > > I would like to enable KVM virtualization on my old ARM Chromebook > laptop,based on the Exynos5250 arm 32 bit cpu aka snow,model xe303c12.
Upstream Linux kernel dropped support for running virt on 32 bit hosts (you can still run a 32 bit guest on a 64 bit host) in the upstream linux kernel with the 5.7 release (May 31st, 2020) so you'll probably have to run a 5.4.x LTS kernel rather than 5.18.x (not sure why you chose that one) at the very least. > The first thing I did has been to dd the image below directly on the sd > card : > > https://github.com/hexdump0815/imagebuilder/releases/download/220619-01/chromebook_snow-armv7l-jammy.img.gz > > and it worked like a charm,but kvm was disabled. So,I have started to look > for a good documentation to understand how to enable kvm and I found this : > > http://www.virtualopensystems.com/en/solutions/guides/kvm-on-chromebook/ > > I've followed all the instructions and it worked,but only with Ubuntu 13.04 > and 14.04. More upgraded ubuntu versions give a lot of problems and they > don't work. > > So,I've thought about a fresh idea. What about to install the virtual open > systems "non-verified u-boot" on the first partition like explained in the > tutorial,and,instead of starting another u-boot after the original,can I > chain grub with the kernel installed for example by the ubuntu jammy iso > image created by "hexdump0815" ? To be honest I'm not sure if hexdump0815 > used grub,but I will explain this later. > > Anyway,I've got the idea by reading here : > > https://unix.stackexchange.com/questions/599141/how-to-install-grub-bootloader-as-second-stage-bootloader > So,now,I'm going to explain what's the content of the partitions on my > Frankenstein sd card. > > 1) /dev/sdh1 = unknown = 16 MB. I've created this partition by doing : > > $ sudo dd if=nv_uboot-snow.kpart of=/dev/sdh1 > > Where I've got the file nv_uboot-snow.kpart ? From here : > > http://www.virtualopensystems.com/downloads/guides/kvm_on_chromebook/nv_u-boot-snow.kpart > > 2) /dev/sdh2 = unknown = 16 MB. This partition has been created by > executing the following > > script : > > $ sudo ./scripts/sdcard.sh /dev/sdh > > 3) /dev/sdh3 = ext2 BOOT. > > Inside the partition /dev/sdh3 I have copied the following files and > folders (taken > from the hexdump0815 "chromebook_snow-armv7l-jammy.img.gz" file : > > a) dtb-5.18.1-stb-cbe+ = directory > b) extlinux = directory > c) extra = directory > > d) config.5.18.1-stb-cbe+ : file > e) initrd.img-5.18.1-stb-cbe+ : file > f) System.map-5.18.1-stb-cbe+ : file > g) vmlinux.kpart-5.18.1-stb-cbe+ : file > h) zImage-5.18.1-stb.cbe+ : file > > Inside the directory "dtb-5.18.1-stb-cbe+" there are the following files : > > a) exynos5250-snow.dtb > b) exynos5250-snow-rev5.dtb > c) exynos5250-spring.dtb > > Inside the directory "extlinux",there is the following file : > > a) extlinux.conf : that has the following content : > > TIMEOUT 30 > > DEFAULT linux-snow-rev4 > > MENU TITLE snow chromebook boot options > > # rev4 snow chromebook > LABEL linux-snow-rev4 > MENU LABEL linux rev4 snow > LINUX ../zImage-5.18.1-stb-cbe+ > INITRD ../initrd.img-5.18.1-stb-cbe+ > FDT ../dtb-5.18.1-stb-cbe+/exynos5250-snow.dtb > APPEND console=tty1 root=LABEL=rootpart ro rootwait net.ifnames=0 > ipv6.disable=1 fsck.repair=yes noresume > > # rev5 snow chromebook > LABEL linux-snow-rev5 > MENU LABEL linux rev5 snow > LINUX ../zImage-5.18.1-stb-cbe+ > INITRD ../initrd.img-5.18.1-stb-cbe+ > FDT ../dtb-5.18.1-stb-cbe+/exynos5250-snow-rev5.dtb > APPEND console=tty1 root=LABEL=rootpart ro rootwait net.ifnames=0 > ipv6.disable=1 fsck.repair=yes noresume > > # spring chromebook - untested > LABEL linux-spring > MENU LABEL linux spring > LINUX ../zImage-5.18.1-stb-cbe+ > INITRD ../initrd.img-5.18.1-stb-cbe+ > # rev4 snow chromebook > FDT ../dtb-5.18.1-stb-cbe+/exynos5250-spring.dtb > APPEND console=tty1 root=LABEL=rootpart ro rootwait net.ifnames=0 > ipv6.disable=1 fsck.repair=yes noresume > > Inside the extra directory there are the following files : > > a) kernel-chromebook_snow-legacy.tar.gz > b) uboot.kpart.cbe-snow > c) uboot.kpart.cbe-snow-alternative > d) uboot.kpart.cbe-spring > > 4) /dev/sdh4 : inside here I have copied all the files of the jammy > userland prepared by hexdump0818. > > That's all. What I want to do is if and how can I chainload the > "non-verified u-boot" > that is installed on the partition /dev/sdh1 with grub or whatever > mechanism it is able to boot the hexdump0815 jammy iso image. > > As I repeat,the "non-verified u-boot" is produced by the script called > "build.sh",that's stored inside the u-boot/scripts directory. And if what I > want to do is impossible,can you explain to me how I can enable kvm on my > chromebook arm,using the most recent kernel possible ? I already know that > the support for kvm on arm 32 has been dropped on kernel 5.7,but for me to > use a lower kernel than 5.7 is ok. I've been working on this project for a > lot of months. I would like to see some progress. Thanks. > > -- > Mario.

