You are not logged in.

#1 2012-09-08 15:52:09

lukegb
Member
Registered: 2012-09-08
Posts: 4

Arch on a Samsung Series 5 550 Chromebook

I'm not entirely sure why I did this - but there we are. I've successfully installed Arch on a Samsung Series 5 550 Chromebook!

Instructions taken and modified from http://dev.chromium.org/chromium-os/dev … on-a-cr-48

Red text indicates Chromebook steps.
Blue text indicates "host PC" steps.
Green text indicates "Arch VM under host PC" steps.

Here are some instructions, because instructions are fun:

  1. Make sure you know what you're doing. This isn't for the faint-hearted.

  2. Firstly, you need to enable the developer-mode switch on your Chromebook. This will wipe all stored persistent data! It's hidden inside the Kensington lock space and can be switched with a toothpick or paperclip.

  3. Boot your Chromebook to the initial setup screen and set up networking on the first page, then stop.

  4. Use the script from the Ubuntu on CR-48 blog to repartition your Chromebook's internal storage. This will reboot your Chromebook. Remember how large you made your new Linux partition!

  5. Again, boot your Chromebook to the initial setup screen and set up networking on the first page, then press Ctrl-(->) again, and login as chronos, then sudo -i.

  6. On your host PC, install VirtualBox and download the latest Arch installation media.

  7. Copy /usr/bin/cgpt onto a memory stick, or scp it directly to your host system. On the Samsung Series 5 550, it's a 64-bit static binary.

  8. Calculate how much (number of Linux gigabytes) * 1024 * 1024 * 2 is and substitute LINBYTES in all following instructions for that number.

  9. HOST (make a new directory for this somewhere - /tmp or your home directory are both good candidates):

    dd if=/dev/zero of=zero_file.bin bs=512 seek=LINBYTES count=1
    cgpt create zero_file.bin
    cgpt boot -p zero_file.bin
    cgpt add -b 128 -s LINBYTES -t data -l arch zero_file.bin
    VBoxManage convertdd zero_file.bin arch_disk.vdi --format VDI
    rm zero_file.bin
  10. Launch VirtualBox, configure a 4GB-RAM virtual machine with the first SATA drive as arch_disk.vdi and the CD-ROM drive pointed at the ISO you downloaded earlier.

  11. Install Arch onto /dev/sda inside the VM. Make sure that you use /dev/sda7 in the fstab and not /dev/sda1!

  12. Shutdown the VM and close VirtualBox.

  13. HOST:

    VBoxManage internalcommands converttoraw arch_disk.vdi arch_disk.bin
    dd if=arch_disk.bin bs=512 skip=128 count=LINBYTES of=arch_rootfs.bin
  14. Get the arch_rootfs.bin onto the Chromebook somehow. I suggest a USB memory stick.

  15. CHROMEBOOK:

    dd if=arch_rootfs.bin of=/dev/sda7
    mkdir /tmp/arch
    mount /dev/sda7 /tmp/arch
    cp /usr/bin/cgpt /tmp/arch/usr/bin/cgpt
    chmod a+rx /tmp/arch/usr/bin/cgpt
    cd /tmp/arch/lib/modules
    mkdir `uname -r`
    cp -ar * /tmp/arch/lib/modules/`uname -r`/
    umount /tmp/arch
  16. CHROMEBOOK:

    rootdev -s

    If this says /dev/sda3, substitute 2 for CRKERNEL in the following commands.
    If this says /dev/sda5, substitute 4 for CRKERNEL.
    If it says anything else, panic.

  17. CHROMEBOOK:

    dd if=/dev/sdaCRKERNEL of=/dev/sda6
    mkdir /tmp/mds
  18. Download http://git.chromium.org/cgi-bin/gitweb. … sh;hb=HEAD (as make_dev_ssd.sh)
    and http://git.chromium.org/cgi-bin/gitweb. … sh;hb=HEAD (as common_minimal.sh)

  19. scp the make_dev_ssd.sh and common_minimal.sh files to /tmp/mds then

    mount -o remount,exec /tmp
  20. CHROMEBOOK:If you want to look at and modify the existing config, run

    ./make_dev_ssd.sh --partitions '6' --save_config foo

    and look at foo.6.
    If not, simply run:

    echo "console=tty1 init=/sbin/init add_efi_memmap boot=local rootwait ro noresume noswap i915.modeset=1 loglevel=7 kern_guid=%U tpm_tis.force=1 tpm_tis.interrupts=0 root=/dev/sda7 noinitrd" > foo.6

    After modifying/creating foo.6 to your liking, run

    ./make_dev_ssd.sh --partitions '6' --set_config foo
    cgpt add -i 6 -P 5 -T 1 -S 0 /dev/sda
  21. Now you can reboot your Chromebook and you should boot into Arch! Note that rebooting after this will boot back into ChromeOS, as Arch does not set the "successful boot" flag on the kernel partition.

