Dobrica Pavlinušić's random unstructured stuff
Chromebook: Revision 12
* https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook
I have two chromebooks, one is working and one is bricked ^ Samsung ARM Chromebook (working) .pre localhost ~ # cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 48.00 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc0f CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 48.00 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc0f CPU revision : 4 Hardware : SAMSUNG EXYNOS5 (Flattened Device Tree) Revision : 0000 Serial : 0000000000000000 localhost ~ # flashrom --flash-name flashrom v0.9.4 : 244249c : Dec 09 2016 03:49:59 UTC on Linux 3.8.11 (armv7l) flashrom v0.9.4 : 244249c : Dec 09 2016 03:49:59 UTC on Linux 3.8.11 (armv7l) vendor="Winbond" name="W25Q32DW" localhost ~ # flashrom --get-size 4194304 localhost ~ # flashrom --wp-status WP: status: 0x00b8 WP: status.srp0: 1 WP: status.srp1: 0 WP: write protect is enabled. WP: write protect range: start=0x00000000, len=0x00200000 localhost Downloads # flashrom -r chromebook-spi.rom Block protection could not be disabled! Reading flash... SUCCESS .pre ^ bricked, recovery doesn't help This chromebook reports that it wants to do recovery, but inserting (few different) usb sticks generated using http://www.google.com/chromeos/recovery instructions doesn't help https://dl.google.com/dl/edgedl/chromeos/recovery/linux_recovery.sh ^ arch https://wiki.archlinux.org/index.php/Samsung_Chromebook_(ARM) .pre setenv bootargs root=/dev/mmcblk1p2 rootfstype=jfs rootwait rw mmc dev 1 ext2load mmc 1:1 42000000 vmlinux.uimg bootm 42000000 .pre ^ custom firmware * https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/custom-firmware * http://selinuxproject.org/~jmorris/lss2013_slides/safford_chromebook_takeown.pdf * https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook .pre dpavlin@nuc:/nuc/books/Chromebook$ wget http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/nv_uboot-snow.kpart.bz2 --2017-01-19 19:05:28-- http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/nv_uboot-snow.kpart.bz2 Resolving commondatastorage.googleapis.com (commondatastorage.googleapis.com)... 216.58.206.16, 2a00:1450:4001:820::2010 Connecting to commondatastorage.googleapis.com (commondatastorage.googleapis.com)|216.58.206.16|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 281844 (275K) [application/octet-stream] Saving to: ‘nv_uboot-snow.kpart.bz2’ nv_uboot-snow.kpart.bz2 100%[================================================>] 275.24K 1.37MB/s in 0.2s 2017-01-19 19:05:28 (1.37 MB/s) - ‘nv_uboot-snow.kpart.bz2’ saved [281844/281844] .pre * https://blogs.s-osg.org/use-mainline-u-boot-non-signed-kernels-exynos-chromebooks/ ^ flash using raspberry pi unplug battery before attempting this! rpi3 can power flash memory .pre # backup root@rpi3:/home/pi/flashrom-0.9.9# ./flashrom -p linux_spi:dev=/dev/spidev0.0 -r chromeboot-bricked.rom flashrom v0.9.9-r1955 on Linux 4.4.27-v7+ (armv7l) flashrom is free software, get the source code at https://flashrom.org Calibrating delay loop... OK. Found GigaDevice flash chip "GD25LQ32" (4096 kB, SPI) on linux_spi. Unsetting lock bit(s) failed. Reading flash... done. # flash version from another chromebook root@rpi3:/home/pi# time ./flashrom-0.9.9/flashrom -p linux_spi:dev=/dev/spidev0.0 -w chromebook-spi.rom flashrom v0.9.9-r1955 on Linux 4.4.27-v7+ (armv7l) flashrom is free software, get the source code at https://flashrom.org Calibrating delay loop... OK. Found GigaDevice flash chip "GD25LQ32" (4096 kB, SPI) on linux_spi. Unsetting lock bit(s) failed. Reading old flash chip contents... .pre |