Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save DrDeviant/c99c5d1b25da63816bb216dddd20e175 to your computer and use it in GitHub Desktop.
Save DrDeviant/c99c5d1b25da63816bb216dddd20e175 to your computer and use it in GitHub Desktop.
Antergos Installation on Acer Chromebook 14 CB3-431 (Edgar)
Acer Chromebook 14 CB3-431 (Edgar)
Installing Antergos (17.10) [https://antergos.com/]
1. Flash stock RW_LEGACY firmware using MrChromebox's script [https://mrchromebox.tech/#bootmodes] though John Lewis's should work as well [https://johnlewis.ie/custom-chromebook-firmware/rom-download/].
a. Enable development mode by holding Esc + F3 (refresh) when booting. Once at recovery mode screen (with the yellow exclamation mark) press Ctrl + d and confirm.
b. Boot into ChromeOS (skip the warning screen with Ctrl + d). Connect to wifi and open up developer shell with Ctrl + Alt + F2 (forward). Login with user chronos.
c. Obtain and run the script with the commands on the website (cd; curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh).
d. Choose option 1 and follow instructions to update firmware.
2. Boot into a bootable USB with Antergos [Reference: https://askubuntu.com/questions/47522/how-to-bypass-try-it-install-screen-when-booting-from-usb-live-session-wit].
a. Create a bootable USB (preferably in a manner that leaves it writable, [https://rufus.akeo.ie/])
b. Power on the Chromebook. When reaching the warning screen enter SeaBIOS by pressing Ctrl + l.
c. There may an "error setting up gfxboot". In this case, reference the following instructions.
i. (On a separate computer), mount the bootable USB.
ii. Go into the file isolinux/isolinux.cfg. It is advisable to make a backup of it first.
iii. Remove everything except the entry for "start" and append "default start" to the beginning of the file.
iv. Save and go through 2a - 2b again.
d. Boot into the USB be pressing Esc for boot menu and selecting your removable drive.
3. Install Antergos. (You will likely be unable to use the internal keyboard and trackpad. Use a port splitter, unifying keyboard, or swap keyboard and mouse when needed).
a. Follow install instructions. Recommendations:
i. Delete partition 1 of emmc (largest partition, houses chromeos). Make a 4 GB swap partition and the remaining as the partition for Antergos.
ii. Choose a light desktop environment (openbox or such, some post installation instructions following may not work in environments other than openbox).
iii. Check the option for AUR client (which will install yaourt) or install a different client later (I use pacaur).
b. When finished, reboot into internal partition.
c. There may be errors regarding UUID devices not found. If so try remaking the GRUB config. [Note: you may have to do additional steps. I'm confused myself about what I did exactly...]
i. Boot into a live USB (if GNOME's desktop environment is too lethargic, you can try using a different distro such as Archbang).
ii. Mount your boot partition. In shell, "mkdir /mnt/antergos", "mount /dev/mmcblk0px" where is is the partition number of your boot drive.
iii. Chroot into boot partition. "arch-chroot /mnt/antergos". [Reference: https://wiki.archlinux.org/index.php/change_root].
iv. Remake GRUB config with "grub-mkconfig -o /boot/grub/grub.cfg".
4. Post Installation (at this point internal keyboard and trackpad are still not working, however you have two USB slots).
a. Fix the trackpad [Reference: https://wiki.archlinux.org/index.php/Acer_Chromebook_14_CB3-431_(Edgar)#Trackpad].
i. Add block 1 to "/etc/X11/xorg.conf" (create file if you must). Alternatively place it into a file in "/etc/X11/xorg.conf.d".
ii. Add block 2 to "/etc/udev/hwdb.d/99-touchpad-pressure.hwdb" (create file if you must, naming is not stringent).
iii. Restart XServer (reboot is fine).
b. Fix the keyboard and... other issues.
i. Download, compile, and install the GalliumOS patched kernel from AUR "yaourt linux-galliumos linux-galliumos-headers", "pacaur -S linux-galliumos linux-galliumos-headers", or similar with a different AUR client. This will probably take around three or so hours to complete. [Tip: if you finish building, but somehow fail to install, don't bother rebuilding. You should be able to directly install].
ii. Move "/boot/vmlinuz-linux", "/boot/initramfs-linux.img", and "/boot/initramfs-linux.img" to a separate directory or delete them. You should be left with the GalliumOS versions of them (and other files). Rebuild GRUB config. "grub-mkconfig -o /boot/grub/grub.cfg".
c. Fix keyboard hotkeys.
i. Install xkeyboard-config-chromebook from AUR. If this doesn't work due to unknown public key, add the key to your keyring with the following instructions. [Reference: https://bbs.archlinux.org/viewtopic.php?id=191629].
1. Visit "http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xX" where X is the key that is the unkown public key. Copy the contents and save it in a file.
2. Run "gpg --import FILE" where FILE is the path to the file and run "gpg --list-keys" to make sure it worked.
d. Fix audio. [Note: Personally I do not have a concise solution for audio. The solutions below should work to some degree, however they likely will require tuning.]
i. Install galliumos-braswell-config from AUR with the --force parameter or...
ii. Run the commands in block 3a. [Reference: https://forum.manjaro.org/t/manjaro-kde-17-0-2-acer-chromebook-14-cb3-431/24490].
1. You may also have to run some / all of block 3b [Reference: https://github.com/GalliumOS/galliumos-distro/issues/318]. Make sure to backup any files that may be overwritten.
5. Additional Enhancements.
a. Fix backlight. If backlight keys don't work, likely adding block 4 to "/etc/X11/xorg.conf" will fix it. Make sure "xf86-video-intel" is installed. [Reference: https://wiki.archlinux.org/index.php/backlight#xbacklight].
b. Fix places and recent files in menu. If you are receiving error message about failing to execute when hovering places and recent files in the openbox menu, make sure the scripts in "~/.config/openbox/pipemenus" are executable.
c. Make GRUB take up the full screen by changing in "/etc/default/grub" "GRUB_GFXMODE=auto" to "GRUB_GFXMODE=1024x768x32". Remake GRUB config "grub-mkconfig -o /boot/grub/grub.cfg".
# Block 1
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "FingerLow" "1"
Option "FingerHigh" "5"
EndSection
# Block 2
libinput:name:*Elan Touchpad:dmi:*svnGOOGLE:*pnEdgar*
LIBINPUT_ATTR_PRESSURE_RANGE=1:15
# Block 3a
git clone https://github.com/GalliumOS/galliumos-braswell
cd galliumos-braswell/
diff -u /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf > analog-output-headphones.conf.patch
patch /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf analog-output-headphones.conf.patch
diff -u /usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf > analog-output-speaker.conf.patch
patch /usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf analog-output-speaker.conf.patch
diff -u /etc/pulse/default.pa etc/pulse/default.pa > default.pa.patch
patch /etc/pulse/default.pa default.pa.patch
# Block 3b
sudo pacman -S acpid
cp etc/acpi/jack.sh /etc/acpi
cp etc/acpi/events/jack /etc/acpi/events
chmod a+x /etc/acpi/jack.sh
chmod a+x /etc/acpi/events/jack
# Block 4
Section "Device"
Identifier "Card0"
Driver "intel"
Option "Backlight" "intel_backlight"
EndSection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment