GithubHelp home page GithubHelp logo

drinkcat / chroagh Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dnschneid/crouton

241.0 34.0 27.0 22.54 MB

Chromium OS Archlinux Chroot Environment

License: BSD 3-Clause "New" or "Revised" License

Makefile 0.62% Shell 68.57% Scheme 0.16% Python 0.10% XML 0.11% ApacheConf 0.16% HTML 1.35% JavaScript 6.24% C++ 8.43% C 14.27%

chroagh's Introduction

chroagh

chroagh is a fork of crouton, that allows you to run another Linux distribution side by side with Chromium OS.

The main idea of this branch is to get people to test features before they are pushed to crouton, especially for Arch Linux users. Expect things to break, and please file bug reports when they do!

This is essentially crouton, with the following branch merged:

  • croagh+arch: Add support for Arch Linux.

Usage

These instructions assume that you want to install Arch Linux.

Switch your device to developer mode

First, switch your Chromebook into developer mode (careful, this will erase all your data), see the instructions here. It will take about 15 minutes. From then on, on each boot-up, you will need to press Ctrl+D.

Create the chroot

  1. Launch a crosh shell (Ctrl+Alt+T, you can paste in the console using Ctrl+Shift+V), then enter shell.

  2. Download and extract chroagh:

    cd ~/Downloads wget https://api.github.com/repos/drinkcat/chroagh/tarball -O chroagh.tar.gz tar xvf chroagh.tar.gz cd drinkcat-chroagh-*

  3. Create the rootfs:

    sudo sh -e installer/main.sh -r arch -t xfce

