http://fedoraproject.org/wiki/Architectures/ARM/Samsung_Chromebook_2012 The Samsung Chromebook differs from previous units by having a virtual developer switch, as opposed to a physical one. Entering developer mode can be summarized as pressing ESC and Refresh while pressing power (Recovery Mode), then pressing Ctrl-D to enter Recovery mode. A warning message will be presented. After that, the unit will reset to erase all persistent data, and will then be able to boot custom Operating Systems. Performed on a machine reporting itself as "Linux 3.4.0 #1 SMP Wed Feb 27 13:26:59 PST 2013 armv7l ARMv7 Processor rev 4 (v7l) SAMSUNG EXYOS5 (Flattened.. Get into developer mode 1. Hold down keys: esc + 'Refresh' (the 3rd key from the right of the 'Esc'), then press the power on button 2. At the recovery screen, press ctrl+d 3. A red warning icon will be displayed and the system will emit a couple of beeps. The system will then reset after a short while and begin transitioning into developer mode. It will take ten or more minutes to complete the preparations. A progress bar is visible at the very top of the screen. Once the preparations are complete, the system will reboot and present a warning that OS verficiation is disabled. The system will also emit a couple of beeps before booting into the initial setup screen where you can select the keyboard type and so on. 4. Select and login to a WiFi network. On the initial "Welcome!" setup screen, select your WiFi network and login with its password. You'll need a working network connection in order to back up the kernel modules and firmare. 5. On the initial setup screen, you can drop into a virtual console. - Press ctrl+alt+forward arrow (top of keyboard - what would be labeled 'F2' on any other keyboard) Login and get a shell: login: root No password is required. 6. Ensure that you have a working network connection: # ifconfig -a Interface mlan0 should show an IP address with which you're familiar (assuming that you know about your WiFi!) 6. Back up the files that we'll need later to another host. # cd / # tar -cf - /{boot,opt,etc/X11,usr/{lib/xorg/modules,share/{alsa,vboot}},/lib/{firmware,modules}} | ssh user@anotherhost 'xz -z9 > chromeos-backup.tar.xz' On your machine unpack the miniroot # chroot . # cd /var/log/packages # removepkg kernel* # cat << 'EOF' >> etc/fstab LABEL=rootfs / ext4 defaults 1 1 EOF cat << 'EOF' > /tmp/details cd /tmp echo "lsm.module_locking=0 console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait ro " > /tmp/config vbutil_kernel --pack /tmp/newkern --keyblock /usr/share/vboot/devkeys/kernel.keyblock\ --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \ --config /tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm dd if=/tmp/newkern of=/dev/mmcblk1p1 dd if=/tmp/newkern of=/dev/mmcblk1p2 crossystem dev_boot_usb=1 cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1 cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/mmcblk1 EOF # chromeos-firmwareupdate --mode=todev # exit mount /dev/sdb1 /mnt/hd cd /mnt/hd tar xf /mnt/prisroot/devel/armedslack/slackwarearm-devtools/minirootfs/roots/slack-current*z tar xf /mnt/prisroot/devel/armedslack/slackwarearm-devtools/chromebook/EXCLUDE/chromeos-backup.tar.xz -C. depmod -b. -va sed -i '/^s0:/d' etc/inittab cat << 'EOF' >> etc/fstab LABEL=rootfs / ext4 defaults 1 1 EOF cp -fav /mnt/prisroot/devel/armedslack/slackwarearm-devtools/chromebook/EXCLUDE/rc.inet1.conf etc/rc.d cp -fav /mnt/prisroot/devel/armedslack/slackwarearm-devtools/chromebook/EXCLUDE/wpa_supplicant.conf etc/ # Unpack the Xorg config files # (taken from http://craigerrington.com/blog/installing-arch-linux-with-xfce-on-the-samsung-arm-chromebook/) mkdir -vpm755 etc/X11/xorg.conf.d tar xvvf /mnt/prisroot/devel/armedslack/slackwarearm-devtools/chromebook/chromebook_xorgconfs.tar.xz -C. echo "lsm.module_locking=0 console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait ro " > /tmp/config vbutil_kernel --pack /tmp/newkern --keyblock /tmp/CI/usr/share/vboot/devkeys/kernel.keyblock\ --version 1 --signprivate /tmp/CI/usr/share/vboot/devkeys/kernel_data_key.vbprivk \ --config /tmp/config --vmlinuz /tmp/CI/boot/vmlinuz-3.4.0 --arch arm dd if=/tmp/newkern of=/dev/sdb1 dd if=/tmp/newkern of=/dev/sdb2 cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/sdb cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/sdb