reynhout / chrx Goto Github PK
View Code? Open in Web Editor NEWChromebook Unix
Chromebook Unix
First up -thanks for taking the time to write/maintain/own this very useful script. I volunteer once each summer and give each of the 8 students a free Chromebook so they can continue hacking on python long after I'm gone and it would be possible w/out efforts like this one!
I'm unsure if it's a true bios issue or something else but when the Toshiba boots and I hit control + l the machine beeps twice and fails to boot into what looks like a valid ubuntu or xubuntu install using this most excellent script.
Any idea what log I can dig into that would show why this fails to boot after the install?
I'm trying to reinstall Lubuntu on my ChromeBook Acer 270. But after running the script and getting getting the partitions set up. It will say
Fetching Lubuntu core image file...
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
The full install log can be found here
I appreciate the help.
I am extremely confused. I have followed the install notes many times, tried many distros, etc and cannot get past this wall even with many hours of googling.
Moral of the story; Everything installs and boots fine, but GalliumOS gets past the boot screen (same with Ubuntu) and goes black but flashes something that says about KVM disabled by bios.
This is on an Asus C300. I would appreciate any help you can give. This needs to be done before Christmas.
Hello-
I am unable to recover my chromebook. I would like to remove the chrx partitions and recover the space. Could you give me a suggestion to do this? I am aware of the risks. Thank you.
Enclosed are (2) screenshots that may be helpful. Sorry I am new to this.
I have tried researching, via Dennis L and prior questions using the following commands:
cgpt add -i 6 -t unused /dev/sda
cgpt add -i 7 -t unused /dev/sda
cgpt add -i 1 -s
but when I use #1 above I get no file. Can you help me out? Thanks much. Chrx is great.
Regards,
Eric
The install for Fedora 25 works without a problem, but the boot process times out while trying to look for /dev/mmcblk0p7 and then drops to a rescue shell. I've tried to install it multiple times and actually reset the Chromebook to have the script recreate the partitions. Still no luck though. I haven't had any issues installing Ubuntu or Gallium. Hardware is an Asus 302 Flip.
Warning: Could not boot.
Warning: /dev/mmcblk0p7 does not exist
I have previously had a dual boot galliumos/chromeOS on my Dell Chromebook 13 using Mrchromebox Legacy boot and installed via chrx. I decided the partition left for chromeOS was to small, and went through restoring firmware boot, and wiped the computer with chromeOS recovery tool and exited Developer mode. However, I cannot reclaim the original partition again, and so I am stuck with the to-large partition for Galliumos. When using chrx it does not allow me to set partition sizes as it did in the initial install. Any idea how to solve this. Can you force the chrx installer into partitioning, and how come it doesnt ask the second time.?
Thanks.
I'm running Samsung's Chromebook running on an Intel CPU.
I have finished the installation process and am just a bit lost on how to boot up the GalliumOS.
So I'm a basic user but i figured all i would need to do is hit "ctrl + alt + 'right arrow'" to switch window, punch in "chrx" for localhost login, but the terminal deemed my login/pw unrecognized. So whats the next step directly after installation?
A feature request: Would it be possible to add full root encryption for chrx with Gallium? At the moment I have my home directory encrypted, but it'd be nice to encrypt the whole file system.
Thanks for all of your work on chrx and Gallium. It's wonderful to have a full Linux distribution working on a Chromebook. And Gallium not only works but looks great too.
Hello!
I see that you merged a patch for this in cb76164 but nevertheless when I curl -Os https://chrx.org/sh && sh go
and try to download any *ubuntu based image, the installer tries to download the core image and exits.
Is there anything else I need to do to have those changes applied?
FWIW the installer says it is on v2.2.4.
Thanks
Partitions are created properly, but the device files to access them do not exist, and are not created. When mkfs
tries to format the partitions, it fails.
This appears to be due to a recent change in the ChromeOS environment.
I need to learn more about udev
to fix this properly. It might be just a rule change (though I couldn't find an obvious blocker), or there might be a simple manual step (though the usual ones don't work).
2 Things First of all how do I get started in adding elementary os to chrx. and Secondly is anyone here willing to help me in the process of adding it
Chrx has almost completed the install of Ubuntu however, the terminal is stuck on reloading repository manifests
Id like to have a suggestion for opensuse instead of fedora because I think it is possible to install opensuse with chrx.
What is needed for chrx to support the Braswell (successor to BayTrail) architecture used by the Intel Celeron 2560 in the new Acer Chromebook 14 (CB3-431)? I have one and would be willing to help out where I can. I'm assuming it would need a firmware update or something...
After I install the latest ubuntu, 18.04 lts. and boot it up, my keyboard doesn't work. I can log in with on screen keyboard, but the on screen keyboard is very limited without ctrl, shift, and arrow keys.
how do i fix this?
I mistakenly ran the chrx install script curl -Os https://chrx.org/go && sh go
, and it procceded to "setup" the target disk, destroying my already installed distro BEFORE asking for any confirmation.
chrx installer, version 2.2.6
Hardware ID: SWANKY_E2A-E4P-U27
Model: Toshiba Chromebook 2 CB30/CB35
Released: 2014
CPU Family: Intel Bay Trail
Prognosis: success likely, ONLY IF FIRMWARE HAS BEEN UPDATED!
Checking hardware support for legacy boot... OK
Setting up target disk /dev/mmcblk0...
Installing to /dev/mmcblk0p7...
Preparing installation root directory /tmp/chrxroot
Installing
operating system: linux
distribution (-d): galliumos
environment (-e): desktop
release (-r): latest
version: 2.0
architecture (-a): amd64
target_disk (-t): /dev/mmcblk0
packages (-p):
System Configuration
hostname (-H): chrx
username (-U): chrx
locale (-L): en_US.UTF-8
timezone (-Z): America/New_York
Press [enter] to confirm and continue:
As a Chromebook user, I'd like to utilize chrx for easier installation of Arch Linux (instead of the manual installation process).
Manual instructions are described - https://wiki.archlinux.org/index.php/Chrome_OS_devices
I've found auto-mount to be not working on Acer CB3-111 (GNAWTY) with dualboot (ChromeOS + GalliumOS 2 nightly).
This is caused by /etc/udev/rules.d/99-hide-disks.rules which makes system to ignore sda1-12, and that is the name which gets inserted flash drive, as soon as root (eMMC) device starts with mmcblk0*. I guess, that should affect all eMMC-backed chromebooks, but not sure.
This is on an Acer chromebook 11 but might affect other new models. From what I can read on the 'net 'parted' is no longer bundled in Chrome and instead '/usr/sbin/partx' is to be used. I believe that this lack of 'parted' will only pop up if partitioning a removable drive -- USB or SD.
I would like to see an option that could be passed to make the script wipe the target roofs before installing the new OS in case you are switching. At the moment it doesn't appear to be doing that?
Not sure if this is a chrx fedora issue or not but after 48 hours of having fedora installed the wifi indicator completely disappeared and the Chromebook no longer recognizes wifi
Zorin is based on Ubuntu 16.04, so it should be very technically similar to Ubuntu which is supported by Chrx. I've also noticed that Zorin's repositories (see below) have ARM builds for all their packages.
Zorin Repositories
Stable: https://launchpad.net/~zorinos/+archive/ubuntu/stable
Patches: https://launchpad.net/~zorinos/+archive/ubuntu/patches
Hello, I have Gallium OS installed on a USB drive. If I used chrx to partition my chromebook could I make a copy of my USB install using dd and install it on my chromebooks drive?
I am wondering if there is a way that I don't have to press L every reboot. It is very inconvenient. But I still want to keep my galliumos installed with chrx.
mkfs.ext4 -q /dev/nvme0n17 << Looks like there is a 'p' missing. The device name should be /dev/nvme0n1p7 . . . The whole error is below:
Model: Google Pixelbook
Released: 2017
CPU Family: Intel Kaby Lake
Prognosis: uncertain; no field reports
Checking hardware support for legacy boot... OK
Setting up target disk /dev/nvme0n1...
Installing to /dev/nvme0n17...
The file /dev/nvme0n17 does not exist and no size was specified.
fatal: return code 1 from command "mkfs.ext4 -q /dev/nvme0n17"
chronos@localhost ~ $ sudo fdisk -l
Disk /dev/loop0: 8.5 GiB, 9082621952 bytes, 17739496 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop1: 633.6 MiB, 664375296 bytes, 1297608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop2: 142.6 MiB, 149516288 bytes, 292024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop3: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop4: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/loop5: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F958839F-EB8C-A549-BBF9-1B5C982C6EE4
Device Start End Sectors Size Type
/dev/nvme0n1p1 17092608 77434879 60342272 28.8G Microsoft basic data
/dev/nvme0n1p2 20480 53247 32768 16M ChromeOS kernel
/dev/nvme0n1p3 8704000 17092607 8388608 4G ChromeOS root fs
/dev/nvme0n1p4 53248 86015 32768 16M ChromeOS kernel
/dev/nvme0n1p5 315392 8703999 8388608 4G ChromeOS root fs
/dev/nvme0n1p6 77434880 77467647 32768 16M ChromeOS kernel
/dev/nvme0n1p7 77467648 1000214527 922746880 440G ChromeOS root fs
/dev/nvme0n1p8 86016 118783 32768 16M Microsoft basic data
/dev/nvme0n1p9 16450 16450 1 512B ChromeOS reserved
/dev/nvme0n1p10 16451 16451 1 512B ChromeOS reserved
/dev/nvme0n1p11 64 16447 16384 8M unknown
/dev/nvme0n1p12 249856 315391 65536 32M EFI System
Partition table entries are not in disk order.
Disk /dev/dm-0: 2.3 GiB, 2411724800 bytes, 588800 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/encstateful: 8.5 GiB, 9082621952 bytes, 17739496 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
chronos@localhost ~ $ Model: Google Pixelbook
bash: Model:: command not found
chronos@localhost ~ $ I/O size (minimum/optimal): 512 bytes / 512 bytes
bash: syntax error near unexpected token `('
I recently installed Fedora 25 using chrx and all works fine except that there's no sound from the speakers. I looked around for a solution but I didn't found one.
When installing Ubuntu minimun/standard on Asus Chromebox CN60 there is no access to root or sudo.
I'm getting 1.1.3 when running curl -Is https://chrx.org/go && bash go
What's the best way to fetch 2.0.0?
Thanks!
latest kernel upgrade crashed grub and also a fresh install of chrx is not working any more becasue grub update is failing cause the same as the kernel upgrade from an installed system
First of all, fantastic job. I have 3 or 4 Linux chromebooks including a Dell 13 which I am running either Galliumos or Ubuntu 16.04. Here's the issue I'm coming up against.
My Dell 13 is a very high end ChromeBook, I swapped out the drive for a 256GB SSD that makes this little machine, considering the IPS touch screen, better than either of my two Macbook Airs. It bascially buries them while looking fantastic at the same time. Huge battery life, great form factor, amazing screen. I'd like to dual boot since I want to mess around with Android Apps on the Chrome OS partition.
Here's my issue and maybe I'm doing something wrong.
When you go to partition it asks you how much you want for your Linux partition, the first time around it told me 233GB and I thought okay that will leave me 16GB and thats enough for a system I won't actually be using all that much. When I opened up my Chrome I had 1.9GB and kept getting out of space errors.
I wiped my drive with Gparted Live, reinstalled Chrome, double checked my space and I have 233GB free. Redid my Chrx install and selected 200GB for the Linux partition and rebooted. Opened up Chrome and I have. . . 1.9GB free.
I also tried this with a Dell 11 I have lying around and used the -t to install on the 128GB USB 3 stick (I've done similar Ubuntu installs using that stick multiple times works fine). Same issue with not the USB but my 16GB SSD which shouldn't have been touched. 1.9GB storage in my Chrome system. At the time I thought I targeted the wrong drive, but my Sticks Activity LED was flashing etc. and I checked and I had it sent to the right place.
So I opened Gparted and found out that the "missing" 34GB had been partitioned off into it's own partition as a EXT4 (which I'm assuming is okay since Chrome is Linux).
So what am I doing wrong here? It appears that the partitioning is "clipping" any free space over 1.9GB on the chrome system and setting it aside even if I am not using it on the Linux install.
Also why did it partition my SSD during the USB install?
Would it be possible install from any iso? So instead of -d [distro] use some -o /path/to/iso ?
Would be nice if you can use chrx to install RemixOS.
Usage: chrx [ option ... ]
Can we have an option to set swap size?
I tried -a i386; due to Line chat app. And notice Google Chrome has 64-bit no such 32-bit.
Right, I install fedora, like this:
##standard command## -d fedora -e kde
And it takes a small while, and appears to install correctly. BUT, when I boot, it opens up at a bash command line.
Any ideas?
I know I can install the KDE environment via command line, but I have NO idea on how to connect to WiFi through terminal.
Thanks for chrx, this is great. I'm wondering if it's possible to install only the Lubuntu core modules, without Chrome / Abiword / etc / etc.
Thanks!
Thank you so much for this project. It is amazing and has enabled a better form of computing for myself.
I am curious if other distributions that claim to support hidpi or claim to be tuned for Chromebooks can also be considered?
Of note, these are on my short list:
My apologies if this is not the right forum to suggest this. Feel free to close it.
I have tried many desktop environments, but the touchpad always doesn't work.
Can anyone help me?
Good news -- There are no issues that I can see running the full Ubuntu image on my Celes Samsung chromebook (Braswell model). However, the internal keyboard and mouse function are almost entirely useless. The keys stick, the mouse will stop moving, and it takes quite some time for them to become responsive again and then failing almost immediately after. Rinse and repeat. Interestingly enough, using an external mouse and keyboard is perfectly fine. Is there a fix for this I'm just not aware of? I'm only posting this as an issue because I could not seem to find a fix for my particular model. Hopefully I'm just blind. Thanks for any and all help!
EDIT: I am very new to this kind of stuff, please don't murder me
I am starting to wonder if Debian is possible to support on chrx like ubuntu because I see that Debian has a network installer.
Hi,
Thank you for the amazing software. I successfully install GalliumOS on my Dell Chromebook 13 (i5) some time ago, but today I attempted to install Ubuntu standard and Desktop versions on the same machine. I ended up getting messages like the following (pasted from another forum) while attempting to boot:
[ 4.479134] [drm:intel_dp_link_training_clock_recovery [i915]] ERROR too many voltage retries, give up
[ 4.479655] [drm:intel_dp_link_training_channel_equalization [i915]] ERROR failed to train DP, aborting
Using Ctrl+Alt+F1, I was able to log into Ubuntu and shut down, but was not able to progress past that error. I reinstalled GalliumOS and am using that to write this message, but wondering if/how I can install Ubuntu 16.04.
Any help is appreciated and I am happy to attempt any installations you might require.
Seconding another user's thanks for chrx. This is a terrific tool for a newbie like me.
And I'd like to request a way to install Elementary OS (latest) via chrx. I hope you can find the time to make that possible.
I'm testing distros on an Asus Chromebox—Panther, Haswell @1.4GHz—which chrx makes a snap. (Using a live USB on this machine is a series of headaches … it's much easier to install distros from the internet.)
With chrx I've succeeded in installing Gallium, Lubuntu & Fedora—all using your commands verbatim.
Ubuntu appears to install—chrx reports "no errors"—then fails to boot, every time, immediately after the GRUB screen. I've had variants on the error message 3 times now:
ash: write error: No such device
ash: write error: No such device
[ 4.942123] usb 1-4: string descriptor 0 read error: -22
ash: write error: No such device
[ 5.369873] usb 1-4: string descriptor 0 read error: -22
To be scrupulous, I did a recovery from USB of Chrome OS between all installs of Linux. Later, I tried variants on your command, for releases 15.04 ("No longer supported"), 15.10 (same), 16.04 and 16.10. No dice—same error message.
Any suggestions how I can get Ubuntu to install &/or boot properly using chrx?
JS
Has anyone tried dual booting Debian?
I had an unfortunate first experience with chrx I would like to share. I hope this won't happen to anyone else. I followed the instruction on https://wiki.galliumos.org/Installing and ran
curl -O https://chrx.org/go && sh go
It displayed a prompt, asking for the number of GB for the Linux partition size. I didn't enter any number. Instead, I pressed ctrl-c to cancel the process and get a backup of my files before installing GalliumOS.
The next day I booted my chromebook and all my files were deleted, I was left with a recovered vanilla factory ChromeOS. All my files (including those in directories other than ~/Download created via crouton) are gone. Everything is fresh. The script did something too early and didn't proper inform me about it.
Please make the script explicit about what it is doing and changing on each step that it is doing it, and explain what the side-effects of choosing each option is, and ask user before making important or irreversible changes. Thanks.
Thanks for your script. I realize this is not related to your work, but I thought you might know the answer about the proper headers. I was able to install Lubuntu with no issues using your script:
Linux unicorn 3.17.1-031701-generic #201410150735 SMP Wed Oct 15 11:36:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
However I also need to install the kernel headers. Since this install seems to be -031701 in the uname, the general command
sudo apt-get install linux-headers-$(uname -r)
produces:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package linux-headers-3.17.1-031701-generic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sourceE: Package 'linux-headers-3.17.1-031701-generic' has no installation candidate
Is this an error or should I force this?
sudo apt-get install linux-headers-generic
because specifying 3.17.1-generic doesn't work
E: Unable to locate package linux-headers-3.17.1-generic
Thanks for the help
When staging the packages fail to install. I went into the chroot manually and it also failed but after doing an apt-get update it installed properly.
Error was that the package could not be found.
Basically I went and updated GalliumOS and didn't update grub properly which is now preventing me from booting into it. I think I just need to reinstall grub so I thought to try to use the installer to install the grub partition again or something. After booting it up I got this
chronos@localhost / $ cd ; curl -Os https://chrx.org/go && sh go
chrx installer, version 2.4.1
Hardware ID: CELES_D25-B4A-F8A-A9K
Model: Samsung Chromebook 3
Released: 2016
CPU Family: Intel Braswell
Prognosis: success likely, ONLY IF FIRMWARE HAS BEEN UPDATED!
Checking hardware support for legacy boot... OK
Setting up target disk /dev/mmcblk0...
Installing to /dev/mmcblk0p7...
Found a dos partition table in /dev/mmcblk0p7
Proceed anyway? (y,n)
What should I put in, and what should I do to reinstall grub?
I wanted to re-partition the new partition to have space to install an other distro on the ssd.
What ever I try to do, I end up with chrome os out of order.
Is it my fault or just not possible ?
My plan was having 3 other debian based distros beside chrome os ...
elementary OS is heavily based on Ubuntu LTS, and runs beautifully on lower-end devices. If I have the time and patience to dig around the code, I might respond with a PR to add support.
It would be very handy to be able to remove the linux partition instead of having to do a full restore when things go awry or you decide you don't want/need it any longer.
Maybe adding a -D
option or something similar to chrx-install
and modifying chrx-setup-storage
to remove the existing linux partitons (6 & 7) and give the space back to the stateful_partition (1) could be done.
I think this would be very useful for a lot of people.
Thanx for your consideration,
DennisL
reason: chrx is trying to download from http://repo.steampowered.com/steam/archive/precise/steam_latest.deb which doesn't exist
updated link to latest files: http://repo.steamstatic.com/steam/pool/steam/s/steam/steam-launcher_1.0.0.54_all.deb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.