You can specify a mirror using
`-m 'http://mymirror/archlinux/$repo/os/$arch'`.
(Be careful to keep the single quotes around the mirror URL.)
On ARM, the URL is in the form
`-m 'http://tw.mirror.archlinuxarm.org/armv7h/$repo'`: just change the
country code from `tw` to [somewhere near you](http://archlinuxarm.org/about/mirrors);
On x86, you can pick one from [this list](https://www.archlinux.org/mirrorlist/).

Start the chroot

Run either of these commands:

  • sudo startxfce4 to start XFCE in a separate screen (you can switch between screens with Ctrl+Alt+Shift+Back or Ctrl+Alt+Shift+Forward)
  • sudo enter-chroot to launch a bash shell

Notes on git tree

This repository is a bit strange, because we constantly rebase on dnschneid/crouton

That means you need to do the following to fetch modifications from the tree:

    git fetch --all
    git reset --hard origin/master

Be careful, as this will erase any other commit you did in your own master branch.

Original documentation follows:

crouton: Chromium OS Universal Chroot Environment

crouton is a set of scripts that bundle up into an easy-to-use, Chromium OS-centric chroot generator. Currently Ubuntu and Debian are supported (using debootstrap behind the scenes), but "Chromium OS Debian, Ubuntu, and Probably Other Distros Eventually Chroot Environment" doesn't acronymize as well (crodupodece is admittedly pretty fun to say, though).

"crouton"...an acronym?

It stands for ChRomium Os Universal chrooT envirONment ...or something like that. Do capitals really matter if caps-lock has been (mostly) banished, and the keycaps are all lower-case?

Moving on...

Who's this for?

Anyone who wants to run straight Linux on their Chromium OS device, and doesn't care about physical security. You're also better off having some knowledge of Linux tools and the command line in case things go funny, but it's not strictly necessary.

What's a chroot?

Like virtualization, chroots provide the guest OS with their own, segregated file system to run in, allowing applications to run in a different binary environment from the host OS. Unlike virtualization, you are not booting a second OS; instead, the guest OS is running using the Chromium OS system. The benefit to this is that there is zero speed penalty since everything is run natively, and you aren't wasting RAM to boot two OSes at the same time. The downside is that you must be running the correct chroot for your hardware, the software must be compatible with Chromium OS's kernel, and machine resources are inextricably tied between the host Chromium OS and the guest OS. What this means is that while the chroot cannot directly access files outside of its view, it can access all of your hardware devices, including the entire contents of memory. A root exploit in your guest OS will essentially have unfettered access to the rest of Chromium OS.

...but hey, you can run TuxRacer!

Prerequisites

You need a device running Chromium OS that has been switched to developer mode.

For instructions on how to do that, go to [this Chromium OS wiki page] (http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices), click on your device model and follow the steps in the Entering Developer Mode section.

Note that developer mode, in its default configuration, is completely insecure, so don't expect a password in your chroot to keep anyone from your data. crouton does support encrypting chroots, but the encryption is only as strong as the quality of your passphrase. Consider this your warning.

It's also highly recommended that you install the [crouton extension] (https://goo.gl/OVQOEt), which, when combined with the extension or xiwi targets, provides much improved integration with Chromium OS.

That's it! Surprised?

Usage

crouton is a powerful tool, and there are a lot of features, but basic usage is as simple as possible by design.

If you're just here to use crouton, you can grab the latest release from https://goo.gl/fd3zc. Download it, pop open a shell (Ctrl+Alt+T, type shell and hit enter), and run sh ~/Downloads/crouton to see the help text. See the "examples" section for some usage examples.

If you're modifying crouton, you'll probably want to clone or download the repo and then either run installer/main.sh directly, or use make to build your very own crouton. You can also download the latest release, cd into the Downloads folder, and run sh crouton -x to extract out the juicy scripts contained within, but you'll be missing build-time stuff like the Makefile.

crouton uses the concept of "targets" to decide what to install. While you will have apt-get in your chroot, some targets may need minor hacks to avoid issues when running in the chrooted environment. As such, if you expect to want something that is fulfilled by a target, install that target when you make the chroot and you'll have an easier time. Don't worry if you forget to include a target; you can always update the chroot later and add it. You can see the list of available targets by running sh ~/Downloads/crouton -t help.

Once you've set up your chroot, you can easily enter it using the newly-installed enter-chroot command, or one of the target-specific start* commands. Ta-da! That was easy.

Examples

The easy way (assuming you want an Ubuntu LTS with Xfce)

  1. Download crouton
  2. Open a shell (Ctrl+Alt+T, type shell and hit enter) and run sudo sh ~/Downloads/crouton -t xfce
  3. Wait patiently and answer the prompts like a good person.
  4. Done! You can jump straight to your Xfce session by running sudo enter-chroot startxfce4 or, as a special shortcut, sudo startxfce4
  5. Cycle through Chromium OS and your running graphical chroots using Ctrl+Alt+Shift+Back and Ctrl+Alt+Shift+Forward.
  6. Exit the chroot by logging out of Xfce.

With encryption!

  1. Add the -e parameter when you run crouton to create an encrypted chroot or encrypt a non-encrypted chroot.
  2. You can get some extra protection on your chroot by storing the decryption key separately from the place the chroot is stored. Use the -k parameter to specify a file or directory to store the keys in (such as a USB drive or SD card) when you create the chroot. Beware that if you lose this file, your chroot will not be decryptable. That's kind of the point, of course.

Hey now, Ubuntu 12.04 is pretty old; I'm young and hip

  1. The -r parameter specifies which distro release you want to use.
  2. Run sh ~/Downloads/crouton -r list to list the recognized releases and which distros they belong to.

Wasteful rendundancies are wasteful: one clipboard, one browser, one window

  1. Install the crouton extension into Chromium OS.
  2. Add the extension or xiwi version to your chroot.
  3. Try some copy-pasta, or uninstall all your web browsers from the chroot.

Installing the extension and its target gives you synchronized clipboards, the option of using Chromium OS to handle URLs, and allows chroots to create graphical sessions as Chromium OS windows.

I don't always use Linux, but when I do, I use CLI

  1. You can save a chunk of space by ditching X and just installing command-line tools using -t core or -t cli-extra
  2. Enter the chroot in as many crosh shells as you want simultaneously using sudo enter-chroot
  3. Use the Crosh Window extension to keep Chromium OS from eating standard keyboard shortcuts.
  4. If you installed cli-extra, startcli will launch a new VT right into the chroot.

A new version of crouton came out; my chroot is therefore obsolete and sad

  1. Check for updates, download the latest version, and see what's new by running croutonversion -u -d -c from the chroot (run croutonversion -h to see what those parameters actually do).
  2. Exit the chroot and run sudo sh ~/Downloads/crouton -u -n chrootname. It will update all installed targets.

A backup a day keeps the price-gouging data restoration services away

  1. sudo edit-chroot -b chrootname backs up your chroot to a timestamped tarball in the current directory. Chroots are named either via the -n parameter when created or by the release name if -n was not specified.
  2. sudo edit-chroot -r chrootname restores the chroot from the most recent timestamped tarball. You can explicitly specify the tarball with -f
  3. If your machine is new, powerwashed, or held upside-down and shaken, you can use the crouton installer to restore a chroot and relevant scripts: sudo sh ~/Downloads/crouton -f mybackup.tar.gz

Unlike with Chromium OS, the data in your chroot isn't synced to the cloud.

This chroot's name/location/password/existence sucks. How to fix?

  1. Check out the edit-chroot command; it likely does what you need it to do.
  2. If you set a Chromium OS root password, you can change it with sudo chromeos-setdevpasswd
  3. You can change the password inside your chroot with passwd

I want to install the chroot to another location

  1. Use -p to specify the directory in which to install the chroot and scripts. Be sure to quote or escape spaces.
  2. When entering the chroot, either specify the full path of the enter-chroot or start* scripts (i.e. sudo sh /path/to/enter-chroot), or use the -c parameter to explicitly specify the chroots directory.

Downloading bootstrap files over and over again is a waste of time

  1. Download crouton
  2. Open a shell (Ctrl+Alt+T, type shell and hit enter) and run sudo sh ~/Downloads/crouton -d -f ~/Downloads/mybootstrap.tar.bz2
  3. Include the -r parameter if you want to specify for which release to prepare a bootstrap.
  4. You can then create chroots using the tarball by running sudo sh ~/Downloads/crouton -f ~/Downloads/mybootstrap.tar.bz2. Make sure you also specify the target environment with -t.

This is the quickest way to create multiple chroots at once, since you won't have to determine and download the bootstrap files every time.

Targets are cool. Abusing them for fun and profit is even cooler

  1. You can make your own target files (start by copying one of the existing ones) and then use them with any version of crouton via the -T parameter.

This is great for automating common tasks when creating chroots.

Help! I've created a monster that must be slain!

  1. The delete-chroot command is your sword, shield, and only true friend. sudo delete-chroot evilchroot
  2. It's actually just a shortcut to sudo edit-chroot -d evilchroot, which I suppose makes it a bit of a deceptive Swiss Army knife friend...still good?

Tips

  • Chroots are cheap! Create multiple ones using -n, break them, then make new, better ones!
  • You can change the distro mirror from the default by using -m
  • Want to use a proxy? -P lets you specify one (or disable it).
  • A script is installed in your chroot called brightness. You can assign this to keyboard shortcuts to adjust the brightness of the screen (e.g. brightness up) or keyboard (e.g. brightness k down).
  • Multiple monitors will work fine in the chroot, but you may have to switch to Chromium OS and back to enable them.
  • You can make commands run in the background so that you can close the terminal. This is particularly useful for desktop environments: try running sudo startxfce4 -b
  • Want to disable Chromium OS's power management? Run croutonpowerd -i
  • Only want power management disabled for the duration of a command? croutonpowerd -i command and arguments will automatically stop inhibiting power management when the command exits.
  • Have a Pixel or two or 4.352 million? -t touch improves touch support.
  • Want to share some files and/or folders between ChromeOS and your chroot?
    Check out the /etc/crouton/shares file, or read all about it in the wiki.
  • Want more tips? Check the wiki.

Issues?

Running another OS in a chroot is a pretty messy technique (although it's hidden behind very pretty scripts), and these scripts are relatively new, so problems are not surprising. Check the issue tracker and file a bug if your issue isn't there. When filing a new bug, include the output of croutonversion run from inside the chroot or, if you cannot mount your chroot, include the output of cat /etc/lsb-release from Crosh.

I want to be a Contributor!

That's great! But before your code can be merged, you'll need to have signed the Individual Contributor License Agreement. Don't worry, it only takes a minute and you'll definitely get to keep your firstborn, probably. If you've already signed it for contributing to Chromium or Chromium OS, you're already done.

If you don't know what to do with your time as an official Contributor, here's some suggestions:

  • Really like a certain desktop environment? Fork crouton, add the target, and create a pull request.
  • Feel like hacking around with Chromium OS integration? Fork crouton, improve integration, and create a pull request.
  • Is your distro underrepresented? Want to contribute to the elusive and mythical beast known as "croagh"? Fork crouton, add the distro, and create a pull request.
  • Discovered a bug lurking within the scripts, or a papercut that bothers you just enough to make you want to actually do something about it? You guessed it: fork crouton, fix everything, and create a pull request.

Are there other, non-Contributory ways I can help?

Yes!

But how?

There's a way For Everyone to help!

  • Something broken? File a bug! Bonus points if you try to fix it. It helps if you provide the output of croutonversion (or the output of cat /etc/lsb-release from Crosh) when you submit the bug.
  • Want to try and break something? Look through requests for testing and then do your best to brutally rip the author's work to shreds.
  • Look through open issues and see if there's a topic or application you happen to have experience with. And then, preferably, share that experience with others.
  • Find issues that need wiki entries and add the relevant info to the wiki. Or just add things to/improve things in the wiki in general, but do try to keep it relevant and organized.
  • Really like a certain desktop environment, but not up for coding? Open or comment on a bug with steps to get things working well.
  • Hang out in the #crouton IRC channel on freenode.net!

License

crouton (including this eloquently-written README) is copyright © 2014 The crouton Authors. All rights reserved. Use of the source code included here is governed by a BSD-style license that can be found in the LICENSE file in the source tree.

chroagh's People

Contributors

agriffis avatar cgarst avatar dennislfromga avatar dimonf avatar divx118 avatar dnschneid avatar drinkcat avatar ibukanov avatar jimt avatar lnxsrt avatar micahflee avatar michaelorr avatar mixu avatar nromsdahl avatar phated avatar stevenmaude avatar stsquad avatar tantalor avatar tobbe avatar tonyxue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chroagh's Issues

Graphical access as non-root user

I can't figured out how to start graphical applications (such as gajim for example) as a non-root user. With ubuntu raring it works fine as user.

What I've tried already in the chroot

     :~# xhost +
     :~# su - markus
     :~$ export DISPLAY=:0.0
     :~$ gajim

..gajim can't detect the X-Server as it looks like.

Any ideas?

Leave gcc/binutils

The installer removes gcc as the last installation step. We should leave it for any future package compilation.

This is not a bug or major request. TBH it only took "pacman -S gcc" to rectify.

error cleanup is handled poorly

error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
==> ERROR: Failed to install packages to new root
umount: /newroot/tmp: umount failed: No such file or directory
umount: /newroot/run: umount failed: No such file or directory
umount: /newroot/dev/shm: umount failed: No such file or directory
umount: /newroot/dev/pts: umount failed: No such file or directory
umount: /newroot/dev: umount failed: No such file or directory
umount: /newroot/sys: umount failed: No such file or directory
umount: /newroot/proc: umount failed: No such file or directory
umount: /newroot: umount failed: No such file or directory
umount2: Device or resource busy
umount: /tmp/main.sh.z2F: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
umount2: Device or resource busy

not a clean exit.

black screen on ctrl-alt-shift--> only wakes up with change of charging connection

I've just installed the separate partition version, with trusty (since it didn't offer arch) on a new ASUS C200. Ctrl-alt-shift-<- goes back to Chrome, but with ctrl-alt-shift--> it's a blank screen. However unplugging or plugging in the power plug turns the screen on. I've disabled the screen saver, so it's not that. Doesn't matter whether it's plugged into power or not. It's the change of state from one to the other that wakes the screen up. Don't want to have to carry the power cord at all times for that. It stays off with an attempt to ctrl-alt-shift-<- back to Chrome too. Haven't found anything else to bring it back aside from the power plug.

unable to install arch / possible mirrors issue - package acl not found

tried 1/2 dozen mirror sites with -m, but always get this error, re: package acl

is there a contact within arch mirrors to report this to?

Installing provided chroot to /usr/local/chroots/xalarm
Fetching repository packages list...
Fetching core...
Fetching community...
Fetching extra...
Fetching alarm...
Fetching aur...
Downloading and extracting packages...
Cannot find package acl
chronos@localhost ~/Downloads/drinkcat-chroagh-0c6d70d $

systemd support development?

Well im wondering what needs done the system to support systemd natively. I know you said something in IRC one day but I do not remember what it is that was discussed.
With Debian and Ubuntu both deciding to switch over to systemd it might be something to think about putting some work into, I know I've been thinking about it but not sure where to start.
What are the options here?

Only 2G on my Arch

I wonder if people can advice me how to extend the memory of my Chromebook HP 14. I am on a 16GB HD but when I put chroagh only shows 2GB. I have a complex partition table which involves up to 12 different partitions.

If anyone is related with this setup can anyone advice me how to add more space. (I could mount/nuke one of these partitions are mount it as home?).

I dont want to touch it since they are label as ChromeOS partitions, but it seems a bit odd they are triplicated. Hopefully some chromebook expert can explain me why all those partitions and their porpouse.

Back Up Chroot

About a month ago David added the ability to back up a chroot, and I was hoping I could do the same either using a variation of his script or by some other method. I have already tried pasting his chroot version into /usr/lib/local/edit-chroot(where the backup switch exists) but gives me an error about something missing from installer/.
So basically do you know of any easy way to backup? Or do you have any plans to add it.
Thanks

Intellij Idea?

Anyone successfully install intellij-idea-community-edtion with this setup? Thanks.

Can't start any services (not specific to chromebooks, but still an issue)

systemctl can not start services in a chroot. This causes me issues as I need sshi and other services running. I would not have opened an issue had it not been for the fact that the Ubuntu chroot is able to do this without a problem (doesn't use systemctl). If possible, please offer a workaround/solution for this as I have to use an Ubuntu chroot to do some of my work. Thank you very much.

Random reboots

I've been getting random shutdowns since installing chroagh a few days ago. It's happened four times since Monday, and it seems to happen without any warning and completely at random.

I'm running version 37.0.2062.53 beta (64-bit) on an Acer C720, an up to date Arch system, using Awesome WM.

croutonversion gives:
crouton: version git
release: arch
architecture: x86_64
targets: keyboard,cli-extra
host: version 5978.37.0 (Official Build) beta-channel peppy

Can anybody assist me in tracking down this bug. I'm happy to provide more info if somebody can tell me the commands to run.

Needs X86 support

I have an Acer C7 to help test on. Please consider adding support. I have an ubuntu chroot to compare testing to if needed. I'm an avid linux user, and am familiar with chroots, just not chromeOS.

Gnome on Arch?

I just want to nicely ask if there are any current plans to try and get Gnome working on arch chroots?

I have read the comment fields in your source files and understand there are issues. At the same time the fields refer to version 2.8, which is a bit old now. Are there still issues? Is there anything a guy with standard shell scripting knowledge can do to help?

Updater Error

I am running into an error using the update function of the script:

First I try:

$ sudo sh -e installer/main.sh -u -n arch
/usr/local/chroots/arch already exists; updating it...
sed: can't read /var/run/crouton/usr/local/chroots/arch/etc/os-release: No such file or directory
Unable to determine the release in /usr/local/chroots/arch. Please specify it with -r.

Then I try:

$ sudo sh -e installer/main.sh -u -n arch -r arch
/usr/local/chroots/arch already exists; updating it...
sed: can't read /var/run/crouton/usr/local/chroots/arch/etc/os-release: No such file or directory
Release doesn't match! Please correct the -r option, or specify a second -u to
change the release, upgrading the chroot (dangerous).

Any help? I prefer to update over reinstall since I have a lot of local development configuration set up (MySQL, Apache, etc.)

basic install commands for arch still don't work

sudo sh -e installer/main.sh -r arch -t audio,chromium,cli-extra,keyboard,xbmc -p /usr/local/crouton/

Packages (49): acl-2.2.52-1 archlinux-keyring-20130926-1 attr-2.4.47-1 bash-4.2.045-5 bzip2-1.0.6-4 coreutils-8.21-2 cracklib-2.9.0-1
curl-7.32.0-2 db-5.3.21-1 dirmngr-1.1.1-1 expat-2.1.0-2 filesystem-2013.05-2 gawk-4.1.0-1 gcc-libs-4.8.1-3 glibc-2.18-5
gmp-5.1.2-1 gnupg-2.0.21-1 gpgme-1.4.3-1 grep-2.14-2 iana-etc-2.30-3 libarchive-3.1.2-2 libassuan-2.1.1-1 libcap-2.22-5
libgcrypt-1.5.3-1 libgpg-error-1.12-1 libgssglue-0.4-1 libksba-1.3.0-1 libldap-2.4.36-1 libsasl-2.1.26-4 libssh2-1.4.3-1
libtirpc-0.2.3-1 linux-api-headers-3.10.6-1 lzo2-2.06-1 mpfr-3.1.2-1 ncurses-5.9-5 openssl-1.0.1.e-3 pacman-4.1.2-1
pacman-mirrorlist-20130830-1 pam-1.1.6-4 pambase-20130113-1 pcre-8.33-1 pinentry-0.8.3-1 pth-2.0.7-4 readline-6.2.004-1
shadow-4.1.5.1-6 tzdata-2013f-1 util-linux-2.23.2-1 xz-5.0.5-1 zlib-1.2.8-1

Total Installed Size: 158.82 MiB

:: Proceed with installation? [Y/n]
error: no servers configured for repository: core
error: failed to commit transaction (no servers configured for repository)
Errors occurred, no packages were upgraded.
Failed to complete chroot setup.
Unmounting /usr/local/crouton/chroots/arch...

not sure what went south here ...

targets/audio

I've modified the targets/core and targets/cli-extra with the minimal required to get past that point of installation for Manjaro. I am currently using the symlink system as debian and kali both do for Debian.

In this branch (manjaro) I have not touched targets/audio yet and I get a syntax error as follows:
2014-02-03 04:35:25 (189 KB/s) - '/tmp/crouton-cras.meqikp/adhd.tar.gz' saved [317393]

/prepare.sh: line 912: syntax error near unexpected token `<<<'
Failed to complete chroot setup.

make-unbindable mount breaks chromeos build tools

There's probably a bit of irony here :-)

But the use of make-unbindable in the mounts in the scripts makes it impossible for the chromeos build system to be used with chroagh. I think this has been fixed on crouton (not sure) but it would be nice to fix it on chroagh. For now I've just removed that mount option.

I've forgotten what problem make-unbindable was trying to solve.

I'm still not sure I understand how anyone uses chroagh on media mounted in /medira/removable/... ? the mount options rule out almost everything. Are you folks all remounting it or ...

thanks

OpenVPN bridging issue.

Hi drinkcat.

Connecting to an OpenVPN server on the same lan isn't a problem but when bridging involved I'm getting the the following error:
"connot find device "tun0" ".
The solution for this is to create 2 tun device with

ip tuntap add tun0 mode tun

ip tuntap add tun1 mode tun

And after that OpenVPN creates tun2 without an issue.
Don't know why this happen but it looks like this behaviour is also true for Crouton so if you will fix it maybe also PR this to Crouton.
See
http://blog.martinh.net/2013/02/hacking-chromebook-for-fun-and-profit.html

Error starting x server

I get this when using xinit or startx

startx && fluxbox

libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Function not implemented

X.Org X Server 1.16.0
Release Date: 2014-07-16
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.15.5-2-ARCH x86_64 
Current Operating System: Linux localhost 3.10.18 #1 SMP Thu Aug 7 12:47:47 PDT 2014 x86_64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=43a321a9-f574-9f45-9f91-24b4ee7d03cf/PARTNROFF=1 hashtree=PARTUUID=43a321a9-f574-9f45-9f91-24b4ee7d03cf/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=4093110f2cbe93f080961cf41278a355df5901c2 salt=64b4a4b240201145c350cac6ed46deeeebae00370a70cb693f7e67f9c7b788b0" noinitrd vt.global_cursor_default=0 kern_guid=43a321a9-f574-9f45-9f91-24b4ee7d03cf add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic 
Build Date: 31 July 2014  11:53:19AM

Current version of pixman: 0.32.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Sun Aug 17 22:06:46 2014
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Function not implemented
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Function not implemented
Running exit commands...
/usr/bin/xinit: connection to X server lost

waiting for X server to shut down .(EE) Server terminated successfully (0). Closing log file.

Error: Couldn't connect to XServer passing null display

git rebase -i <branch>/master

I cannot get the rebase working properly. I keep getting told there needs to be a previous commit message. I've tried modifying all the commit messages while doing the squash and it did not work. How do I get it to squash the commits properly?

Unable to update arch chroot

Hello,

I recently reinstalled an arch chroot and am unable to update it with installer/main.sh. I get the following error:

/usr/local/chroots/arch already exists; updating it...
sed: can't read /var/run/crouton/usr/local/chroots/arch/etc/os-release: No such file or directory
Unable to determine the release in /usr/local/chroots/arch. Please specify it with -r.

When I try with the -r I get the same missing file error and a "release doesn't match" message. If I try to force it with a second -u it still doesn't cooperate due to the os-release error.

It also refuses to go into an x-session directly from ChromeOS shell, but it I enter the chroot via terminal and then issue "startxfce4" everything works well. It appears to be trying to start on display 0 and then unmounts.

Any help getting there without having to delete and recreate the chroot would be appreciated. Using f2cf9ae on an Acer C720.

Thanks

(Question) Setup Arch with no Desktop Environment

So my question is basically how do I setup the chroot without a desktop environment? Also what else do I need to do to get the "host-x11" command working so I can launch applications from Archlinux into the chrome os environment (basically something like skype in another window instead of switching into the chroot).

sudo initialization/root pw.

I have modified master to allow for Manjaro usage because it is my preferred distro of choice. It seems as if I have gotten everything working properly. The only thing that does not work is sudo and I am unsure what the default root password is set as. Where would these two be set because sudo works in Arch but not within Manjaro?

x86 support?

Wondering if chroagh supports my x86 Samsung series 5 Chromebook, I'd really like to be able to use archlinux on my Chromebook. Was also wondering if there is the ability to just install the cli.

Login as user

Apologies for noobish question, but can't figure out how to switch to my user account after XFCE loads. I'm root and can't figure out how to get out of there to a regular user desktop.

Thanks for any advice.

Why are basic arch linux commands and targets not found?

I successfully installed Arch Linux Arm beside chrome which is great!! This is something I've wanted to do for a while now! But when I start to add browsers and customization options, I find that many targets and commands are not found.
Specifically, I just wanted to install firefox and when I try to install it through the pacman command it says the target is not found.
So then I tried to manually extract the file through AUR, but when it came time to makepkg it says that PKGBUILD is not found...
Other commands such as ccr is not found either.

I feel like I am just not installing something very basic in order for these commands/target to function again, but is there a fix for this so that these commands are able to work?

readme may need update - status on merging arch targets into crouton?

The first part of your readme mentions git merges, fetches, etc., you might want to put that later, or mention it's not needed to simply test out the arch chroot, the regular user can skip to the step below.

Also, will the arch core and xfce (others?) be targets in Crouton anytime soon, or is it a long difficult project still?

Thanks!

Cannot find /etc/rc.local

I am trying to use cron in an arch chroot, but am having issues finding /etc/rc.local. I also have issues starting ssh, and am unsure what I am doing wrong, this what happened:

 =)> /usr/bin/sshd                                                            ~
Could not load host key: /etc/ssh/ssh_host_key
Disabling protocol version 1. Could not load host key
sshd: no hostkeys available -- exiting.

install fails with several problems

the prepare.sh invokes yaourt (not installed) and mawk (not installed)

Also, the installer wants to install things in /usr/local/chroots, but looks for them in /usr/local/chroots/drinkcat-long-string

Install fails

After downloading and extracting files from the ffd7a83 commit

sudo sh -e installer/main.sh arch -t xfce

fails after downloading some of the packages right after the download of the arch-install-scripts:

Creating install root at /usr/local/chroots/alarm/mnt
Couldn't find audio group in chroot!
Couldn't find video group in chroot!
cp: cannot create regular file ‘/usr/local/chroots/alarm/var/host/’: Not a directory
Unmounting /usr/local/chroots/alarm...

Audio (CRAS client wouldn't connect)

Since a while my sound has stopped working. I tried updating the chroot but it didn't work. When I start alsa mixer it's complaining it can't connect with the CRAS client.

mirrors may not have needed packages (acl)

after getting 404 errors (with a partial initial install) with mirrors.archlinuxarm.org I tried specific non round-robin mirrors, and was able to install with ca.us.mirror.archlinuxarm.org with the -m installer option.

Ones that failed, due to the installer not finding package 'acl' were us.mirror..., and va.us.mirror.

xfce and arch are now installed and running after using -m with mirror ca.us.mirror.archlinux.arm

xbindkeys won't load due to gc-7.4.2

This issue is being ignored on archlinuxarm. xbindkeys (for crouton integration) is causing x to stop due to gc-7.4.2.

I attempted to build the package from source (ABS), but it fails to build (compiled with implicit warning) tests, and will cause the error "symbol lookup error: /usr/lib/libgc.so.1: undefined symbol: GC_setup_mark_lock" due to a patch. The package will build if you remove the patch (and xbindkeys will work).

This is on Samsung Chromebook 2 (armv7h), and glibc 2.18.

https://github.com/archlinuxarm/PKGBUILDs/issues/971

Cannot install chroot following Readme

I am trying to install the chroot following the default instructions, on a Samsung ARM-based chromebook. Downloading and installing the tarball with chroagh seems to be completing without any problems. However the chroot installation step fails.

chronos@localhost ~/Downloads/drinkcat-chroagh-17bba37 $ sudo sh -e installer/main.sh -r arch -t xfce
Installing arch-armv7h chroot to /usr/local/chroots/arch
Fetching repository packages list...
Fetching core...
######################################################################## 100.0%
Fetching community...
######################################################################## 100.0%
Fetching extra...
######################################################################## 100.0%
Fetching alarm...
######################################################################## 100.0%
Fetching aur...
######################################################################## 100.0%
Downloading and extracting packages...
Downloading and installing bash...
######################################################################## 100.0%
Downloading and installing gawk...
######################################################################## 100.0%
Downloading and installing pacman...
######################################################################## 100.0%
Downloading and installing grep...
######################################################################## 100.0%
Downloading and installing util-linux...
######################################################################## 100.0%
tar: This does not look like a tar archive
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now

typo and can't gunzip croagh.tar.gz

-rw-r--r-- 1 chronos chronos 281 May 24 20:03 croagh.tar.gz
chronos@localhost ~/Downloads $ gunzip croagh.tar.gz

gzip: croagh.tar.gz: not in gzip format
chronos@localhost ~/Downloads $

typo is text mentions chroagh.tar.gz, file d/l is croagh.tar.gz

Locale not set

I was installing packages though the AUR, and noticed that bsdtar complained about no locale. Prompt for /etc/locale.gen should be added, and locale-gen run after. Fixes the issues.

-r alarm no longer seems to work well

the install gets lots of errors and ...

chronos@localhost /usr/local/drinkcat-chroagh-75e65d2 $ sudo host-bin/enter-chroot
Entering /usr/local/chroots/alarm...
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] y
Preparing chroot environment...
Couldn't find plugdev group in chroot!
Couldn't find cras group in chroot!
Couldn't open /dev/tty1
Failed to complete chroot setup.
Unmounting /usr/local/chroots/alarm...

Pacman can't be found

I've downloaded the latest commit at the time of this post and I get an error saying that pacman cannot be found:

Creating install root at /usr/local/chroots/alarm/mnt
Couldn't find audio group in chroot!
Couldn't find video group in chroot!
chroot: failed to run command '/usr/bin/pacman': No such file or directory
Unmounting /usr/local/chroots/alarm...

I went and poked around /usr/bin and it's right, no pacman there. I'm on a chrome pixel if it helps.

Newest ChromeOS update inverts scrolling but only inside the chroot

chrome://version/ reports

Google Chrome   36.0.1985.138 (Official Build 285304) 
Platform    5841.83.0 (Official Build) stable-channel daisy_spring

Scrolling down with two fingers scrolls down in a Chrome window but doing the same in any app in my chroot makes it scroll in the opposite direction. Very disorienting.

Small error

D-Bus library appears to be incorrectly set up; failed to read machine uuid file '/etc'machine-id' should contain a hex string of length 32, not length 0, with to other text.

I got this when installing some programs (vlc installed though the AUR helper owl) though random other things seem to cause it too.

Can't update chroot / Wrong ELF class

Hello,

I tried upgrading my chroot today by the command
sudo sh -e installer/main.sh -n name -u
with your newest chroagh directory, however the installer halts when trying to retrieve the audio with the error:
Installing target audio... wget: error while loading shared libraries: libpcre.so.1: wrong ELF class: ELFCLASS64 Failed to complete chroot setup.
Now I can only get into the CLI of my chroot, nothing more.
My chromebook is the HP 14, so at least with arch the architecture is i686.

Any help would be great
Thanks,
Airbus

Enlightenment immediately segfaults.

First of all, I want to establish that I'm on an ARM Chromebook and that this might be specific to the alarm release. Moving on.
When I run
sudo starte17
after
sudo sh -e ~/Downloads/drinkcat-chroagh-35bc7f1 -r alarm -t cli-extra,e17
, Enlightenment immediately segfaults. I would really like for this to be fixed, since I love E so much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.