Lines Matching +full:a +full:- +full:f0 +full:- +full:9
1 Running U-Boot from coreboot on Chromebooks
4 U-Boot can be used as a secondary boot loader in a few situations such as from
8 This document aims to provide a guide to booting U-Boot on a Chromebook. It
9 is only a starting point, and there are many guides on the interwebs. But
10 placing this information in the U-Boot tree should make it easier to find for
11 those who use U-Boot habitually.
13 Most of these platforms are supported by U-Boot natively, but it is risky to
14 replace the ROM unless you have a servo board and cable to restore it with.
17 For all of these the standard U-Boot build instructions apply. For example on
20 sudo apt install gcc-arm-linux-gnueabi
22 make O=b/nyan_big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
26 https://drive.google.com/open?id=0B7WYZbZ9zd-3dHlVVXo4VXE2T0U
30 -----------------------------
34 https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chro…
37 Nyan-big
38 --------
41 https://lists.denx.de/pipermail/u-boot/2015-March/209530.html
42 https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
43 https://lists.denx.de/pipermail/u-boot/2017-May/289491.html
44 https://github.com/chromeos-nvidia-androidtv/gnu-linux-on-acer-chromebook-13#copy-data-to-the-sd-ca…
46 1. Patch U-Boot
48 Open include/configs/tegra124-common.h
59 2. Build U-Boot
62 make -j8 O=b/nyan-big CROSS_COMPILE=arm-linux-gnueabi- nyan-big_defconfig all
65 3. Select a .its file
71 used by U-Boot. This is because the Chromebook expects to pass it to the
77 ./b/nyan-big/tools/mkimage -f doc/chromium/nyan-big.its u-boot-chromium.fit
79 vbutil_kernel --arch arm --keyblock doc/chromium/devkeys/kernel.keyblock \
80 --signprivate doc/chromium/devkeys/kernel_data_key.vbprivk \
81 --version 1 --config dummy.txt --vmlinuz u-boot-chromium.fit \
82 --bootloader dummy.txt --pack u-boot.kpart
89 sudo cgpt add -b 34 -s 32768 -P 1 -S 1 -t kernel $DISK
90 sudo cgpt add -b 32802 -s 2000000 -t rootfs $DISK
91 sudo gdisk $DISK # Enter command 'w' to write a protective MBR to the disk
94 6. Write U-Boot to the SD card
96 sudo dd if=u-boot.kpart of=/dev/sdc1; sync
102 do this, login as root (via Ctrl-Alt-forward_arrow) and type
105 Reboot the device with the SD card inserted. Press Clrl-U at the developer
108 U-Boot 2017.07-00637-g242eb42-dirty (May 22 2017 - 06:14:21 -0600)
110 Model: Acer Chromebook 13 CB5-311
111 Board: Google/NVIDIA Nyan-big, ID: 1
115 Tegra124 (Nyan-big) #
124 This is likely due to some problem with change-over of the serial driver
128 9. Notes
130 To check that you copied the u-boot.its file correctly, use these commands.
131 You should see that the data at 0x100 in u-boot-chromium.fit is the first few
132 bytes of U-Boot:
134 hd u-boot-chromium.fit |head -20
136 00000100 b8 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 |................|
138 hd b/nyan-big/u-boot.bin |head
139 00000000 b8 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5 |................|
144 from the load address. If this changes, you either need to modify U-Boot to be
149 ----------------
153 1. Patch U-Boot
167 2. Build U-Boot
170 make -j8 O=b/chromebook_jerry CROSS_COMPILE=arm-linux-gnueabi- \
178 ./b/chromebook_jerry/tools/mkimage -f doc/chromium/chromebook_jerry.its \
179 u-boot-chromium.fit
181 vbutil_kernel --arch arm --keyblock doc/chromium/devkeys/kernel.keyblock \
182 --signprivate doc/chromium/devkeys/kernel_data_key.vbprivk \
183 --version 1 --config dummy.txt --vmlinuz u-boot-chromium.fit \
184 --bootloader dummy.txt --pack u-boot.kpart
194 do this, login as root (via Ctrl-Alt-forward_arrow) and type
197 Reboot the device with the SD card inserted. Press Clrl-U at the developer
200 U-Boot 2017.05-00649-g72acdbf-dirty (May 29 2017 - 14:57:05 -0600)
213 9. Notes
222 --------
224 Used to make a backup of your firmware, or to replace it.
226 See: https://www.chromium.org/chromium-os/packages/cros-flashrom
230 --------
232 Coreboot itself is not designed to actually boot an OS. Instead, a program
233 called Depthcharge is used. This originally came out of U-Boot and was then
235 include a very small part of the U-Boot command-line interface but is not
236 usable as a general-purpose boot loader.
238 In addition, it has a very unusual design in that it does not do device init
239 itself, but instead relies on coreboot. This is similar to (in U-Boot) having
240 a SPI driver with an empty probe() method, relying on whatever was set up
242 what settings are actually used. When chain-loading into U-Boot we must be
243 careful to reinit anything that U-Boot expects. If not, some peripherals (or
247 Finally, it supports only a subset of the U-Boot's FIT format. In particular
248 it uses a fixed address to load the FIT and does not support load/exec
249 addresses. This means that U-Boot must be able to boot from whatever
252 (see above) must start at the same address as U-Boot's CONFIG_SYS_TEXT_BASE.