ALARM on Samsung ARM Chromebook

Install Arch Linux ARM on other devices.

Re: ALARM on Samsung ARM Chromebook

Postby archmore » Tue Apr 09, 2013 12:31 pm

Impressive stuff.

Is there a way to bypass the Ctrl+D unverified os warning screen. Google's OS boots super fast anyone else's Linux OS is Guaranteed a slower boot thanks to these unnecessary prompts. Has anyone successfully flashed a different firmware to fix this?
archmore
 
Posts: 3
Joined: Tue Apr 09, 2013 11:57 am

Re: ALARM on Samsung ARM Chromebook

Postby recusant » Mon Apr 15, 2013 3:20 am

$this->bbcode_second_pass_quote('archmore', 'I')mpressive stuff.

Is there a way to bypass the Ctrl+D unverified os warning screen. Google's OS boots super fast anyone else's Linux OS is Guaranteed a slower boot thanks to these unnecessary prompts. Has anyone successfully flashed a different firmware to fix this?


Yes, flashing nv-u-boot to the SPI flash completely removes the Ctrl+D warning screen. You can then set up u-boot to boot linux from SD card, USB, or eMMC. You can even wipe and repartition your internal eMMC storage to a more standard layout if you don't want to use Chrome OS anymore.

I can confirm that the nv-u-boot image that strata provided works (see post here). Strata's instructions also work, but step 8 has a small typo, it should be:

flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin

Not:

flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin.gz

You don't want to flash the compressed image! Gunzip by default deletes 'nv_image-snow.bin.gz' after decompressing to 'nv_image-snow.bin' so the command would just not work rather than breaking anything. Still, be careful, flashing the wrong image will brick your Chromebook (unless you are comfortable with soldering tiny surface mount parts).
recusant
 
Posts: 3
Joined: Mon Apr 08, 2013 12:52 am

Re: ALARM on Samsung ARM Chromebook

Postby archmore » Wed May 01, 2013 7:26 pm

$this->bbcode_second_pass_quote('recusant', '')$this->bbcode_second_pass_quote('archmore', 'I')mpressive stuff.

Is there a way to bypass the Ctrl+D unverified os warning screen. Google's OS boots super fast anyone else's Linux OS is Guaranteed a slower boot thanks to these unnecessary prompts. Has anyone successfully flashed a different firmware to fix this?


Yes, flashing nv-u-boot to the SPI flash completely removes the Ctrl+D warning screen. You can then set up u-boot to boot linux from SD card, USB, or eMMC. You can even wipe and repartition your internal eMMC storage to a more standard layout if you don't want to use Chrome OS anymore.

I can confirm that the nv-u-boot image that strata provided works (see post here). Strata's instructions also work, but step 8 has a small typo, it should be:

flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin

Not:

flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin.gz

You don't want to flash the compressed image! Gunzip by default deletes 'nv_image-snow.bin.gz' after decompressing to 'nv_image-snow.bin' so the command would just not work rather than breaking anything. Still, be careful, flashing the wrong image will brick your Chromebook (unless you are comfortable with soldering tiny surface mount parts).


Thanks. Sadly the directions aren't very clear. Especially at the part where it is opened up. Says something about a ring? What is being achieved there?
archmore
 
Posts: 3
Joined: Tue Apr 09, 2013 11:57 am
Top

Re: ALARM on Samsung ARM Chromebook

Postby recusant » Thu May 02, 2013 3:41 pm

