summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJett Rink <jettrink@google.com>2023-04-24 21:42:03 +0000
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-04-26 17:57:22 +0000
commitc6a3ef53692a2d01bb5f359a6d2dde49fedbb85e (patch)
treed2ac20cba02739ca2f344a8afec2c56a84ae81d5
parent9aa7c4f2420cf21a2df9710494b39c5ca071505b (diff)
downloadchrome-ec-c6a3ef53692a2d01bb5f359a6d2dde49fedbb85e.tar.gz
doc/ccd: replace manual rescue image prep with pointer to brescue
Replace the existing instruction that help a developer manually prepare a cr50 image to be in the format that the rescue utility needs with a link to the brescue.sh utility which automates the process. BUG=b:275544927 TEST=none Change-Id: I75ea0453233212e3326e5038764432620e29a0ed Signed-off-by: Jett Rink <jettrink@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4470847 Commit-Queue: Jett Rink <jettrink@chromium.org> Tested-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r--docs/case_closed_debugging_cr50.md109
1 files changed, 2 insertions, 107 deletions
diff --git a/docs/case_closed_debugging_cr50.md b/docs/case_closed_debugging_cr50.md
index f6c2cc7071..22f40209b8 100644
--- a/docs/case_closed_debugging_cr50.md
+++ b/docs/case_closed_debugging_cr50.md
@@ -507,113 +507,8 @@ run.
When rescue mode is triggered, the RO is expecting the host to transfer a single
RW image in hex format.
-### Install the cr50-rescue utility
-
-The `cr50-rescue` utility is used to flash a given firmware to GSC using rescue
-mode. This tool must be installed inside the chroot.
-
-```bash
-(chroot) $ sudo emerge cr50-utils
-```
-
-### Preparing an RW image
-
-To prepare the signed hex RW image, fetch a released image from Google storage,
-which can be found by running either of the following commands:
-
-```bash
-(chroot) $ gsutil ls gs://chromeos-localmirror/distfiles/cr50*
-(chroot) $ gsutil ls gs://chromeos-localmirror/distfiles/ti50*
-```
-
-(depending on your setup you might have to do this inside chroot). Copy the
-image you want to use for rescue to your workstation and extract cr50.bin.prod
-or ti50.bin.prod from the tarball.
-
-The latest GSC images can be found in the [chromeos-cr50 ebuild] or the
-[chromeos-ti50 ebuild]. Generally, you should always use the PROD_IMAGE
-indicated in that file. Once rescued, the user can update to the PREPVT image
-later if needed.
-
-Once the binary image is ready, use the following commands to carve out the RW A
-section out of it and convert it into hex format:
-
-```bash
-(chroot) $ dd if=<cr50 bin file> of=cr50.rw.bin skip=16384 count=233472 bs=1
-objcopy -I binary -O ihex --change-addresses 0x44000 cr50.rw.bin cr50.rw.hex
-```
-
-then you can use `cr50.rw.hex` as the image passed to `cr50-rescue`.
-
-### Programming the RW image with rescue mode
-
-With servo_micro (or servo_v2 reworked for connecting to GSC console), run
-[`servod`] and disable Cr50 ec3po and UART timestamp:
-
-```bash
-(chroot) $ dut-control gsc_uart_timestamp:off dut-control gsc_ec3po_interp_connect:off
-```
-
-Get a raw Cr50 UART device path and use it for `cr50-rescue` argument `-d`
-below.
-
-```bash
-(chroot) $ dut-control raw_gsc_uart_pty
-```
-
-Prior to running `cr50-rescue`, the terminal from the GSC console UART must be
-disconnected, and GSC must be unpowered-- the system needs to have AC power and
-battery disconnected.
-
-After ensuring those steps, the rescue command may be run as follows:
-
-```bash
-(chroot) $ cr50-rescue -v -i <path to the signed hex RW image> -d <gsc console UART tty>
-```
-
-After starting the command, provide power to the board and rescue mode will
-start automatically. After flashing successfully (see sample output below), GSC
-must be unpowered again, by disconnecting AC power and battery.
-
-Note that `<gsc console UART tty>` above has to be a direct FTDI interface,
-`pty` devices created by [`servod`] do not work for this purpose. Use either
-servo-micro or a USB/UART cable. Note that multifunctional *SPI-UART/FTDI/USB
-cables might not work*, as they impose a significant delay in the UART stream,
-which makes the synchronization described below impossible.
-
-`cr50-rescue` starts listening on the console UART and printing it out to the
-terminal. When the target is reset, `cr50-rescue` detects the `Bldr |` string in
-the target output, at this point the utility intercepts the boot process and the
-target proceeds to receiving the new RW image and saving it into flash. Note the
-currently present RW and RW_B images will be wiped out first.
-
-#### Sample output
-
-```bash
-(chroot) $ cr50-rescue -v -i cr50.3.24.rw.hex -d /dev/pts/0
-
-low 00044000, high 0007cfff
-base 00044000, size 00039000
-..startAdr 00000000
-..maxAdr 0x0003d000
-..dropped to 0x0003a188
-..skipping from 0x00000000 to 0x00004000
-226 frames
-(waiting for "Bldr |")
-Havn2|00000000_000000@0
-exp ?36
-Himg =2CD687F2B1579ED1E85C7F35055550A63B9B146E2CAC808295C59F97849F08E7
-Hfss =184D83B3D89599C90E4852EF16F9FAEEEED07BC0AFDF1028136AA3C9F71D4F43
-Hinf =44D21600B3723BDB0DCB9E0891E9F7373FC1BDE69598C9D7F04B1ABEB70529BD
-exp ?40
-exp ?48
-exp ?67
-jump @00080400
-
-Bldr |(waiting for "oops?|")1527394
-retry|0
-oops?|0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.104.105.106.107.108.109.110.111.112.113.114.115.116.117.118.119.120.121.122.123.124.125.126.127.128.129.130.131.132.133.134.135.136.137.138.139.140.141.142.143.144.145.146.147.148.149.150.151.152.153.154.155.156.157.158.159.160.161.162.163.164.165.166.167.168.169.170.171.172.173.174.175.176.177.178.179.180.181.182.183.184.185.186.187.188.189.190.191.192.193.194.195.196.197.198.199.200.201.202.203.204.205.206.207.208.209.210.211.212.213.214.215.216.217.218.219.220.221.222.223.224.225.done!
-```
+Follow the [brescue](./gsc_without_servod.md#gsc-rescue) procedure to perform a
+GSC rescue.
## CCD Open Without Booting the Device {#ccd-open-no-boot}