Difference between revisions of "Installing/Samus"
(→Installing Kernel Source) |
(→Installing Kernel Source) |
||
Line 56: | Line 56: | ||
After that install the kernel via: | After that install the kernel via: | ||
sudo dpkg -i *.deb | sudo dpkg -i *.deb | ||
− | Now the kernel will be installed, but the GalliumOS kernel will still be preferred at boot time. To enable the boot menu so that you can select the new kernel, you should update | + | Now the kernel will be installed, but the GalliumOS kernel will still be preferred at boot time. To enable the boot menu so that you can select the new kernel, you should update the GRUB (boot loader) configuration, as follows: |
+ | sudo mousepad /etc/default/grub | ||
+ | Update the file to include the following lines: | ||
GRUB_TIMEOUT=10 | GRUB_TIMEOUT=10 | ||
GRUB_TIMEOUT_STYLE=menu | GRUB_TIMEOUT_STYLE=menu | ||
GRUB_TERMINAL=console | GRUB_TERMINAL=console | ||
− | When finished, | + | When finished, write the new configuration to the boot loader with: |
sudo update-grub | sudo update-grub | ||
− | Now you should completely shut down your computer (not just reboot) and | + | Now you should completely shut down your computer (not just reboot). When restarted, you will see a GRUB menu, where you can select the new kernel (Choose <code>Advanced Options</code> and then <code>Linux 4.4.2ph+</code>). |
+ | |||
+ | After booting, you should be able to use the touchpad far more effectively (still needs a little more configuring) and can start the final bits of setting up the sound, Xorg optimizations, and screen brightness key commands. | ||
==== Xorg and Touchpad Tweaks ==== | ==== Xorg and Touchpad Tweaks ==== |
Revision as of 14:20, 8 August 2016
Contents
Installing GalliumOS on the Google Pixel 2015 (Samus)
Download and Write GalliumOS to USB
- Download the appropriate iso from here. For this tutorial, you’ll need the Chromebook Broadwell ISO.
- Download Win32DiskImager from SourceForge and install it. Linux/Mac users will use a terminal.
- Insert an empty USB drive (all data will be erased during the write process!). Run Win32DiskImager. Make sure you have the correct USB drive selected under “Device.” Click on the blue folder icon. On the bottom right you’ll see, Disk Images (*.img *.IMG). Click on it and change it to *.* Now you’ll be able to locate the GalliumOS iso. Locate it and double-click it. Making sure that you have the correct USB selected, click on “Write.” When the USB is ready, eject it and put it aside for when you’ll need it later in this tutorial.
- Linux/Mac users need to follow the instructions found here.
Backup data
If you have any data stored locally on the chromebook that you would like to keep, backup the data to either a USB drive or to Google Drive. Enabling developer mode will wipe your device.
Enable Developer Mode and Boot Flags
- Boot into recovery by press and hold the Esc + Refresh keys, then press the power button.
- At the Recovery screen press Ctrl-D. It will ask you to confirm by pressing the RECOVERY BUTTON again. It will now enable Developer Mode. It will take about 10-15 minutes to complete. During this time, your chromebook will be wiped of all user data.
- You’ll see a white screen after rebooting. Press Ctrl-D and you’ll boot into ChromeOS with Developer Mode enabled.
- Connect to the Internet and accept the terms and agreements. You don’t have to login to ChromeOS using your account (you can if you want to, but I didn’t). Login as Guest and open up a Crosh session by pressing Ctrl-Alt-T. Type
shell
and hit enter to open bash. The prompt should look like this:chronos@localhost / $
- Alternatively, ou can immediately press Ctrl+Alt+F2 to get to a TTY.
- Type
sudo crossystem dev_boot_usb=1 dev_boot_legacy=1
and hit enter.
Boot from USB
- Reboot your Chromebook
- Press Ctrl-L at the scary white screen.
- Press the ESC key when you see the prompt to do so. You’ll now be in the boot menu.(If you don’t press ESC in time just reboot and do it again.)
- At the boot menu you’ll see your boot options. Select to boot from USB.
- You’ll now get the option to live boot or install GalliumOS. You want to live boot.
- Test GalliumOS. Explore until you’re sure everything works fine. If you decide to install GalliumOS (and why wouldn’t you?), don’t install it while you’re live booted. For some reason that didn’t work for me, and I had to do it over again. Instead, reboot and follow the above steps until you get to the live boot or install GalliumOS menu. Choose Install GalliumOS. There’ll be a few prompts during the installation process.
- Disclaimer: From here on out once you install Gallium you will need to hit those keys after each reboot unless you are willing to open the Pixel and remove a Write Protect screw to allow you to disable that screen. Be aware you DON'T NEED TO DO THIS with that screw unless you don't want to hit those keys, the Pixel 2015 doesn't have the out of power glitch the original Pixel had and with the Developer Screen there it provides a very nice fail safe in case you severely screw up your install and want to move back to ChromeOS again.
Installing GalliumOS
- Installing Gallium is the easiest albeit the most flexible part of this process. Run the installer located on the desktop of the Live USB environment and follow through the prompts with your preferences (I'd recommend connecting to the internet if you can and also selecting the Download Extra Software option) until you get to Partitioning portion. This can be highly subjective on how you want to setup this partitioning BUT for me this is what I went with:
- After that hit the Plus Icon. This will be your main partition where everything will be run from, you can set it to be the full size of the disk if you want with no issues since Gallium uses ZRam. Set it to be formated to "EXT4" and for the Mount point select "/". Hit OK and give it a second to resize the partitions.
- After that hit next and a confirmation screen will ask for sure if you want to do this, select OK if you are.
- After that you will be prompted for Region, Keyboard, User name, yadayada you should know what to do here.
- At this point it will then install everything and prompt you to reboot. Reboot the unit and remove your install media at the prompt
Post GalliumOS Install
Update GalliumOS Packages
In terminal update the packages by executing the following command:
sudo apt-get update
sudo apt-get dist-upgrade
Reboot the unit and once you get it up and running we will need to install a few things to get this started.
Install Git
First we will need to install this, this is how you are going to build the kernel from Github where its hosted. Open a terminal window up and type:
sudo apt-get install git
This will bring up a long list of dependencies and files to install, just hit "y" and let it do its thing.
Installing Kernel Source
Now for the Kernel work (thanks to Raphael, https://github.com/raphael/linux-samus). Open up a Terminal (it will start at /home/"Your Username" by default, so every command below is located in /home/"Your Username"/"cd command" as a reference for you) and Type:
git clone https://github.com/raphael/linux-samus
This will start the download and compile of the Kernel, its a little less than 100,000 files so probably grab some coffee. Once that is done, navigate to the folder below or type:
cd linux-samus/build/debian
After that install the kernel via:
sudo dpkg -i *.deb
Now the kernel will be installed, but the GalliumOS kernel will still be preferred at boot time. To enable the boot menu so that you can select the new kernel, you should update the GRUB (boot loader) configuration, as follows:
sudo mousepad /etc/default/grub
Update the file to include the following lines:
GRUB_TIMEOUT=10 GRUB_TIMEOUT_STYLE=menu GRUB_TERMINAL=console
When finished, write the new configuration to the boot loader with:
sudo update-grub
Now you should completely shut down your computer (not just reboot). When restarted, you will see a GRUB menu, where you can select the new kernel (Choose Advanced Options
and then Linux 4.4.2ph+
).
After booting, you should be able to use the touchpad far more effectively (still needs a little more configuring) and can start the final bits of setting up the sound, Xorg optimizations, and screen brightness key commands.
Xorg and Touchpad Tweaks
I'll list the easy ones first, Xorg and touchpad tweaks. With Xorg you will need to type into terminal:
cd linux-samus/scripts/setup/xorg ./xaccel.sh
There won't be any confirmation message, if you get an error message you will want to confirm you are in the correct directory. After that we will do the touchpad tweaks. First we need to enable an Atmel script first, after that we will be setting up up a service to run the script. This is because since Linux 4.3 the Atmel chip needs to be reset on boot to guarantee that the touchpad works. First you will enter:
cd .. cd ./touchpad ./enable-atmel.sh
After that you will want to run the systemd script:
./setup.systemd.sh
At this point you should have a fully functioning trackpad and be able to avoid random unresponsive moments. Now we will setup the Brightness Keys. If you don't want to change the keys default behavior as F-Keys then don't bother with this step.
cd .. cd ./brightness ./brightness --help
This enables F6 and F7 to change screen brightness
./keyboard_led --help
This enables ALT-F6 and ALT-F7 to change keyboard brightness.
./setup.systemd.sh
This setups up these scripts as a service. At this point the easy stuff is done, last is the sound which is definitely the hardest part of the process.
Setting up Sound
Setting up sound can POSSIBLY be done via the sound script Raphael made but I rarely have luck with it. I still recommend doing it just to see if it works and to do some of the work for you, but its probably going to take doing each step separately. To run the script:
cd .. cd ./sound ./sound.sh
At this point you can try the speakers by clicking the PulseAudio tray icon and setting up the following:
- Default Server to (Numbers)unix:/run/user/1000/pulse/native
- Default Sink to bdw-rt677 Analog Stereo
- Volume Control/Output Devices/bdw-rt677 Analog Stereo and set to fallback and to the port you want to listen through (Headphones or Speakers).
Give this a test, if it works you lucked out! If not, then we need to follow the script steps manually. Most of this is verbatim from Raphael's Readme with a few tweaks in areas I got confused on or fixed something for Gallium Specifically. The first thing to do is to copy over the firmware files from the firmware directory to wherever your distribution installs firmware (/lib/firmware).After that add a default.conf file in /etc/modprobe.d with the command:
sudo mousepad /etc/modprobe.d/default.conf
And add the following line:
options snd slots=snd_soc_sst_bdw_rt5677_mach,snd-hda-intel
SHUTDOWN and POWER BACK ON (Reboot doesn't seem to work 100% with Gallium) your computer and after that open a Terminal windows and type:
aplay -l
Hopefully it should output:
**** List of PLAYBACK Hardware Devices **** card 0: bdwrt5677 [bdw-rt5677], device 0: System Playback (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0
If this doesn't show up check for errors through dmesg. At this point change directory to:
cd linux-samus/scripts/setup/sound
After that type the command:
ALSA_CONFIG_UCM=ucm/ alsaucm -c bdw-rt5677 set _verb HiFi
At this point we will have the speakers and headphones setup properly but we have a few more steps to get the mic working. Next you will be opening the PulseAudio config (default.pa) as root to load the mic modules located in:
/etc/pulse/default.pa
You can also edit with commands:
sudo mousepad /etc/pulse/default.pa
Add the lines above load-module module-udev-detect:
load-module module-alsa-source device=hw:0,1 load-module module-alsa-source device=hw:0,2
The guide recommends you just restart PulseAudio but I found it more consistent to just power down and back on. After that open Terminal again and run commands:
cd linux-samus/scripts/setup/sound sudo alsactl restore --file alsa/asound.state
WOO! We did it! At this point you may need to power down and back on one more time to get it to work but for me it worked right after the restore state command. If it still doesn't work check these steps again:
- Default Server to (Numbers)unix:/run/user/1000/pulse/native
- Default Sink to bdw-rt677 Analog Stereo
- Volume Control/Output Devices/bdw-rt677 Analog Stereo and set to fallback and to the port you want to listen through (Headphones or Speakers).
Adding ChromeOS Resolution Options
This section is directed at getting the default display resolution options from the ChromeOS install and bringing them over to Gallium OS. There are two ways you can do this, the way I'm recommending is via a 10-monitor.conf file but you can also do it via xrandr additions. First thing to do is open Terminal and type:
cd /usr/share/X11/xorg.conf.d sudo mousepad 10-monitor.conf
After that it should open up Mousepad (Text editor) with a blank file called 10-monitor.conf. You will be adding your resolution options in here, I will be putting below my exact tested resolution options that match ChromeOS but you can theoretically make any resolution you want with it; BEWARE if you screw up the modelines, the system will give you a black screen when switching to an incorrect resolution and you'll need to boot recovery media and delete the 10-monitor.conf file to restore your display. To get the default resolution options, copy and paste the following:
Section "Monitor" Identifier "Monitor0" Modeline "1920x1280" 206.25 1920 2056 2256 2592 1280 1283 1293 1327 -hsync +vsync Modeline "1600x1067" 142.25 1600 1704 1872 2144 1067 1070 1080 1107 -hsync +vsync Modeline "1440x961" 113.75 1440 1528 1672 1904 961 964 974 997 -hsync +vsync Modeline "1280x855" 89.25 1280 1352 1480 1680 855 858 868 888 -hsync +vsync Modeline "1024x685" 56.50 1024 1072 1176 1328 685 688 698 712 -hsync +vsync Modeline "800x536" 33.50 800 832 904 1008 536 539 549 558 -hsync +vsync Modeline "640x430" 21.25 640 664 720 800 430 433 443 448 -hsync +vsync EndSection Section "Screen" Identifier "Screen0" Device "eDP1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1280" "1600x1067" "1440x961" "1280x855" "1024x685" "800x536" "640x430" EndSubSection EndSection
Notice that I added 5 Height pixels to the defaults of:
1980x1275 1600x1062 1440x956 1280x850 1024x680 800x531 640x425
If you want to add more options, you simply need to use the cvt tool to make modelines like so:
cvt (Resolution width) (Resolution height) (Refresh Rate, should always be 60)
If you were to do this with 1920x1280 you would get:
# 1920x1280 59.96 Hz (CVT) hsync: 79.57 kHz; pclk: 206.25 MHz Modeline "1920x1280_60.00" 206.25 1920 2056 2256 2592 1280 1283 1293 1327 -hsync +vsync
Copying the modeline section (portion above it isn't used) is all you need and then you add the mode name (its what's in the "" section) to the Modes section in 10-monitor.conf After you have added your resolution modes save the conf file and shutdown/power on your computer to test it out. You will still have a bunch of other resolution options in the Display selection but these new ones will take advantage of your full display.
Success
You now have GalliumOS installed. How cool is that?
If you run into problems or have any questions, the awesome people at #galliumos are happy to help in any way they can. You can also post on /r/GalliumOS.
Sources
https://www.reddit.com/r/GalliumOS/comments/47qeh0/pixel_setup_guide_for_gallium_os/
https://galliumos.org/wiki/index.php?title=Installing/Preparing