After @mikeal and @lyle purchased Chromebooks for kids activities at NodeConf 2014, I was very impressed with the device and decided to explore this as a laptop and hacking device for my kids (7 & 8). I'd love to retain the simplicity of the web-focused ChromeOS experience while letting my kids hack on NodeBots and learn how to program.
It seems like the platforms that ChromeOS runs on are quite diverse. The Samsung 303C hit the right balance of being an aesthetically pleasing looking device, having respectable build quality and the amazing $250 price point. The 303C has an ARM processor. Not all Chromebooks do. I'm writing the below step-by-step very specifically for this system.
I found the following useful and, in aggregate, they all helped get me to where I ended up. 🎉
$ node -v
v0.10.26
- Samsung Series 3 Chromebook 303C Developer Mode (root)
- Node and NPM on Chromebook (Chrome OS) - Interesting, but did not work.
- Poking around your Chrome OS Device
- Remove RootFS Verification & make Read/Write
- Create a recovery disk. (I did this, though I may never go back.)
- Enter Recovery mode
ESC-Refresh-Power
- Enter Dev-mode (developer mode)
Ctrl-D
- Open a terminal ("crosh")
Ctrl-Alt-t
- Invoke the shell
$ shell
- Switch to root
$ sudo su
- Remove rootfs verification and reboot
$ ./usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 4
$ reboot
- Make rootfs writeable. (Note that this needs to be done on every reboot. I chose to setup that
rw
script.)sudo mount -o remount,rw /
sudo mount -o remount,exec /mnt/stateful_partition
sudo mount -i -o remount,exec /home/chronos/user
- Download Node cross-compiled for Arm
- Open archive
$ cd /home/chronos/user/Downloads/
$ tar -xvf node-v0.10.26-linux-arm-pi.tar.gz
- Install node
$ cd ./node-v0.10.26/bin/
$ cp node /usr/bin
- Install npm
$ curl -L https://npmjs.org/install.sh | sh
- Trying to install the included npm failed. The above "old fashioned way" worked perfectly.
Did this work for you? Please leave a note below. If you ended up doing anything different, please fork and add those steps.
@maheshDe: @davglass suggested... https://twitter.com/davglass/status/827658285281136642