ASUS C201PA ARM Chromebook
I have mostly questions and only a few answers.
- Fedora 25 includes the dtb for this model: rk3288-veyron-speedy.dtb
- As best I can tell from my research, the boot system on this chrome book is called "Depthcharge".
If I wrap uImage or vmlinuz-4.. with
vbutil_kernel --pack fedora.blob --keyblock fedora.keyblock --signprivate fedora.vbprivk \ --version 4 --vmlinuz vmlinuz-4.8.6* --config kcmdline --bootloader=dummy.boot --arch arm
then Booting in developer mode with Ctrl-U gets a blank screen and hangs - with just zero in part 1 and 2, it says it can't find a kernel. So the firmware is loading the image.
How does initrd get loaded? Doesn't uImage already incorporate the itb (compiled from its) and include all the platforms in the dtb-* directory?
Holding down the power button resets the chromebook after a boot attempt hangs.
Apparently, it reads the kernel packed by vbutil_kernel --pack, verifies the signature, and transfers control to the kernel. The bootloader doesn't seem to be used - it seems to be all zero on the factory boot partitions. I don't know what the fedora kernel is missing - there is no output at all.
Examining the ChromeOS kernel reveals a FIT image, so I created rk3288.its:
/dts-v1/;
/ { description = "Fedora 25 kernel-4.8.6-300 for ASUS C201PA Chromebook"; #address-cells = <1>; images { kernel@1{ description = "vmlinuz-4.8.6"; data = /incbin/("vmlinuz-4.8.6-300.fc25.armv7hl"); type = "kernel_noload"; arch = "arm"; os = "linux"; compression = "none"; load = <0>; entry = <0>; }; fdt@1{ description = "rk3288-veyron-speedy"; data = /incbin/("dtb-4.8.6-300.fc25.armv7hl/rk3288-veyron-speedy.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; }; }; configurations { default = "conf@1"; conf@1{ description = "rk3288-veyron-speedy (ASUS C201PA Chromebook)"; kernel = "kernel@1"; fdt = "fdt@1"; }; }; };
Wrapping uboot as "kernel"
This page mentions wrapping uboot as a kernel so that the chrome book will boot like a raspberry pi. Where does one get uboot to wrap?