configs/chromebook_snow: remove defconfig, broken
This defconfig no longer builds:
https://gitlab.com/buildroot.org/buildroot/-/jobs/11012273111
It has been failing for over 2 months:
https://gitlab.com/buildroot.org/buildroot/-/jobs?name=T%3Dchromebook_snow&kind=BUILD
It builds a 4.15 kernel, which is not even a maintained LTS kernel.
Unless a fix is provided, this defconfig will be removed.
Cc: Alex Suykov <alex.suykov@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
(cherry picked from commit 9d1a7f5254)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
This commit is contained in:
committed by
Titouan Christophe
parent
170c649dc4
commit
159f701556
@@ -22,7 +22,6 @@ board/bsh/imx8mn-bsh-smm-s2/post-build.sh Shellcheck
|
||||
board/canaan/k210-soc/post-build.sh Shellcheck
|
||||
board/chromebook/elm/sign.sh Shellcheck
|
||||
board/chromebook/mksd.sh Shellcheck
|
||||
board/chromebook/snow/sign.sh Shellcheck
|
||||
board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch lib_patch.Upstream
|
||||
board/freescale/common/imx/imx8-bootloader-prepare.sh Shellcheck
|
||||
board/freescale/common/mxs/post-image.sh Shellcheck
|
||||
|
||||
@@ -99,8 +99,6 @@ F: package/libzenoh-pico/
|
||||
F: package/network-manager-openvpn/
|
||||
|
||||
N: Alex Suykov <alex.suykov@gmail.com>
|
||||
F: board/chromebook/snow/
|
||||
F: configs/chromebook_snow_defconfig
|
||||
F: package/vboot-utils/
|
||||
|
||||
N: Alexander Clouter <alex+buildroot@digriz.org.uk>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
console=tty1 clk_ignore_unused root=/dev/mmcblk1p2 rootfstype=ext4 ro
|
||||
@@ -1,37 +0,0 @@
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
description = "Buildroot kernel for Chromebook Snow";
|
||||
images {
|
||||
kernel@1 {
|
||||
description = "kernel";
|
||||
data = /incbin/("zImage");
|
||||
type = "kernel_noload";
|
||||
arch = "arm";
|
||||
os = "linux";
|
||||
compression = "none";
|
||||
load = <0>;
|
||||
entry = <0>;
|
||||
hash@1 {
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@1{
|
||||
description = "exynos5250-snow.dtb";
|
||||
data = /incbin/("exynos5250-snow.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1 {
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
};
|
||||
configurations {
|
||||
default = "conf@1";
|
||||
conf@1{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@1";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,2 +0,0 @@
|
||||
CONFIG_MWIFIEX=m
|
||||
CONFIG_MWIFIEX_SDIO=m
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,30 +0,0 @@
|
||||
Some versions of u-boot for this Chromebook check for tpm node
|
||||
in the device tree and fail badly (reboot) if it is not found.
|
||||
|
||||
While not exactly correct, it is much easier to patch the mainline
|
||||
device tree to match u-boot expectations than to fix u-boot on
|
||||
this device.
|
||||
|
||||
See https://code.google.com/p/chromium/issues/detail?id=220169
|
||||
and https://lkml.org/lkml/2013/3/4/242
|
||||
|
||||
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
|
||||
Upstream: Not Applicable
|
||||
[yann.morin.1998@free.fr: add Upstream tag]
|
||||
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
||||
|
||||
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
|
||||
@@ -466,6 +466,11 @@
|
||||
status = "okay";
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-max-bus-freq = <66000>;
|
||||
+
|
||||
+ tpm {
|
||||
+ compatible = "infineon,slb9635tt";
|
||||
+ reg = <0x20>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&i2c_5 {
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Localy computed
|
||||
sha256 5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769 linux-4.15.tar.xz
|
||||
@@ -1,137 +0,0 @@
|
||||
Samsung XE303C12 aka Chromebook Snow
|
||||
====================================
|
||||
|
||||
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_snow_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.
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
Loud *BEEP* after pressing Ctrl-U means there's no valid partition to boot from.
|
||||
Which in turn means either bad GPT or improperly signed kernel.
|
||||
|
||||
Return to the OS verification screen without any sounds means the code managed
|
||||
to reboot the board. May indicate properly signed but invalid image.
|
||||
|
||||
Blank screen means the image is valid and properly signed but cannot boot
|
||||
for some reason, like missing or incorrect DT.
|
||||
|
||||
In case the board becomes unresponsive:
|
||||
|
||||
* Press Esc+F3+Power. The board should reboot instantly.
|
||||
Remove SD card to prevent it from attempting a system recovery.
|
||||
|
||||
* Hold Power button for around 10s. The board should shut down into
|
||||
its soft-off mode. Press Power button again or open the lid to turn in on.
|
||||
|
||||
* If that does not work, disconnect the charger and push a hidden
|
||||
button on the underside with a pin of some sort. The board should shut
|
||||
down completely. Opening the lid and pressing Power button will not work.
|
||||
To turn it back on, connect the charger.
|
||||
|
||||
Partitioning SD card manually
|
||||
-----------------------------
|
||||
Check mksd.sh for partitioning commands.
|
||||
|
||||
Use parted and cgpt on a real device, and calculate the partition
|
||||
sizes properly. The kernel partition may be as small as 4MB, but
|
||||
you will probably want the rootfs to occupy the whole remaining space.
|
||||
|
||||
cgpt may be used to check current layout:
|
||||
|
||||
output/host/bin/cgpt show $SD
|
||||
|
||||
All sizes and all offsets are in 512-byte blocks.
|
||||
|
||||
Writing kernel and rootfs to a partitioned SD card
|
||||
--------------------------------------------------
|
||||
Write .kpart directly to the bootable partition:
|
||||
|
||||
dd if=output/images/uImage.kpart of=${SD}1
|
||||
|
||||
Make a new filesystem on the rootfs partition, and unpack rootfs.tar there:
|
||||
|
||||
mkfs.ext4 ${SD}2
|
||||
mount ${SD2} /mnt/<ROOTFS-PARTITION>
|
||||
tar -xvf output/images/rootfs.tar -C /mnt/<ROOTFS-PARTITION>
|
||||
umount /mnt/<ROOTFS-PARTITION>
|
||||
|
||||
This will require root permissions even if you can write to $SD.
|
||||
|
||||
Kernel command line
|
||||
-------------------
|
||||
The command line is taken from board/chromebook/snow/kernel.args and stored
|
||||
in the vboot header (which also holds the signature).
|
||||
|
||||
The original bootloader prepends "cros_secure console= " to the supplied
|
||||
command line. The only way to suppress this is to enable CMDLINE_FORCE
|
||||
in the kernel config, disabling external command line completely.
|
||||
|
||||
That's not necessary however. The mainline kernel ignores cros_secure,
|
||||
and supplying console=tty1 in kernel.args undoes the effect of console=
|
||||
|
||||
Booting with console= suppresses all kernel output.
|
||||
As a side effect, it makes /dev/console unusable, which the init in use must
|
||||
be able to handle.
|
||||
|
||||
WiFi card
|
||||
---------
|
||||
Run modprobe mwifiex_sdio to load the driver.
|
||||
The name of the device should be mlan0.
|
||||
|
||||
Further reading
|
||||
---------------
|
||||
https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook
|
||||
http://linux-exynos.org/wiki/Samsung_Chromebook_XE303C12/Installing_Linux
|
||||
http://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook
|
||||
http://www.de7ec7ed.com/2013/05/application-processor-ap-uart-samsung.html
|
||||
http://www.de7ec7ed.com/2013/05/embedded-controller-ec-uart-samsung.html
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script creates u-boot FIT image containing the kernel and the DT,
|
||||
# then signs it using futility from vboot-utils.
|
||||
# The resulting file is called uImage.kpart.
|
||||
|
||||
BOARD_DIR=$(dirname $0)
|
||||
mkimage=$HOST_DIR/bin/mkimage
|
||||
futility=$HOST_DIR/bin/futility
|
||||
devkeys=$HOST_DIR/share/vboot/devkeys
|
||||
|
||||
run() { echo "$@"; "$@"; }
|
||||
die() { echo "$@" >&2; exit 1; }
|
||||
test -f $BINARIES_DIR/zImage || \
|
||||
die "No kernel image found"
|
||||
test -x $mkimage || \
|
||||
die "No mkimage found (host-uboot-tools has not been built?)"
|
||||
test -x $futility || \
|
||||
die "No futility found (host-vboot-utils has not been built?)"
|
||||
|
||||
# kernel.its references zImage and exynos5250-snow.dtb, and all three
|
||||
# files must be in current directory for mkimage.
|
||||
run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1
|
||||
echo "# entering $BINARIES_DIR for the next command"
|
||||
(cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1
|
||||
|
||||
# futility requires non-empty file to be supplied with --bootloader
|
||||
# even if it does not make sense for the target platform.
|
||||
echo > $BINARIES_DIR/dummy.txt
|
||||
|
||||
run $futility vbutil_kernel \
|
||||
--keyblock $devkeys/kernel.keyblock \
|
||||
--signprivate $devkeys/kernel_data_key.vbprivk \
|
||||
--arch arm \
|
||||
--version 1 \
|
||||
--config $BOARD_DIR/kernel.args \
|
||||
--vmlinuz $BINARIES_DIR/uImage.itb \
|
||||
--bootloader $BINARIES_DIR/dummy.txt \
|
||||
--pack $BINARIES_DIR/uImage.kpart || exit 1
|
||||
|
||||
rm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt
|
||||
@@ -1,24 +0,0 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a15=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y
|
||||
BR2_GLOBAL_PATCH_DIR="board/chromebook/snow/patches"
|
||||
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
|
||||
BR2_TARGET_GENERIC_GETTY_TERM="linux"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/snow/sign.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/mksd.sh"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="exynos"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/chromebook/snow/linux-4.15.fragment"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5250-snow"
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797=y
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_PACKAGE_HOST_PARTED=y
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
|
||||
BR2_PACKAGE_HOST_VBOOT_UTILS=y
|
||||
Reference in New Issue
Block a user