User Tools

Site Tools


tech:c100p:x_lxde_debian

Linux: LXDE Debian 10 Buster for ASUS Chromebook "Flip" c100p

Steps to get Debian 10 “Buster” running on your c100p with a full LXDE Desktop! You can use the Console Environment image from this site if you want a barebones “console” experience and you are an advanced user. This image gets you to only the LXDE desktop. I have not added additional programs like LibreOffice etc. You can do that yourself with the trusty sudo apt-get install command.

Behold the LXDE Desktop in all its glory (Using plank for the dock, Papirus-Light for the icon theme)

Enable Developer Mode

Put the c100p in "Developer Mode" and “Enable booting from External Storage”

Download Image

You can download the ~1.28GB image here.

Write Image to SD Card

I use Balena Etcher (Windows, Linux, MacOS) to write the images to the SD-Card. I also use Win32DiskImager on Windows to read and write images. You can also use the good old “dd” command: dd bs=4M if=</path/to/img> of=</disk/device> if you are old school.

Note: The SD-Card MUST be 8GB or larger!!

Boot!

  • Put the SD Card into your c100p
  • Power on
  • Press <CTRL> U at the “OS verification is Off” screen
  • Yay! You should be booting LXDE Linux on the c100p!!!

Post Installation and Notes

  • Default hostname is asus-c100p
  • Default login: debian-user/debian-user
  • debian-user is uid:2000 gid:2000 (I like to leave uid=gid=1000 for myself)
  • debian-user is setup for sudo with “no password” in /etc/sudoers.d/debian-user. You can simply type “sudo su -” to become root
  • I have included the following scripts under the root user that may be helpful. Please run them in this order:
    • sudo su -
    • ./wifi.sh - This image uses networkmanager from the GUI. You don't really need wifi.sh A console Linux is pretty much useless unless you can get on the internet. This script will ask for an SSID and a Wifi password and get your c100p on your wifi from the console. Note this script sometimes takes longer to connect to wifi than the default 30s it waits. If for some reason you cannot connect to wifi you will need to wait a little longer. Just type ip a periodically until you see that the wlan0 interface has an IP address. This of course assumes that your dumb ass has typed in the correct SSID and and password.
    • ./expand-rootfs.sh - This script will expand the root filesystem from the installed 7GB size to take up the rest of the disk.
    • ./do-config.sh - Does some additional configuration:
      • Copies config files from /root/config to the correct places:
        • /etc/udev/rules.d/51-backlight-rules - Fixes udev for brightnessctl
        • /etc/modprobe.d/alsa.conf - gets sound working
        • /usr/share/X11/xkb/symbols/pc - attempts to enable the top row Chromebook media keys. See /root/config/pc.orig for the original keymap
      • Reconfigures the openssh server keys from the default installed image.
      • Rebuilds the shared-mime-info
    • ./pkg-hist.sh - This script lists any packages you have installed manually. At install and boot it will show nothing since you have installed no packages.
  • At this point:
    • Create a new user
    • After logging in as your new user, delete debian-user
    • Set a root password
    • sudo apt update && sudo apt upgrade
    • Go nuts installing packages!!
    • After installing some packages - Maybe eject your SD Card and take a backup of your SD Card image using something like Win32DiskImager

LXDE GUI Specific Notes

  • Peripheral Functionality
    • What Works
      • Wifi
      • Keyboard
      • Touch Screen (Long press right-click does not work)
      • Sound
      • Multitouch mouse
      • Camera (Tested with Cheese)
      • Backlight brightness
    • What does not Work
      • Suspend/Hibernate
  • Using Themes
    • Widgets - PiXFlat
    • Mouse - PixFlat
    • Window Border - PiXFlat
    • Icons - Papirus-Light
  • Desktop
    • No Wallpaper. Using RGB = 757575
  • Screensaver
    • Blank Screen
  • Digital Clock Settings
    • %D %R (you can man strftime to change this)
  • LXDE Menu icon in Panel
    • Old: /usr/share/lxde/images/lxde-icon.png
    • New: /usr/share/icons/Adwaita/24×24/actions/open-menu-symbolic.symbolic.png
  • Session Startup
    • Autostart ClipIt
    • Configured Desktop to autostart plank
      • Menu → Preferences → Default Applications for LXsession
      • Autostart
      • @plank
      • <+ Add>
  • Changed font sizes (my old eyes)
    • All Size 10 became 12
    • All size 8 became 10
    • Basically added +2 to default font sizes.
    • LXterminal font size set to 14
  • Map Keyboard Keys in /usr/share/X11/xkb/pc
    • Pressing SHIFT Arrow keys emulates Home, End, PgUp, PgDown
    • <Backspace> maps to both Backspace and Delete
    • Pressing <CTRL><ALT><Multimedia Key> emulates the function keys (F1 to F10)
    • Search Key is mapped to <SUPER> (Windows key or Command key on a Mac)
  • Multimedia keys
    • <FK01> XF86Back
    • <FK02> XF86Forward
    • <FK03> XF86Refresh
    • <FK04> Print
    • <FK05> Super_L
    • <FK06> XF86MonBrightnessDown
    • <FK07> XF86MonBrightnessUp
    • <FK08> XF86AudioMute
    • <FK09> XF86AudioLowerVolume
    • <FK10> XF86AudioRaiseVolume
  • Map Keys in lxhotkey
    • brightnessctl s +5% XF86MonBrightNessUp
    • brightnessctl s 5%- XF86MonBrightNessDown

LXDE GUI Buildout

I started with the Debian Console Image. The steps below got me to the Default Debian LXDE Gui:

# Package install
sudo apt -y install xserver-xorg-video-fbdev xserver-xorg-input-libinput   \
       xserver-xorg-input-synaptics xfonts-terminus xinput lxde chromium   \
       chromium-l10n chromium-shell chromium-driver plank alacarte vlc     \
       ntp network-manager-gnome network-manager-openvpn-gnome default-jdk \
       rclone papirus-icon-theme cheese brightnessctl
# Package removal
apt -y remove firefox-esr deluge wicd mpv lxmusic yelp yelp-xsl
sudo rm /etc/xdg/autostart/wicd-tray.desktop
sudo rm /etc/xdg/autostart/geoclue-demo-agent.desktop
# Disable ssh server
sudo systemctl disable ssh
# Disabled plymouth so that X would boot and not go into a bootloop
sudo systemctl disable plymouth
#Copied in extra themes (pinched from Raspbian):
#  /usr/share/icons/PiX*
#  /usr/share/themes/PiX*
#Edited /etc/network/interfaces and commented out eth0 stanza
tech/c100p/x_lxde_debian.txt · Last modified: 2021/12/25 17:13 (external edit)