* Update buildroot-patches for 2020.11-rc1 buildroot * Update buildroot to 2020.11-rc1 Signed-off-by: Stefan Agner <stefan@agner.ch> * Don't rely on sfdisk --list-free output The --list-free (-F) argument does not allow machine readable mode. And it seems that the output format changes over time (different spacing, using size postfixes instead of raw blocks). Use sfdisk json output and calculate free partition space ourselfs. This works for 2.35 and 2.36 and is more robust since we rely on output which is meant for scripts to parse. * Migrate defconfigs for Buildroot 2020.11-rc1 In particular, rename BR2_TARGET_UBOOT_BOOT_SCRIPT(_SOURCE) to BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT(_SOURCE). * Rebase/remove systemd patches for systemd 246 * Drop apparmor/libapparmor from buildroot-external * hassos-persists: use /run as directory for lockfiles The U-Boot tools use /var/lock by default which is not created any more by systemd by default (it is under tmpfiles legacy.conf, which we no longer install). * Disable systemd-update-done.service The service is not suited for pure read-only systems. In particular the service needs to be able to write a file in /etc and /var. Remove the service. Note: This is a static service and cannot be removed using systemd-preset. * Disable apparmor.service for now The service loads all default profiles. Some might actually cause problems. E.g. the profile for ping seems not to match our setup for /etc/resolv.conf: [85503.634653] audit: type=1400 audit(1605286002.684:236): apparmor="DENIED" operation="open" profile="ping" name="/run/resolv.conf" pid=27585 comm="ping" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
57 lines
1.9 KiB
Plaintext
57 lines
1.9 KiB
Plaintext
Mediatek MT8173 aka Chromebook Elm
|
|
==================================
|
|
|
|
This file describes booting the Chromebook from an SD card containing
|
|
Buildroot kernel and rootfs, using the original bootloader. This is
|
|
the least invasive way to get Buildroot onto the devices and a good
|
|
starting point.
|
|
|
|
The bootloader will only boot a kernel from a GPT partition marked
|
|
bootable with cgpt tool from vboot-utils package.
|
|
The kernel image must be signed using futility from the same package.
|
|
The signing part is done by sign.sh script in this directory.
|
|
|
|
It does not really matter where rootfs is as long as the kernel is able
|
|
to find it, but this particular configuration assumes the kernel is on
|
|
partition 1 and rootfs is on partition 2 of the SD card.
|
|
Make sure to check kernel.args if you change this.
|
|
|
|
Making the boot media
|
|
---------------------
|
|
Start by configuring and building the images.
|
|
|
|
make chromebook_elm_defconfig
|
|
make menuconfig # if necessary
|
|
make
|
|
|
|
The important files are:
|
|
|
|
uImage.kpart (kernel and device tree, signed)
|
|
rootfs.tar
|
|
bootsd.img (SD card image containing both kernel and rootfs)
|
|
|
|
Write the image directly to some SD card.
|
|
WARNING: make sure there is nothing important on that card,
|
|
and double-check the device name!
|
|
|
|
SD=/dev/mmcblk1 # may be /dev/sdX on some hosts
|
|
dd if=output/images/bootsd.img of=$SD
|
|
|
|
Switching to developer mode and booting from SD
|
|
-----------------------------------------------
|
|
Power Chromebook down, then power it up while holding Esc+F3.
|
|
BEWARE: switching to developer mode deletes all user data.
|
|
Create backups if you need them.
|
|
|
|
While in developer mode, Chromebook will boot into a white screen saying
|
|
"OS verification is off".
|
|
|
|
Press Ctrl-D at this screen to boot Chromium OS from eMMC.
|
|
Press Ctrl-U at this screen to boot from SD (or USB)
|
|
Press Power to power it off.
|
|
Do NOT press Space unless you mean it.
|
|
This will switch it back to normal mode.
|
|
|
|
The is no way to get rid of the white screen without re-flashing the bootloader.
|
|
|