Photos to come.

Offline

#2 2012-09-08 15:57:08

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: Arch on a Samsung Series 5 550 Chromebook

So you managed to install it, but how does it run? big_smile

Is everything working or do some parts not work?


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres

Offline

#3 2012-09-08 16:25:23

lukegb
Member
Registered: 2012-09-08
Posts: 4

Re: Arch on a Samsung Series 5 550 Chromebook

I believe everything should have an OS driver, and I know that Xorg works.

Click thumbnails to view full-size imagery.

Here's pacman -Syu:
IMG_20120908_160322.jpg

...and here's xeyes:
IMG_20120908_155422.jpg

Working on getting KDE up and running, but I accidentally resized my Arch partition to 0 bytes and broke the entire partition table. Gives me a chance to revalidate my instructions, I suppose!

Last edited by lukegb (2012-09-08 16:51:40)

Offline

#4 2012-09-08 16:47:14

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: Arch on a Samsung Series 5 550 Chromebook

I see you don't have any F1-F12 keys, so how do you manage, for example, TTY switching? (and you have no Capslock either, but I guess that Search Key can be swapped for it)

I'm pretty interested in this, keep us posted!

(and perhaps you might want to resize the photo's according to the forum rules. I find omploader to be a nice host, which automatically resizes them for thumbnails and links to the bigger picture)


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres

Offline

#5 2012-09-08 16:48:48

lukegb
Member
Registered: 2012-09-08
Posts: 4

Re: Arch on a Samsung Series 5 550 Chromebook

The Chromebook does actually have F1-F12 buttons - they just have the Chrome imagery on top, so it's Back Arrow, Forward Arrow, Refresh Circle, Maximize, Tab Switcher, Dim Brightness, Increase Brightness, Mute, Volume Down, Volume Up and they all appear to the software as F1-F12.

Offline

#6 2012-10-12 15:42:44

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

Great! Thanks for these instructions.
In fact I already have an ubuntu installed... do you think I can start at step 10?
Another question, do you think it is possible to pass root=/dev/sdb1 for instance, so that the rootfs will be on a usb stick?

Offline

#7 2012-10-12 17:02:20

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Arch on a Samsung Series 5 550 Chromebook

You should make this a wiki page... good info here.

Offline

#8 2012-10-27 02:49:35

lukegb
Member
Registered: 2012-09-08
Posts: 4

Re: Arch on a Samsung Series 5 550 Chromebook

Updated my Chromebook to systemd - no problems at all. Just swapped out init=/sbin/init for init=/usr/lib/systemd/systemd

This can be done post-install, under ChromeOS, by redownloading make_dev_ssd.sh and common_minimal.sh, remounting /tmp as exec and copying those shell scripts there, and then running (in /tmp):

sudo ./make_dev_ssd.sh --partitions '6' --save_config arch
sudo vim arch.6 # change init=
sudo ./make_dev_ssd.sh --partitions '6' --set_config arch

Obviously this also applies to changing any other kernel parameters.

As a sidenote, I use both Arch and CrOS regularly. I use CrOS as the "default" OS, and I have:

alias archboot = 'sudo cgpt add -i 6 -T 1 -P 5 -S 0 /dev/sda && sudo reboot'

in my user's ~/.bash_profile so that when I'm logged in to CrOS, Arch is just a Ctrl-Shift-T (opens crosh), "shell" (opens bash), "archboot" and then my root password away. Both Arch and CrOS have very minimal bootup times, so this serves me well.

Obviously hitting Ctrl-D on every boot to clear the Sad Chromebook is a bit annoying, but not too bad. The beep still surprises me sometimes if I forget!

Offline

#9 2012-11-04 23:57:51

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

I did install a bit differently:
In fact I had an ubuntu already installed.
I installed arch on a virtualbox, made a tarball, transfered it to my chromebox, mounted /dev/sda7 where ubuntu was, moved all the files into an 'ubuntu' folder, then extracted the tarball
I then copied /ubuntu/lib/modules * to /lib/modules

And it worked!

I then used the method explained above to switch to systemd booting.

Everything seems supported, I have a kernel 3.4 running, fuse filesystem is supported, video accelerations sems to work in xbmc.

It is perfect except for the 30-seconds we have to wait at each boot...

Offline

#10 2012-12-03 11:35:03

joefromct
Member
Registered: 2011-05-05
Posts: 11

Re: Arch on a Samsung Series 5 550 Chromebook

lukegb, great post/thread.

Thanks very much for this, i'm going to give this an attempt tonight on identical hardware (series 5 550). 

I'll keep you posted, and try to re-translate this to the wiki here:

https://wiki.archlinux.org/index.php/Ch … ries_5_550

Offline

#11 2012-12-26 16:16:30

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

I did exactly as cyberic - I installed ubuntu via the script, then installed arch on a VM, then tar'd up the rootfs and untar'd it onto my ubuntu filesystem (mounted via chromeos). I then copied the old /etc/fstab and /lib/modules to my extracted arch system, rebooted and it works!

Offline

#12 2012-12-26 16:21:52

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

I was able to compile some modules for the kernel.
But you have to stick with the chrome os kernel...
I'll try to add kexec support and try to launch a new kernel...

anybody tried that before?

Offline

#13 2012-12-26 19:22:49

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

Does anyone know where I could build/have the cgpt program?  I failed to back it up properly before installing Arch on my Samsung 550.
Also, everything works except for wake from suspend.  I will likely start another thread for that.

Offline

#14 2012-12-26 20:18:32

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

Here you are:
http://cyberic.free.fr/stuff/cgpt.gz

sha1sum of the gunzipped file:
36f31ad31acc4fe8d4c614cd57aaa46cb1e483f0

Can't you mount the chrome os partition anymore?

Last edited by cyberic (2012-12-26 20:19:20)

Offline

#15 2012-12-26 20:29:17

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

Actually, I just downloaded a chromeos image and copied it from there - was literally coming on here to update.

So that's cool, I can now switch between the two OSes... I have two issues remainging:

for some reason GDM says "Invalid UTF-8" when I try and login... autologin works fine, though. This isn't huge and I will eventually figure it out.
My big problem is: suspend works, but when I try and wake the machine up it just boots Arch normally (as in, i see the sick chromebook and have to hit ctrl+d).  Are you able to suspend properly?

Offline

#16 2012-12-26 20:34:28

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

I have a chromebox, not a chromebook.
I didn't try to suspend because it is my media player, and I shut it off when I'm finished

Offline

#17 2012-12-26 20:37:39

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

Ah of course. Ok, I'll make a post elsewhere and try to get some help on this - it's very weird, though. Nothing in pm-suspend.log or journalctl - everything suspends fine, it just doesn't WAKE UP.  Tried adding acpi_sleep=nonvs to the kernel parameters of GRUB, but that didn't work...

Offline

#18 2012-12-26 22:24:21

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

tell me where you posted so I can follow your thread ;-)

