From Fedora Project Wiki

Line 18: Line 18:


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.
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" ==
== 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?
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?

Revision as of 23:48, 1 March 2017

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?