Open CABLE353 opened 2 weeks ago
Firstly the installation instructions have changed. You now need to install with: sudo CROUTON_BRANCH=silence crouton -r distro -t targets
That should fix the problem but additionally, in my experience, the unity target has dependencies on fonts that have been renamed so it can also cause installation to fail. To be absolutely certain you can install with minimal targets, -t core,cli
should be sufficient, then update with the targets you want after confirming that you can access the chroot.
Oops it's -t core,cli-extra
Ok. Let me try that real quick...
Nothing really happened. It didn't fail as far as I can tell but nothing happened either:
Does the command look right?
Sorry distro is the name of the distribution you want, I didn't make that clear.
Also you need to log in to vt2 to start crew-sudo. You can log out again immediately after and switch back to crosh.
Now I'm getting a
sudo: crouton: command not found
error:
I logged out then back into the vt2 chronos shell, & restarted the crosh shell also.
Did you make the installer executable? I don't remember the command but I think it's in the reader.
This is from the readme:
If you're just here to use crouton, you can grab the latest release from https://goo.gl/fd3zc?si=1. Download it, pop open a shell (Ctrl+Alt+T, type shell and hit enter), make the installer executable with sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton, then launch it with sudo crouton to see the help text.
You then need to run the sudo CROUTON_BRANCH=silence crouton command. Unity is a desktop not a distribution, you could install xenial as you were trying before but it's pretty old and you might have more luck with focal, so sudo CROUTON_BRANCH=silence crouton -r focal -t core,cli-extra
should work. After that ensure that the enter-chroot command takes you into the chroot then run sudo CROUTON_BRANCH=silence crouton -n focal -u -t
with your original list of targets following the t. I'd omit unity from that list, it's unlikely to work.
It's downloading. I used focal like you suggested; & since I only want one desktop so I only did the first CROUTON_BRANCH command that you recommended. It looks successful so far... hopefully the install goes well & the enter-chroot works 🤞. It seems to keep failing a download though: W: Retrying failed download of http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.31-0ubuntu9_amd64.deb
Is this normal?
It looks like there are a few failed downloads. Around like 10 or more. All are .Deb files from the archive.ubuntu website; & some look to be corrupt upon downloading.
W: Retrying failed download of http://archive.ubuntu.com/ubuntu/pool/main/p/p11-kit/libp11-kit0_0.23.20-1build1_amd64.deb I: Retrieving libp11-kit0 0.23.20-1build1 W: Retrying failed download of http://archive.ubuntu.com/ubuntu/pool/main/p/p11-kit/libp11-kit0_0.23.20-1build1_amd64.deb I: Retrieving libp11-kit0 0.23.20-1build1 W: Retrying failed download of http://archive.ubuntu.com/ubuntu/pool/main/p/p11-kit/libp11-kit0_0.23.20-1build1_amd64.deb W: http://archive.ubuntu.com/ubuntu/pool/main/p/p11-kit/libp11-kit0_0.23.20-1build1_amd64.deb was corrupt W: Couldn't download package libp11-kit0 (ver 0.23.20-1build1 arch amd64) at http://archive.ubuntu.com/ubuntu/pool/main/p/p11-kit/libp11-kit0_0.23.20-1build1_amd64.deb
This also happened:
E: Couldn't download packages: libp11-kit0 debootstrap error log: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 4 53700 4 2606 0 0 2759 0 100 53700 100 53700 0 0 34367 0 100 53700 100 53700 0 0 34364 0 0:00:01 0:00:01 --:--:-- 34379 Failed to run debootstrap.
And the enter-chroot
command doesn't exist. Do I have to restart the shell first for it to take affect?
Retried it again with an ethernet connection & it didn't fail to download anything this time, but I got the same error as before 😭:
That's actually progress, it's at least running more or less as expected. If it were me, I'd back up anything I wanted to keep and powerwash to start over with a clean install at this point. That can be a bit of a pain since you need to reinstall chromebrew and crew-sudo again but probably worth it. If you don't want to powerwash you could try updating and see if that fixes any outstanding issues: sudo CROUTON_BRANCH=silence crouton -r focal -u
Updating didn't fix it; I tried to set permissions to 777 for the path all the way up to '/var/run/crouton/mnt/stateful_partition/crouton/chroots/focal/var/' and then it freaked out on me:
This is weird. I know it's a noob question😆; but can't I just get a portable version of the operating system? You know, simple copy & paste into the /usr/local/ directory & then boot it up from there?
You shouldn't need to change any permissions to make it work. It's more likely that the data that was retained from the earlier attempts can't be made to function, which is why it won't complete the set up. That's why I suggested a powerwash since it will clean out any files that are preventing the installation from completing.
You could try the following:
sudo rm -r /mnt/stateful_partition/crouton
That should remove any files associated with the failed installs but may delete other files you need. Then you could run the installer again. Overall I prefer to powerwash since I find it easier to restore a whole backup than try to figure out which parts are missing.
Well, I was trying my best to avoid doing a powerwash. Alas I'm just coming from crostini. I'm not going to lie, it really sucks that the backup feature for it STILL doesn't work properly. On my Chromebook, if I accidentally do something to my crostini container that makes it unfunctional; I can't just restore it via backup; I have to powerwash the ENTIRE Chromebook first. So I was hopeful that I could install something linux that I didn't have to powerwash for, but it seems no matter what, ANYTHING that has to do with Linux doesn't work after failing on a Chromebook until you powerwash the stupid thing🙄.
I'm going to powerwash now. I'll let you know if the installer is working for me.
I wouldn't necessarily say chromebooks are designed to be powerwashed but they don't interact with local files in the same way as any other os. Pretty much anything that can be saved is saved in your profile and you really need something like crostini or crouton to interact with 'local'' files. I have all the files I use on an external drive so a powerwash is a simple solution, all I need to remember is how to set up the environment again and all the files will already be in place.
Ok. Just powerwashed, and went back to the stable channel, and I'm still getting the exact same error:
I really must be an anomaly, or the script needs some major fixing for ChromeOS 126.0.6478.251.
Is there a way to redirect the location of the chroot away from the /mnt/stateful_partition/
folder?
Two things you could check are if the directory already exists and if you can use mkdir to create it at the same location yourself. There was a security update around chromeos 126 that required remounting the security folder but I thought it was patched into the installer. I certainly haven't had issues since crouton was updated but I only restored existing chroots, I haven't actually created a new one since then. To remount security run sudo mount -o remount,rw /sys/kernel/security/
before running the installer. That may give you the write permissions to create the directory.
After remounting the security directory, It didn't make a difference unfortunately. I've also tried disabling write protect using flashrom, to no avail. I think the ChromeOS dev team has finally figured out a way to completely squash the crouton environment for new users🙄.
Why does the crouton environment even need a write protected directory like that anyway?
It was actually Google who changed the security to keep certain parts of the disc from being accessed. The remount is a workaround. But it should be included in the installer now anyway so I didn't think that was the issue. Maybe you could try a debian distro if ubuntu isn't working. Bullseye might run. I'm using bookworm but I don't remember it being straightforward to install so it's probably better trying Bullseye first. Replace focal with bullseye in the installation command and see what happens.
Didn't work with bullseye. Still getting the same error.
Is there any way to force enter-chroot, even if it's detected as "invalid" or "incomplete"?
It also doesn't work with bookworm. All the same errors. Would I brick my Chromebook if I decided to permanently unmount the security Kernal?
I made my roots permanently read/writable & STILL got the same error. So I think this is a crouton script error in whatever handoff it does with making this specific directory & giving correct permissions for the script to finish it further. This is kind of sad. I was hoping to install steam using a chroot desktop among other .Deb packages. Is there any other way of doing that with just chromebrew?
Looking at your errors, it seems like the mount point has actually been created but the issue arrises when it tries to copy the mount as a variable to the /var/ folder. Why that should be happening I don't know. Did you try running the installer in vt2? It's possible there's a permission conflict when crew-sudo passes the commands there from crosh. Alternatively you could try creating the directory yourself using mkdir and see if it's recognised.
I made my rootfs permanently read/writable & STILL got the same error, even in VT2 & with mkdir. This is kind of sad. I was hoping to install steam within the chroot desktop along with other .Deb packages.
Please describe your issue:
Crouton won't install the chroot properly. It's about 98% there and it gives the dredded "Permission Denied" error for 2 directories it tries to make/use:
Installing mount-chroot into the host... Installing unmount-chroot into the host... Installing crash_reporter_wrapper into the host... /tmp/crouton-installer-cache/crouton.nIZ/host-bin/crash_reporter_wrapper: /var/run/crw/crw: /bin/sh: bad interpreter: Permission denied /tmp/crouton-installer-cache/crouton.nIZ/host-bin/crash_reporter_wrapper: line 119: /var/run/crw/crw: Success WARNING: Unable to register core dump handler. cp: cannot create directory '/var/run/crouton/mnt/stateful_partition/crouton/chroots/xenial/var/run/drm': Permission denied Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
When I try to "sudo enter-chroot it gives me this:
chronos@localhost / $ sudo enter-chroot Password: Enter encryption passphrase for xenial: Entering /mnt/stateful_partition/crouton/chroots/xenial... /usr/local/bin/crash_reporter_wrapper: /var/run/crw/crw: /bin/sh: bad interpreter: Permission denied /usr/local/bin/crash_reporter_wrapper: line 119: /var/run/crw/crw: Success WARNING: Unable to register core dump handler. A chroot setup script still exists inside the chroot. The chroot may not be fully set up. Would you like to finish the setup? [Y/n/d] n Skipping setup. You will be prompted again next time. /mnt/stateful_partition/crouton/chroots/xenial doesn't appear to be a valid chroot. Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
If I choose yes, it tries to re-run the setup script that was found, but then it fails with the exact same Permissions error, & then deletes the script rendering the chroot invalid/useless/broken/ect; options n & d just skip the retry attempt & delete the "leftover" script file. I have Chromebrew installed which just allows me to sudo in the crosh shell(not VT2), I've deleted & reinstalled crouton many times, I've also disconnected the battery from the board to disable firmware write protection, & installed the crouton integration chrome extension to no avail. I'm currently on the dev channel & have dev mode enabled. I'm on a Lenovo 100e Chromebook with 32gb of NAND disk space 4gb of RAM & an Intel Celeron CPU. My chrome Os version info is:
Google Chrome 129.0.6668.18 (Official Build) dev (64-bit) Revision 2ff0f2510c7a962b63e8fbf3a3a42da735affd80-refs/branch-heads/6668@{#400} Platform 16002.10.0 (Official Build) dev-channel coral Firmware Version Google_Coral.10068.92.0 Customization ID ROBO ARC SDK Version: Unknown JavaScript V8 12.9.202.5 User Agent Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
I'm not sure what else I need to do to get this crap working. Please help!
If known, describe the steps to reproduce the issue:
Try to install a Chroot using:
sudo sh /path/to/downloaded/croutonscriptfile/ -r xenial -t x11,chrome,xorg,xiwi,keyboard,touch,unity,xfce -e -u