Difference between revisions of "Installing/Samus"

From GalliumOS Wiki
Jump to: navigation, search
m (Installing Kernel Source)
(Tag: visualeditor)
(Installing GalliumOS on the Google Pixel 2015 (Samus))
Line 2: Line 2:
  
 
=== Download and Write GalliumOS to USB ===
 
=== Download and Write GalliumOS to USB ===
# Download the appropriate iso from [https://galliumos.org/download.html here]. For this tutorial, you’ll need the Chromebook Broadwell ISO.
+
# Download the appropriate iso from [https://galliumos.org/download here]. For this tutorial, you’ll need the Chromebook Broadwell ISO.
 
# Download Win32DiskImager from [[sourceforge:projects/win32diskimager/|SourceForge]] and install it. Linux/Mac users will use a terminal.
 
# Download Win32DiskImager from [[sourceforge:projects/win32diskimager/|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.
 
# 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 [https://galliumos.org/wiki/index.php?title=Installing/Creating_Bootable_USB here].
+
# Linux/Mac users need to follow the instructions found [https://wiki.galliumos.org/Installing/Creating_Bootable_USB here].
  
 
=== Backup data ===
 
=== Backup data ===

Revision as of 20:31, 29 April 2016

Installing GalliumOS on the Google Pixel 2015 (Samus)

Download and Write GalliumOS to USB

  1. Download the appropriate iso from here. For this tutorial, you’ll need the Chromebook Broadwell ISO.
  2. Download Win32DiskImager from SourceForge and install it. Linux/Mac users will use a terminal.
  3. 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.
  4. 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

  1. Boot into recovery by press and hold the Esc + Refresh keys, then press the power button.
  2. 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.
  3. You’ll see a white screen after rebooting. Press Ctrl-D and you’ll boot into ChromeOS with Developer Mode enabled.
  4. 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 / $
  5. Alternatively, ou can immediately press Ctrl+Alt+F2 to get to a TTY.
  6. Type sudo crossystem dev_boot_usb=1 dev_boot_legacy=1 and hit enter.

Boot from USB

  1. Reboot your Chromebook
  2. Press Ctrl-L at the scary white screen.
  3. 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.)
  4. At the boot menu you’ll see your boot options. Select to boot from USB.
  5. You’ll now get the option to live boot or install GalliumOS. You want to live boot.
  6. 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.
    1. 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

  1. 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:
    1. 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.
    2. After that hit next and a confirmation screen will ask for sure if you want to do this, select OK if you are.
  2. After that you will be prompted for Region, Keyboard, User name, yadayada you should know what to do here.
  3. 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! For good measure to update grub, type:

   sudo update-grub

Now you should completely shut down your computer (not just reboot) and once the unit comes back 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