HCL:ARMChromebook

Jump to: navigation, search
Samsung Chromebook XE303 aka "Snow"

The Samsung Chromebook is a notebook built for Google's Chrome OS. This page refers to Samsung's Chromebook Model XE303C12-A01/-H01 aka "Snow", which is available for purchase since October 2012.

In order to avoid confusion, it should be mentioned that there are at least two other ARM-based Samsung Chromebooks: The Chromebook 2 (Model XE503 aka "Peach", based on the Exynos 5420/5800 SoC) and the Chromebook Plus (Model XE513, based on the "OP1" SoC, which is otherwise known as Rockchip RK3399). These models are not subject of this page.

Technical data

  • Samsung Exynos 5250 dual core CPU 1.7GHz
  • ARM Mali-T604 GPU
  • 11.6’’ (1366x768) TN display
  • 2 GB RAM
  • 16 GB eMMC
  • SPI flash (for the boot)
  • Built-in dual band Wi-Fi 802.11 a/b/g/n
  • Bluetooth 3.0 compatible
  • VGA Camera (UVC device)
  • Cypress APA I2C Trackpad
  • 1x USB 3.0, 1x USB 2.0
  • External SD card slot (SD/SDHC/SDXC)
  • HDMI Port
  • DAISY-I2S sound card
  • Stereo Speaker (1.5W x 2)
  • Internal microphone
  • External headphone/microphone combo jack 3.5mm
  • External SIM card slot (-H01 model only, -A01 model has a dummy instead)
  • 0.7 inches / 18 mm thin – 2.42 lbs / 1.1 kg weight
  • 4080 mAh 2-cell LiPo battery, providing over 6.5 hours of battery life

Before installing an openSUSE image

Todo once:

  • Put your Chromebook into developer mode.
  • Open a root shell: login to ChromeOS, open crosh with 'ctrl-alt-t', start a real shell with 'shell', become root with 'sudo -i'.
  • Enable USB/SD booting by running the following command as root from ChromeOS.
    # crossystem dev_boot_usb=1

Todo at each boot:

  • Once SD card is inserted in the Chromebook, power-up and in order to boot from external storage, press Ctrl-U (If you don't, the device will boot into ChromeOS in developer mode again after 30 sec, press Ctrl-D to enter ChromeOS immediately).

Writing a disk image to the SD card

  1. Download the image you want (Leap is stable, Tumbleweed is rolling) from here:
    Geeko-white.png
    Tumbleweed
    JeOS image E20 image XFCE image LXQT image GNOME image KDE image X11 image

    If the direct links above do not work for you, please check the general download directory for the images.


    Geeko-white.png
    Leap-15.3
    JeOS image E20 image XFCE image LXQT image GNOME image KDE image X11 image

    If the direct links above do not work for you, please check the general download directory for the images.

  2. As root extract the image onto your SD card (replace sdX with the device name of your SD card).
    WARNING: all previous data on the SD card will be lost. Check first if the device you have selected is really your SD card!
     xzcat [image].raw.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct; sync
  3. Insert the SD card with the openSUSE image into your board.
  4. Connect the board to your PC via serial port (optional, but helpful for debugging; USB-TTL serial cable needed).
  5. Connect the board to your monitor (via DVI/HDMI, optional).
  6. Power on the board.
  7. Walk through the first boot steps.
  8. Ethernet is configured to request an IP via DHCP, check your DHCP server for the board IP if used.
  9. Have a lot of fun...
Default login is root:linux, works on serial console, via ssh, GUI.

Writing an image from ChromeOS (to an SD card)

This can be done directly on the Chromebook by using the Chrome Shell. To get to the Chrome Shell just press ctrl-alt-t when logged into ChromeOS. Once in the Chrome shell, type 'shell' to get into a bash shell. You need to be root, so do a 'sudo su -' and be careful. You will find the image in the users Download directory of /home/user/*/Downloads. Make sure to have your memory card inserted into your Chromebook and the appropriate filesystems unmounted first. The device entry should be /dev/mmcblk1 for an SD Card, but verify first.

Writing a disk image to the internal eMMC

Icon-warning.png
Warning: This will erase ChromeOS from your system and will probably void you warranty! If unsure, just use the boot on external storage.

You must follow the previous steps to boot from an SD card. Then, please follow this generic guide: openSUSE:Install_to_internal_memory

In short, once booted from this SD card, you must copy the raw image file (*.raw.xz file used previously to create the bootable SD card) to the eMMC storage with the following command:

 xzcat [image].raw.xz | dd bs=4M of=/dev/mmcblk0 iflag=fullblock oflag=direct; sync
mmcblk0 is internal eMMC and mmcblk1 is the external SD/MMC slot.
Icon-warning.png
Warning: Do not re-enable OS verification on boot screen as you will not be able to disable it anymore (since ChromeOS is erased) and you may not be able to boot anymore. You can use ctrl-d to boot directly to eMMC or ctrl-u to boot on external media: SD or USB, or wait the timeout to boot automatically to eMMC.

Known issues

SD/USB booting disabled after battery empty

If the battery of your Chromebook discharged completely, you may loose your developer mode and thus, you are unable to boot from USB or SD card. Basically, using ctrl-U will fail and you will hear 2 beeps.

To fix this, please follow this guide: https://dev.chromium.org/chromium-os/developer-information-for-chrome-os-devices/workaround-for-battery-discharge-in-dev-mode

It will allow you to create a recovery USB key with linux_recovery.sh script and then we modify the installation script on this USB stick to run our own script to get the developper mode back.

Misc

  • All versions:
    • Xorg is not accelerated yet
    • USB3 have problems (usb usb3-port1: connect-debounce failed)
    • Webcam is not detected on USB (should be a Silicon Motion WebCam SC-03FFM12339N USB ID (2232:1037) 0.3 Mpixels)
    • RTC device appears too late on init, so once connected to Internet, date is set and screenlock lock the screen (See boo#1130480)

Helpful hints

  • The touchpad uses the Xorg synaptics driver
  • In order to enable sound:
    • Start "Audio Mixer" from the XFCE "Settings Manager" (alternatively, start alsamixer in a terminal), unmute sound and check/unmute the following switches:
      • "Left Speaker Mixer Left DAC1"
      • "Left Speaker Mixer Mono DAC2"
      • "Left Speaker Mixer Mono DAC3"
      • "Left Speaker Mixer Right DAC1"
      • "Right Speaker Mixer Left DAC1"
      • "Right Speaker Mixer Mono DAC2"
      • "Right Speaker Mixer Mono DAC3"
      • "Right Speaker Mixer Right DAC1"
    • Add your user to the "audio" group.
    • Start experimenting with low volumes!
    • To save the configuration and restore it on boot, run sudo alsactl store in a terminal
  • Packman has ARM packages for openSUSE. Please follow instructions on Additional_package_repositories#Packman

Further notes