How u-boot can chain "grub" and booting a mainline kernel on my ARM Chromebook
Mario Marietto
marietto2008 at gmail.com
Sat Jul 1 14:40:15 CEST 2023
Excuse me. The problem is not the kernel version that I'm running,but how
to use the unverified u-boot created by virtual open systems to chainload
the kernel of whatever used to boot one recent ISO image created by
hexdump0815. Because it contains the code to put the chromebook in
hypervisor mode. Without that special u-boot version,I can for sure install
one ISO image of hexdump0815 (I've chosen jammy as an example,but
hexdump0815 created some more updated isos),but KVM will not be enabled.
On Sat, Jul 1, 2023 at 2:34 PM Peter Robinson <pbrobinson at gmail.com> wrote:
> On Sat, Jul 1, 2023 at 1:25 PM Mario Marietto <marietto2008 at gmail.com>
> 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.
>
--
Mario.
More information about the U-Boot
mailing list