You are not logged in.
I've been working the past few hours/days attempting to get something put together to make it trivial to install Arch Linux on the Acer C7 Chromebook. I think I've got a working prototype ready. I've got it working on mine currently, so I know it SHOULD work...
Does anyone have a C7 that they don't mind wiping to install Arch on? Or a spare 200$ they've been wanting to spend on a new laptop?
Offline
I can be your Ginny pig
Offline
Sorry, I've been swamped by some otherthings™ right now. I should be able to get the wiki more complete some time by end of week. If you can't wait email me and I'll get you setup. Otherwise I do my best to have the scripts and instructions ready to go by saturday.
Sorry for the bait and switch...
Offline
Thats fine
I have no hurry, thanks for your work
Offline
If it is not too late, I would also love to help on this project. I have an Acer C7 Chromebook and I cannot stand Ubuntu. I miss having ArchLinux with Pacman and all of the freedom that it brings!
Offline
I'm working on the wiki now, can someone test the following script? It 'should' give you the disk layout for installing arch linux later. I've copied it from the ubuntu install script but I haven't tested it yet as I don't have a C7 without Arch already on it.
If you're already running ubuntu this work do anything.
It will prompt you for sizes, then it will partition your disk for installing Arch, then reboot. After it reboots the C7 will reinstall ChromeOS to factory, but you'll have the partitions for installing Arch
THIS WILL DESTROY PERSONAL DATA!!!
if [ "$1" != "" ]; then
target_disk=$1
echo "Got ${target_disk} as target drive"
echo ""
echo "WARNING! All data on this device will be wiped out! Continue at your own risk!"
echo ""
read -p "Press [Enter] to partition for Arch Linux on ${target_disk} or CTRL+C to quit"
ext_size="`blockdev --getsz ${target_disk}`"
aroot_size=$((ext_size - 65600 - 33))
parted --script ${target_disk} "mktable gpt"
cgpt create ${target_disk}
cgpt add -i 6 -b 64 -s 32768 -S 1 -P 5 -l KERN-A -t "kernel" ${target_disk}
cgpt add -i 7 -b 65600 -s $aroot_size -l ROOT-A -t "rootfs" ${target_disk}
sync
blockdev --rereadpt ${target_disk}
partprobe ${target_disk}
crossystem dev_boot_usb=1
else
target_disk="`rootdev -d -s`"
# Do partitioning (if we haven't already)
ckern_size="`cgpt show -i 6 -n -s -q ${target_disk}`"
croot_size="`cgpt show -i 7 -n -s -q ${target_disk}`"
state_size="`cgpt show -i 1 -n -s -q ${target_disk}`"
max_archlinux_size=$(($state_size/1024/1024/2))
rec_archlinux_size=$(($max_archlinux_size - 1))
# If KERN-C and ROOT-C are one, we partition, otherwise assume they're what they need to be...
if [ "$ckern_size" = "1" -o "$croot_size" = "1" ]
then
while :
do
read -p "Enter the size in gigabytes you want to use for Arch Linux. Acceptable range is 5 to $max_archlinux_size but $rec_archlinux_size is the recommended maximum: " archlinux_size
if [ ! $archlinux_size -ne 0 2>/dev/null ]
then
echo -e "\n\nNumbers only please...\n\n"
continue
fi
if [ $archlinux_size -lt 5 -o $archlinux_size -gt $max_archlinux_size ]
then
echo -e "\n\nThat number is out of range. Enter a number 5 through $max_archlinux_size\n\n"
continue
fi
break
done
# We've got our size in GB for ROOT-C so do the math...
#calculate sector size for rootc
rootc_size=$(($archlinux_size*1024*1024*2))
#kernc is always 16mb
kernc_size=32768
#new stateful size with rootc and kernc subtracted from original
stateful_size=$(($state_size - $rootc_size - $kernc_size))
#start stateful at the same spot it currently starts at
stateful_start="`cgpt show -i 1 -n -b -q ${target_disk}`"
#start kernc at stateful start plus stateful size
kernc_start=$(($stateful_start + $stateful_size))
#start rootc at kernc start plus kernc size
rootc_start=$(($kernc_start + $kernc_size))
#Do the real work
echo -e "\n\nModifying partition table to make room for Arch."
echo -e "Your Chromebook will reboot, wipe your data and then"
echo -e "you should re-run this script..."
umount /mnt/stateful_partition
# stateful first
cgpt add -i 1 -b $stateful_start -s $stateful_size -l STATE ${target_disk}
# now kernc
cgpt add -i 6 -b $kernc_start -s $kernc_size -l KERN-C ${target_disk}
# finally rootc
cgpt add -i 7 -b $rootc_start -s $rootc_size -l ROOT-C ${target_disk}
reboot
exit
fi
fi
If you'd like I can post it where you can wget right from your chromeos prompt.
Last edited by SomeoneE1se (2013-04-13 19:59:08)
Offline
Okay, I got the point in which this partitions the device for Archlinux. The script seemed to work well. I witnessed no problems. This only partitions the device correct?
Edit:
Oh! I forgot to mention, I formatted the device and restored it to factory settings. Just as if someone bought it from the store. I completely removed Ubuntu. I am also lucky enough to have a server of my on (for my own personal use) to store the bash script. I was able to wget it from there, but I think later it would be good for you to give out the link.
I ran the script and it worked perfectly. (I chose 292 GB) Here is my lsblk results:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 298.1G 0 disk
|-sda1 8:1 0 1.9G 0 part /mnt/stateful_partition
|-sda2 8:2 0 16M 0 part
|-sda3 8:3 0 2G 0 part
|-sda4 8:4 0 16M 0 part
|-sda5 8:5 0 2G 0 part
| `-vboot (dm-0) 254:0 0 1G 1 dm
| `-vroot (dm-1) 254:1 0 1G 1 dm /
|-sda6 8:6 0 16M 0 part
|-sda7 8:7 0 292G 0 part
|-sda8 8:8 0 16M 0 part /usr/share/oem
|-sda9 8:9 0 512B 0 part
|-sda10 8:10 0 512B 0 part
|-sda11 8:11 0 8M 0 part
`-sda12 8:12 0 16M 0 part
loop0 7:0 0 589.6M 0 loop
`-encstateful (dm-2) 254:2 0 589.6M 0 dm /mnt/stateful_partition/encrypted
Last edited by MaxterTheTurtle (2013-04-13 22:41:36)
Offline
Okay, I got the point in which this partitions the device for Archlinux. The script seemed to work well. I witnessed no problems. This only partitions the device correct?
Edit:
Oh! I forgot to mention, I formatted the device and restored it to factory settings. Just as if someone bought it from the store. I completely removed Ubuntu. I am also lucky enough to have a server of my on (for my own personal use) to store the bash script. I was able to wget it from there, but I think later it would be good for you to give out the link.
I ran the script and it worked perfectly. (I chose 292 GB) Here is my lsblk results:
SO SORRY for taking so long to get back to you.
do you have an image of an Arch install you want to use? A base install should 'just work'.
Last edited by SomeoneE1se (2013-04-19 21:30:16)
Offline
That's alright, I can wait if it means getting Archlinux on that computer.
I have a flash drive with the install for Archlinux.
I have an image file of the base install for Archlinux. However, I am not sure that how I made the base image was the correct way.
I loaded the install flashdrive into a virtual machine, than I ran the code:
dd if=/dev/zero of=arch.raw bs=4096 count=262144
I created a file system on the disk:
mkfs.ext4 -F arch.raw
Then I mounted the image file and used:
pacstrap -i /mnt base
I then saved arch.raw to a flashdrive.
Edit: I saw the wiki, do you think this will work, or should I rebuild the image?
Last edited by MaxterTheTurtle (2013-04-20 01:46:35)
Offline
I then saved arch.raw to a flashdrive.
Edit: I saw the wiki, do you think this will work, or should I rebuild the image?
No, that's totally fine!
Why would you think you'd need to rebuild the image? (so I can clarify the wiki)
Offline
Sorry, It was my first time installing ArchLinux into an image file. I was just making sure. I mounted the image on the Acer C7 and I was able to chroot into it too.
Edit: I guess my major concerns are that I didn't install a bootloader and I didn't get to generate my fstab file.
Last edited by MaxterTheTurtle (2013-04-20 02:55:40)
Offline
/ is handled by the kernel
boot is UEFI so it'll just pass right off to the kernel no separate boot loader needed
I'll work on getting instructions for the kernel install this weekend.
Offline
I'd be interested in getting arch on my C7 as well (currently running chrubuntu.) something like the chrubuntu script would be ideal and I'd be happy to test, but the current instructions beyond making an arch image should probably be fleshed out more.
Last edited by miotatsu (2013-04-23 02:39:51)
Offline
Yeah, I've been making slow progress on that wiki page.
Eventually I'll write a script that will work just like the chrubuntu script; but I'd rather get the wiki done first.
Offline
Hey -- as a never-installed-Arch guy, I admit I've been intrigued. That, and I've got a C7. Currently running Chrubuntu on it, but it *SEEMS* from what you've written that you've figured out how to put a non-Chrome kernel on the system. Is this so? Because, if it is, I'm very, very, VERY interested. I'd really like to get some of the more recent kernel features/non-ChromeOS drivers going. (That, and the WiFi support under Chrubuntu seems...odd.) Additionally, Arch is pretty much the only major distro I've never installed -- and I've heard really good things about the whole "rolling update" thing.
Anyway! If you could help me make this happen, I'd be quite grateful.
Thanks,
-Ken
Offline
Negitve, replacing the kernel in the one thing I haven't been able to figure out yet. I 'SHOULD' just be able to resign any upstream kernel and use that, but I'm missing something somewhere. Once I get the wiki completed, that'll be my next project.
Offline
So how is this project coming along? I've tried myself to get Arch onto my C7 and had to restore each time.
Offline
So how is this project coming along? I've tried myself to get Arch onto my C7 and had to restore each time.
I'll try to get the kernel instructions on the wiki this weekend. Once they are you should be able to get Arch working.
Offline
ok so I got arch kinda working, I seem to have everything but wireless working.
If I chroot into it from chromeOS I am able to get network access but I need to use IP addresses not domain names.
So I modified my pacman mirror list to use IP addresses instead of domain names, this allowed me to get pacman working and do my updates (yay!)
Then if I boot into just arch (after doing sudo cgpt add -i 6 -P 5 -T 1 /dev/sda) when I do iwconfig I only have lo
is it the kernel instructions i need to get wifi working?
Also as a side note, your script gave me an error, (syntax error near unexpected token fi') line 85
So I used the crubuntu script to install Ubuntu then I replaced Ubuntu with Arch using an image file (as per MaxterTheTurtle's direction)
Offline
(I assume) You're missing the kernel modules for the wifi card. Take a look at the chrbuntu script and copy over the kmodules in the same manor. But remeber, arch uses /usr/lib not /lib, let me know if that works for you.
If it doesn't, then what does `ip link` report?
Are you sure you've got the whole script?
Offline
I'm not a C7 user but I find the git repo from the chomiumOPs project, I drop there here with hope that this can help in any way
http://git.chromium.org/gitweb/
PD: Not is Chrubuntu, but look like Gentchrome
Well, I suppose that this is somekind of signature, no?
Offline
ip link also just returns lo I can get the whole output later if needed.
yes I do have the whole script, I checked that first thinking I might not.
could it be that Crubuntu uses a x64 kernel but i'm using an x86 Arch?
should i use an x86 Arch? I can't chroot into it if it's x64 because my chromeOS is x86.
I'll give an x64 Arch a try and see what happens.
Side note, I looked through the crubuntu script and may have figured it out, will report back.
Offline
ok so after reading through the chrubuntu script i found where the modules come in
I copied the to both /lib/ and /usr/lib/ to be safe
iwconfig now reports "enp2s0f0", "wlp1s0", and "lo"
thanks for the help SomeoneE1se
it'll be cool to have everything up on the wiki to make this a bit easier for the next round of installs.
[EDIT] okay i think i'm down to just a couple problems, I don't have netcfg nor do i have netctl, and when i try to do anything with pacman i get an error of read-only file system.
[EDIT2] ok i'm on a x64 Arch install now, have netctl, wifi menu comes up and sees networks, but i cannot connect, and i still get read-only error, even just trying to set up my network.
[EDIT3] figured it out, arch now requires an fstab (though didn't before) so i added the line below (using tabs not spaces)
/dev/sda7 / ext4 defaults,relatime 0 1
[EDIT4] ok i hope this is my last edit, so 'ip link set wlp1s0 up' does nothing when i check with 'ip link' it still says down, also wifi-menu cannot connect me to my network, checked ssid and password and everything seems correct, kinda wishing they stuck with netcfg but i understand why they switched.
Last edited by sadistic_angel (2013-05-05 19:11:08)
Offline
Try connecting via the ethernet port, if that works then try connecting without ANY kind of wireless encryption.
Offline
tried un-encrypted and that didn't help, took me a bit but i did get a connection through ethernet. still need to get wifi working now though.
swapped netcfg in for netctl
now i successfully initialize wpa_supplicant (which netctl seemed to not do) but i get
> WPA Authentication/Association Failed
also my ethernet does not come up on startup so i have to reconfigure every time.
Last edited by sadistic_angel (2013-05-06 02:10:06)
Offline