Difference between revisions of "Installing/Samus"

From GalliumOS Wiki
Jump to: navigation, search
(Installing Kernel Source)
(Post GalliumOS Install)
Line 34: Line 34:
 
# At this point it will then install everything and prompt you to reboot. Reboot the unit and remove your install media at the prompt
 
# 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 ===
+
=== Post-install Customization ===
  
==== Update GalliumOS Packages ====
+
'''UPDATED''' for new 4.7 kernel and <code>galliumos-samus</code> package. These steps will be done automatically in future versios.
In terminal update the packages by executing the following command:
 
  
    <code>sudo apt-get update</code>
+
First, enable the testing repodist and install customizations:
    <code>sudo apt-get dist-upgrade</code>
+
<pre>
 +
sudo galliumos-repodist --enable testing
 +
galliumos-update
 +
sudo apt-get install galliumos-samus
 +
</pre>
  
Reboot the unit and once you get it up and running we will need to install a few things to get this started.
+
'''After reboot''', run a few more commands to configure for HiDPI, enable audio output, and fix the touchpad/touchscreen bug:
 +
<pre>
 +
cp -r /etc/skel/.config $HOME
 +
samus-alsaenable-speakers
 +
samus-touch-reset
 +
</pre>
  
==== Install Git ====
+
Speakers and touchpad/touchscreen should work immediately. You'll need to log out and back in to see the HiDPI configuration.
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:
 
    <code> sudo apt-get install git</code>
 
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 ====
+
There are more notes about the current state of things in this github thread: https://github.com/GalliumOS/galliumos-distro/issues/100#issuecomment-241928033 . This list will be updated over time.
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 <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 ====
 
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 ===
 
=== Success ===

Revision as of 17:40, 24 August 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-install Customization

UPDATED for new 4.7 kernel and galliumos-samus package. These steps will be done automatically in future versios.

First, enable the testing repodist and install customizations:

sudo galliumos-repodist --enable testing
galliumos-update
sudo apt-get install galliumos-samus

After reboot, run a few more commands to configure for HiDPI, enable audio output, and fix the touchpad/touchscreen bug:

cp -r /etc/skel/.config $HOME
samus-alsaenable-speakers
samus-touch-reset

Speakers and touchpad/touchscreen should work immediately. You'll need to log out and back in to see the HiDPI configuration.

There are more notes about the current state of things in this github thread: https://github.com/GalliumOS/galliumos-distro/issues/100#issuecomment-241928033 . This list will be updated over time.

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