Offline

#19 2012-12-28 07:26:46

acfrazier
Member
Registered: 2012-12-28
Posts: 1

Re: Arch on a Samsung Series 5 550 Chromebook

Has anyone attempted to get this to work on a C7 chromebook? One of the $199 x86 ones? If so, could they tell me how? The cgpt returns an error and is not a 64-bit ELF, rather 32-bit, so I think this may have something to do with it.

Offline

#20 2012-12-28 12:50:06

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

You can use the script here to partition the drive (or boot from an SD card!).   It installs Ubuntu but you can do what cyberic and I did and just replace it with Arch.

Offline

#21 2012-12-29 15:03:06

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

Does anyone have the ability to provide me with a KERN-A & KERN-B image? 
I tried pm'ing cyberic but I'm not sure if it went through.

Offline

#22 2012-12-29 20:00:33

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

I can dump  the A and B partitions if you want. Could you remind me of which partition number they correspond?

Offline

#23 2012-12-30 00:59:40

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

Just to let you know that I have compiled a kernel with kexec enabled.
This kernel enables me to load other kernels , without any risk of 'bricking' my chromebox
I succeeded in loading kernels compiled from chromeos-3.4 branch, but when I tried to kexec a 3.6 arch kernel, it failed.
Does anyone has info on google patches required to boot a kernel on a samsung chromebox/chromebook?

Offline

#24 2012-12-31 21:53:42

yochaigal
Member
From: Boston
Registered: 2011-02-06
Posts: 202

Re: Arch on a Samsung Series 5 550 Chromebook

I compiled mine from here if you haven't seen it yet.

Offline

#25 2013-01-02 11:18:22

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: Arch on a Samsung Series 5 550 Chromebook

Thank you for the link.
I solved my problems by enabling vga arbitration.
It was required for the new kernel to boot correctly.

Offline

Board footer

Powered by FluxBB