$this->bbcode_second_pass_quote('archmore', '
')Thanks. Sadly the directions aren't very clear. Especially at the part where it is opened up. Says something about a ring? What is being achieved there?


Disassembly instructions can be found at the bottom of the page at:
http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook

There is also a nice labelled picture with the write protect screw hole shown on that page. When you first open your Chromebook there will be a metallic ring shaped sticker stuck to the circuit board around the screw hole. Removing this sticker disables the hardware write protection on the SPI flash chip that contains the firmware (the SPI flash chip is the 8 pin chip between the USB and HDMI connectors on the processor side of the board).

So basically removing the sticker allows you to overwrite the factory firmware (which is responsible for verified boot and the Ctrl+D warning screen) with whatever you want. It also allows you to brick your machine quite easily (which is probably why it is hard to get to).
recusant
 
Posts: 3
Joined: Mon Apr 08, 2013 12:52 am
Top

Re: ALARM on Samsung ARM Chromebook

Postby archmore » Thu May 02, 2013 5:43 pm

$this->bbcode_second_pass_quote('recusant', '')$this->bbcode_second_pass_quote('archmore', '
')Thanks. Sadly the directions aren't very clear. Especially at the part where it is opened up. Says something about a ring? What is being achieved there?


Disassembly instructions can be found at the bottom of the page at:
http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook

There is also a nice labelled picture with the write protect screw hole shown on that page. When you first open your Chromebook there will be a metallic ring shaped sticker stuck to the circuit board around the screw hole. Removing this sticker disables the hardware write protection on the SPI flash chip that contains the firmware (the SPI flash chip is the 8 pin chip between the USB and HDMI connectors on the processor side of the board).

So basically removing the sticker allows you to overwrite the factory firmware (which is responsible for verified boot and the Ctrl+D warning screen) with whatever you want. It also allows you to brick your machine quite easily (which is probably why it is hard to get to).

Thank you for clearing that up. :) I wish Google had a simple way of disabling their silly warning screen from boot.
archmore
 
Posts: 3
Joined: Tue Apr 09, 2013 11:57 am
Top

Re: ALARM on Samsung ARM Chromebook

Postby jacobopantoja » Fri May 03, 2013 7:13 pm

I added some explicit stuff about the ring in the iFixit teardown instructions.

http://www.ifixit.com/Teardown/Samsung+ ... 5/2#s45950

Please note as well that the disassembly instructions on the google page are not very accurate, and you can end with a couple of "plastic clicks" broken if you follow them. I recommend you to follow the instructions in the iFixit teardown!
jacobopantoja
 
Posts: 8
Joined: Sun Apr 14, 2013 9:38 pm

Re: ALARM on Samsung ARM Chromebook

Postby EMKLI » Sat May 18, 2013 10:49 am

Hey everyone!

How can I resize the rootfs partition on the SD-card? I followed the instructions given on the Chromebook installation page here and got an almost 8gig partition which i want to resize to fill out all the space on my SD card. So i put the SD card into my main computer and run gParted, which complaint that the "backup GPT table is not at the end of the disk". Following the proposal to fix this issue, i ruined the installation (ARCH wasn't recognized anymore when hitting CTRL+U on the chromebook) and had to start again.

Sorry if this had already been asked, but i didn't found anything related so far.

Greetings,
Markus
EMKLI
 
Posts: 11
Joined: Sun Apr 21, 2013 9:43 am

Re: ALARM on Samsung ARM Chromebook

Postby ivanjan » Sat May 18, 2013 11:09 am

Hello all,

Good stuff on this thread!
I have done the following steps:
- removed the metallic ring-shaped sticker
- installed arch on sd card, booted on it.
- Installed both flashroom-google and flashrom (is flashroom-google a typo?)
- tried to flash with both flashrom (as instructed) and with flashrom.google that was installed by flashroom-google

$this->bbcode_second_pass_code('', 'flashrom -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin
flashrom v0.9.6.1-r1564 on Linux 3.4.0 (armv7l)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on linux_spi.
===
This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Read is not working on this chip. Aborting.')

and

$this->bbcode_second_pass_code('', 'flashrom.google -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin
flashrom v0.9.4 : 6a1618f : Jan 17 2013 23:42:16 UTC on Linux 3.4.0 (armv7l), built with libpci 3.1.10, GCC 4.7.2, little endian
Block protection could not be disabled!
Erasing and writing flash chip... ERASE FAILED at 0x00000000! Expected=0xff, Read=0xa3, failed byte count from 0x00000000-0x00000fff: 0xfab
ERASE FAILED!
Reading current flash chip contents... ERASE FAILED at 0x00000000! Expected=0xff, Read=0xa3, failed byte count from 0x00000000-0x00007fff: 0x7d08
ERASE FAILED!
Reading current flash chip contents... ERASE FAILED at 0x00000000! Expected=0xff, Read=0xa3, failed byte count from 0x00000000-0x0000ffff: 0xfa9b
ERASE FAILED!
Reading current flash chip contents... ERASE FAILED at 0x00000000! Expected=0xff, Read=0xa3, failed byte count from 0x00000000-0x003fffff: 0x3deeb7
ERASE FAILED!
Reading current flash chip contents... ERASE FAILED at 0x00000000! Expected=0xff, Read=0xa3, failed byte count from 0x00000000-0x003fffff: 0x3deeb7
ERASE FAILED!
FAILED!
Uh oh. Erase/write failed. Checking if anything changed.
Good. It seems nothing was changed.
Writing to the flash chip apparently didn't do anything.
This means we have to add special support for your board, programmer or flash chip.
Please report this on IRC at irc.freenode.net (channel #flashrom) or
mail flashrom@flashrom.org!
-------------------------------------------------------------------------------
You may now reboot or simply leave the machine running.
FAILED')

Now, is it possible that somehow protection is not removed, the ring is gone, but there still is the screw there?


Also,
My screen is cracked badly, and not usable at all. I have removed it, but the board still "thinks" it is there, does not switch to HDMI as primary.
I cannot see the boot screen, just blindly pressing CTRL+U, and when arch starts booting I can see the screen (in text mode).
Interestingly, I can see it only on my TV, but not on both of my monitors through HDMI. I guess the resolutions are not supported.
Anyhow, is there any way to make the board detect that there is no internal LCD attached, so it switches to HDMI as primary, and allow me to see the initial screen after turning on the device?
If not maybe there is a way to do it in OS, so I can at least use it on my TV? BTW, mirroring did not work on chrome OS because of resolution not matching.

Thanks!
ivanjan
 
Posts: 8
Joined: Sat May 18, 2013 10:31 am

Re: ALARM on Samsung ARM Chromebook

Postby relghuar » Sat May 18, 2013 5:04 pm

$this->bbcode_second_pass_quote('', 'I') cannot see the boot screen, just blindly pressing CTRL+U, and when arch starts booting I can see the screen (in text mode).

I honestly don't think you can do much about Ctrl+U on HDMI unless you want to start hacking u-boot and flashing internal chromebook serial rom. That Ctrl+U/Ctrl+D prompt is part of bootloader stored in the most protected part of on-board serial flash chip - the one you've actually already unprotected (or should have) by removing the screw and ring. However I'm really not sure even flashing custom u-boot would be enough to get HDMI output working without some very serious tweaking in the source code. I might be wrong, I never tried to customize video output from u-boot, usually my best friend on that level is a serial console :-)

$this->bbcode_second_pass_quote('', 'I')nterestingly, I can see it only on my TV, but not on both of my monitors through HDMI. I guess the resolutions are not supported.
Anyhow, is there any way to make the board detect that there is no internal LCD attached, so it switches to HDMI as primary, and allow me to see the initial screen after turning on the device?
If not maybe there is a way to do it in OS, so I can at least use it on my TV? BTW, mirroring did not work on chrome OS because of resolution not matching.

Detecting HDMI display is a tricky business even on much more hacking-friendly devices, like raspberry-pi for example (or motorola lapdock with anything else than a motorola phone). Usually the only way to get it working correctly with non-hd displays is forcing HDMI on regardless of autodetect with manually configured parameters like resolution and refresh rate. Raspberry-pi has a pretty convenient way to do that in GPU firmware configuration, but I never even tried to connect my chromebook to external display, so there's not much I can say about that. Most likely some tweaking of kernel video driver, perhaps through /sys/class/drm/card0-HDMI-A-1?
relghuar
 
Posts: 18
Joined: Sun Nov 18, 2012 3:51 pm
Top

Re: ALARM on Samsung ARM Chromebook

Postby ivanjan » Sun May 19, 2013 6:31 am

Thanks relghuar!

I have reopened my samsung chromebook and cleaned around the removed metal circle that I have previously removed, and left the bottom plate open.
Then booted in arch from external MMC, and managed to flash the rom with:
$this->bbcode_second_pass_code('', 'flashrom.google -p linux_spi:dev=/dev/spidev1.0 -w nv_image-snow.bin')
ivanjan
 
Posts: 8
Joined: Sat May 18, 2013 10:31 am

PreviousNext

Return to [Please read announcement] Community-Supported Devices

Who is online

Users browsing this forum: No registered users and 27 guests