Hi there,
I've recently started using a Lenovo n20p chromebook and - since I discovered it has no SeaBIOS - I'd like to experiment alternative ways of booting.
In particular, I am interested in the following:
2) booting from an external USB device with a different root= kernel command line parameter, either using the official ChromeOS kernel or my own (as per [1] above)
Regarding (1), I have come to a blocker because I don't know what to provide to vbutil_kernel for the --bootloader option. Documentation is not clear about this apparently outdated kernel version. My verbose config is currently as follows (vanilla ChromeOS):
```
Key block:
Signature: ignored
Size: 0x4b8
Flags: 7 !DEV DEV !REC
Data key algorithm: 4 RSA2048 SHA256
Data key version: 1
Data key sha1sum: REDACTED
Preamble:
Size: 0xfb48
Header version: 2.2
Kernel version: 1
Body load address: 0x100000
Body size: 0x440e00
Bootloader address: 0x539000
Bootloader size: 0x4000
Vmlinuz header address: 0x53d000
Vmlinuz header size: 0x3e00
Flags : 0x0
Body verification succeeded.
Config:
console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro disablevmx=off lsm.module_locking=0 dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=%U/PARTNROFF=1 hashtree=PARTUUID=%U/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=REDACTED salt=REDACTED" noinitrd vt.global_cursor_default=0 kern_guid=%U add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic
```
However I have not been able to extract the bootloader as I do not understand what is the absolute offset in the current kernel partition #4. Can somebody provide insight?
Also, regarding both (1) and (2), will I risk to make the device completely unbootable? There is a valid kernel (probably older version, as updated by ChromeOS) on partition #2, so I am currently living under the assumption that when I'll change the kernel command line as per (2) or boot my own blob (as per [1]), I'd eventually still be able to get it booting thanks to the backup kernel. But I wonder: what if the kernel I try to boot hangs up? How can I in that case boot the 2nd one?
Thanks to anybody that will have the patience to help a bit, as I am new to this type of devices :)
--
gm