Closed ipstacks closed 6 years ago
Thanks for the output.
Chrx doesn't know how to name NVMe storage devices, but this might be enough for me to add support without having appropriate test hardware on hand.
I should have something ready to test later today. If you're able, I'd appreciate it!
Hi Sir. I would be more than glad to test for you. I am kind of dumb so you might have to walk me through some of it. What I did was run: cd ; curl -Os https://chrx.org/go && sh go
This produced the error I sent you. The next thing I was going to do was run: cd ; curl -Os https://chrx.org/go && sh go -d ubuntu -e desktop -r 17.10.1 -H myhostname -U myusername
Every time I boot back into ChromeOS with ctrl d, it triggers and recovery. I am guessing it's because the script can partition and format the partition in a way that doesn't cause the recovery to happen.
OK, updated version in chrx/dev.. I tested here, but I don't have an NVMe device, so fingers crossed. :)
Instructions are a little different:
export CHRX_ROOT="https://chrx.org/dev"
cd ; curl -O $CHRX_ROOT/go && sh go -v [OTHER_OPTIONS]
Thanks for testing this!
I tried running the script, but it failed because it can't create the go file. It says the file system is read only. I didn't watch the recovery when I did it so I am doing another recovery to make sure everything goes ok. If I remember correctly there isn't much to do in the recovery process, just insert the flash drive and unplug it when it's done. Anyway I noticed I didn't have to put it back into dev mode after the recovery ran last time so maybe that's an issue?
I tried to press ctrl d at the recovery screen before I started the recovery and nothing happened, that might be the correct behavior if the machine is already in dev mode?!
The "read only" error is probably due to not running the cd
at the beginning of the command, which I forgot to include. Updated above, sorry about that!
You only need the cd
when you log in via Ctrl+Alt+T inside ChromeOS. I always use VT2 (Ctrl+Alt+F2(top row, right arrow) then user "chronos" with no password), so I forget about it.
It's normal to stay in dev mode even after Recovery.
It's transitioning to dev mode now. I had to login and get to the desktop to get back to eerr non-dev mode. So I finally have it transitioning back to dev mode. ETA 6 minutes on the screen.
The script ran and all was green. I rebooted and now it says it's repairing itself . . . 3:45 minutes to go
OK good, that's ChromeOS working with the new partition structure. Takes a bit of time. That's phase one of the install. Then you run chrx again with the same args, and it does the actual OS install.
Failed with the same error I think . . . I attached a screenshot for your review. Ok. It looks like it stripped the screenshot from the email: crosh> shell chronos@localhost / $ export CHRX_ROOT="https://chrx.org/dev" chronos@localhost / $ cd ; curl -O $CHRX_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2000 100 2000 0 0 2000 0 0:00:01 0:00:01 --:--:-- 1040 chrx installer, version 2.4.2
Hardware ID: EVE
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... mke2fs 1.43.6 (29-Aug-2017) The file /dev/nvme0n17 does not exist and no size was specified. fatal: return code 1 from command "mkfs.ext4 /dev/nvme0n17" chronos@localhost ~ $
On Mon, Feb 12, 2018 at 11:00 AM, reynhout notifications@github.com wrote:
OK good, that's ChromeOS working with the new partition structure. Takes a bit of time. That's phase one of the install. Then you run chrx again with the same args, and it does the actual OS install.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/reynhout/chrx/issues/57#issuecomment-364850416, or mute the thread https://github.com/notifications/unsubscribe-auth/AirOUoqeOAGm7NMIZd2GDYw5-wcw51lxks5tT--qgaJpZM4SBQgW .
Hmm, that's the old version of the script. It should be 2.4.3.
...because I've failed you again. Sorry. Fixed below.
export CHRX_WEB_ROOT="https://chrx.org/dev"
cd ; curl -O $CHRX_WEB_ROOT/go && sh go [OPTIONS]
Here is the output Sir: crosh> shell chronos@localhost / $ export CHRX_WEB_ROOT="https://chrx.org/dev" chronos@localhost / $ cd ; curl -O $CHRX_WEB_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2000 100 2000 0 0 2000 0 0:00:01 0:00:01 --:--:-- 2439 chrx installer, version 2.4.3
Hardware ID: EVE
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...
unrecognized disk device!
Installing to ... Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information. Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-C cluster-size] [-i bytes-per-inode] [-I inode-size] [-J journal-options] [-G flex-group-size] [-N number-of-inodes] [-d root-directory] [-m reserved-blocks-percentage] [-o creator-os] [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory] [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]] [-t fs-type] [-T usage-type ] [-U UUID] [-e errors_behavior][-z undo_file] [-jnqvDFSV] device [blocks-count] fatal: return code 1 from command "mkfs.ext4" chronos@localhost ~ $
Hmm. OK, minor update with some better debugging. Try again?
crosh> shell chronos@localhost / $ export CHRX_WEB_ROOT="https://chrx.org/dev" chronos@localhost / $ cd ; curl -O $CHRX_WEB_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2000 100 2000 0 0 2000 0 0:00:01 --:--:-- 0:00:01 2283 chrx installer, version 2.4.3
Hardware ID: EVE
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 partitions...
Installing to /dev/nvme0n1p1... Install target /dev/nvme0n1p1 is already mounted!
Unmount manually (sudo umount -R /tmp/chrxroot) or reboot to try again. chronos@localhost ~ $
OK, those instructions at the end should be valid. sudo umount -R /tmp/chrxroot
or reboot
.
Sorry. I will re-read and go again. I was out and wasn't paying attention.
This is what I've been doing and I think it might be what you are asking. First I run: ctrl + alt + t shell export CHRX_WEB_ROOT="https://chrx.org/dev" cd ; curl -O $CHRX_WEB_ROOT/go && sh go
Then I reboot and run: ctrl + alt + t shell export CHRX_WEB_ROOT="https://chrx.org/dev" cd ; curl -O $CHRX_WEB_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 -H xxx -U xxx
Since I have done that, I will reboot again and try the script again?
crosh> shell chronos@localhost / $ export CHRX_WEB_ROOT="https://chrx.org/dev" chronos@localhost / $ cd ; curl -O $CHRX_WEB_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 -H xxx -U xxx % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2000 100 2000 0 0 2000 0 0:00:01 0:00:01 --:--:-- 2265 chrx installer, version 2.4.3
Hardware ID: EVE_
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 partitions...
Installing to /dev/nvme0n1p1... Install target /dev/nvme0n1p1 is already mounted!
Unmount manually (sudo umount -R /tmp/chrxroot) or reboot to try again. chronos@localhost ~ $ sudo umount -R /tmp/chrxroot umount: /tmp/chrxroot: not found chronos@localhost ~ $
This is after a reboot right?
Can you post the output of lsblk
when freshly booted into ChromeOS?
crosh> shell chronos@localhost / $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 8.5G 0 loop └─encstateful 253:1 0 8.5G 0 dm /mnt/stateful_partition/encrypted loop1 7:1 0 633.6M 1 loop /run/containers/android_YYwp7o/root loop2 7:2 0 142.6M 1 loop /run/containers/android_YYwp7o/root/vend loop3 7:3 0 4K 1 loop /opt/google/containers/arc-removable-med loop4 7:4 0 4K 1 loop /opt/google/containers/arc-sdcard/mountp loop5 7:5 0 4K 1 loop /opt/google/containers/arc-obb-mounter/m zram0 252:0 0 22.8G 0 disk [SWAP] nvme0n1 259:0 0 477G 0 disk ├─nvme0n1p1 259:1 0 28.8G 0 part /mnt/stateful_partition ├─nvme0n1p2 259:2 0 16M 0 part ├─nvme0n1p3 259:3 0 4G 0 part ├─nvme0n1p4 259:4 16M 0 part ├─nvme0n1p5 259:5 4G 0 part ├─nvme0n1p6 259:6 16M 0 part ├─nvme0n1p7 259:7 440G 0 part ├─nvme0n1p8 259:8 16M 0 part /usr/share/oem ├─nvme0n1p9 259:9 512B 0 part ├─nvme0n1p10 259:10 512B 0 part ├─nvme0n1p11 259:11 8M 0 part └─nvme0n1p12 259:12 32M 0 part chronos@localhost / $
The first time I run the script it isn't trying to partition anymore because it's already done. Should I recover and try it from a recovery?
Oops, another mistake here. Sorry, recovering from a cold...not as quickly as I thought.
I think I've fixed it now. You should not need to do a Recovery first.
btw, -e desktop -r 17.10.1
in the options is not necessary. "desktop" and "latest" are the defaults. "17.10.1" might confuse the version parser (it knows "17.10"), so if you have any issues after the dumb ones currently under discussion, you can try dropping those parameters.
chronos@localhost ~ $ cd ; curl -O $CHRX_WEB_ROOT/go && sh go -v -d ubuntu -e desktop -r 17.10.1 -H xxx -U xxx % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2000 100 2000 0 0 2000 0 0:00:01 --:--:-- 0:00:01 2478 chrx installer, version 2.4.3
Hardware ID: EVE_
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 partitions...
Installing to /dev/nvme0n1p7...
mke2fs 1.43.6 (29-Aug-2017)
Discarding device blocks: done
Creating filesystem with 115343360 4k blocks and 28835840 inodes
Filesystem UUID: 3470da86-020b-4743-92ab-44fe1430b985
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
Preparing installation root directory /tmp/chrxroot
Installing
operating system: linux
distribution (-d): ubuntu
environment (-e): desktop
release (-r): 17.10.1
version: 17.10.1 (CAUTION: untested!)
architecture (-a): amd64
mirror (-m): primary unknown, will use primary
target_disk (-t): /dev/nvme0n1
packages (-p):
System Configuration
hostname (-H): xxx
username (-U): xxx
locale (-L): en_US.UTF-8
timezone (-Z): America/New_York
Press [enter] to confirm and continue:
Fetching Ubuntu core image file... HTTP GET http://cdimage.ubuntu.com/ubuntu-base/releases/17.10.1/release/ubuntu-base-17.10.1-base-amd64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 356 100 356 0 0 356 0 0:00:01 --:--:-- 0:00:01 2225
gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now fatal: unable to download and extract core image file. chronos@localhost ~ $
I think you were right in your last comment. I dropped those 2 parameters and it looks like it is working now . . . It's 15 meg into the download anyway!!!
OK, excellent. Fingers crossed on the rest. :)
Creating user "xxx".
Adding user "xxx" to groups "adm sudo cdrom dip plugdev lpadmin". << exiting chroot
chrx installer is finished!
started: Mon Feb 12 19:50:35 +03 2018
finished: Mon Feb 12 20:08:46 +03 2018
elapsed: 18m11s
Installation log files will be preserved in /var/cache/chrx
After reboot, at the white "OS verification is OFF" screen, press:
CTRL-D to boot ChromeOS, or
CTRL-L to boot Ubuntu.
Your login is:
username: xxx
password: xxx
Be sure to change your password after log in!
Press [enter] when ready to reboot:
Thanks so much for getting your script to work on the Pixelbook with the nvme ssd!! I booted into Ubuntu and there isn't any sound but I will start working on that issue. I noticed at the beginning of the script there are some customization files. Do you have any documentation on them?
Awesome. Thank you for your help and patience!
Sound will likely be an issue on all distros right now, including GalliumOS (which usually has the best support). Hopefully suspend works..
No real documentation on the customization files, unfortunately. They fix little peripheral things (some of which might be inappropriate or just not necessary on EVE).
I just tested suspend by closing the lid. Now when I open it the screen is blank and when I touch a key they flash (back light), support is work in progress for sure. I'll try to get back to Linux and update things before I try suspend again!!
Thanks so much for the help!! I was able to format and reinstall Linux now that the partition is there and Chrome OS isn't complaining about it.
Excellent, glad to hear it!
Thanks again for your help.
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 `('