Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Archlinux support #1201

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open

Archlinux support #1201

wants to merge 41 commits into from

Conversation

drinkcat
Copy link
Collaborator

This adds support for Arch Linux/Arch Linux ARM. It has been around in my repo for a long time now, with a good number of users I believe, and rarely has issues.

First 3 commits are not directly related to arch, but necessary (especially the last 2).

drinkcat and others added 15 commits November 14, 2014 11:28
Incorrect dd direction might be causing the test to fail
occasionally (dnschneid#1101).
…add users with UID 1000.

This guarantees that UID 1000 is available when post-common adds the main user at the end of the first run of crouton.

Protect GID 1000 in the same way.

Fixes a bug when xbmc is selected during the Arch install (the xmbc user created by the package steals UID 1000).
Workaround for bug in su/bash, where /etc/profile is not sourced,
even though su is called with '-' (login shell).
See: https://bugs.archlinux.org/task/31831
This is necessary to get /usr/local/bin in the PATH, and setup the
correct locale, among other things. This is not necessary in Ubuntu,
as these are set by /etc/pam.d/su
Xorg >=1.16 needs special handling: Configure Xorg.wrap back to
its former behaviour (<1.16) with respect to starting as normal
user.
/etc/X11/xinit/xinitrc has a different meaning in Arch, and is
just a default xinit file.
ArchLinux removed it from filesystem package.
arch and alarm are actually synonyms.
@c00w
Copy link

c00w commented Nov 26, 2014

Just FYI, I've been using this for a bit and it's working quite well.

@ghost
Copy link

ghost commented Nov 27, 2014

Is it possible to resolve the above merge conflicts and have Arch Linux support in Crouton core please?

@dnschneid
Copy link
Owner

Probably after #1144 is merged.

curlretry -o "$FETCHDIRDB/$REPO.db" "$MIRRORBASE/$REPO.db" 1>&2
# Create package list in this format: $REPO:package-version
tar tf "$FETCHDIRDB/$REPO.db" \
| sed -n 's|^\(.*\)/$|'"$REPO:"'\1|p' >> "$LIST"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about just sed "s|^|$REPO:|"?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Argh. s|^\(.*\)/$|, note the slash before the end of the line...

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Argh indeed...whoops.

@drinkcat
Copy link
Collaborator Author

Merged master back into this branch, added xiwi support.

Still a number of issues:

  • The 2 comments above
  • Proxy support is broken
  • Error message on pacman update is broken (sudo enter-chroot -n -u 0)
  • Test xbmc
  • Add hold/unhold function to reduce code duplication, adapt to xiwi target

@mathuin
Copy link

mathuin commented Mar 25, 2015

Today I checked out this branch and ran 'make all'. The binary croutonfreon failed to build, apparently because src/freon.c is missing a main() function. I'm insufficiently familiar with crouton to know what that really means. The crouton shell script built without errors.

I ran the script with the following command line: sudo sh -e ./Downloads/croagh_arch -r arch -t xiwi,cli-extra. It exited with the following error:

Patching Xorg dummy driver (xrandr 1.2 support)...
patching file src/dummy_driver.c
Compiling Xorg dummy driver...
Installing Xorg dummy driver...
/prepare.sh: line 5035: syntax error near unexpected token `<<<'
Failed to complete chroot setup.
Unmounting /usr/local/chroots/arch...
chronos@localhost ~ $ 

I tracked this down to targets/xiwi having an unresolved merge between HEAD and crouton/master, probably during a rebase. A quick git grep shows that this is the only merge conflict. I chose the HEAD version, rebuilt crouton, deleted my incomplete chroot, and started again. This time it ran through to completion.

The one thing I don't like is the removal of certain packages like binutils at the end of the build. I don't feel strongly enough to defend it at the moment, though, but if I do I'll submit a pull request.

At some point when HEAD was rebased or merged with crouton/master, one
conflict went unresolved.  I resolved the conflict and was able to use
crouton to successfully generate an arch chroot.
@dnschneid
Copy link
Owner

@mathuin also pointed out that xterm isn't installed automatically on some targets.

@EddieRingle
Copy link

FWIW I have this PR and the i3xiwi branch applied and so far have been having a fairly good experience. Can even bring up Android Studio in a xiwi window, which is absolutely awesome.

@dnschneid I dug around earlier before doing this and noticed the xiwi-app branch had been killed and I couldn't find any explanation as to why. Are those changes now a part of the xiwif branch or something? Perhaps that's one more set of changes I should apply.

EDIT: I should note that the xf86-video-dummy patch in targets/xiwi failed to apply, so I ended up manually modifying the source and changing the xiwi target to pull a tarball that was already patched instead of the original 0.3.7 source.

@dnschneid
Copy link
Owner

@EddieRingle xiwi-app got merged into master. i3xiwi is likely to get merged next, and xiwif is a bit of a testing ground at the moment.

@EddieRingle
Copy link

@dnschneid Good to know! And yeah, the i3xiwi branch is running pretty smooth here.

mathuin and others added 5 commits March 29, 2015 20:14
I mismerged a reference to xserver-xorg-video-dummy and forgot to
change it to xserver-xorg-video-dummy$ltspackages as per another
update.  This commit fixes that mistake.
Added ltspackages variable to dummy video.
Conflicts: (all minor nits)
	targets/audio
	targets/gtk-extra
	targets/xfce-desktop
	targets/xiwi
By support, I mean, no support... I don't think we need this kind
of stuff on Arch. At least not for now...
We don't need i3status or i3lock.
@drinkcat
Copy link
Collaborator Author

Merged crouton/master back into this branch. Issues here still stand: #1201 (comment) .

And XMETHOD=xorg on freon is broken (you can start a server, but input devices do not to get grabbed, and you cannot switch back to Chrome OS).

@MichaelMackus
Copy link

Any chance for a rebase @drinkcat ?

Thanks for the work on this!

@drinkcat drinkcat mentioned this pull request Mar 8, 2016
@MattSturgeon
Copy link

It looks like a lot of effort has gone into this, is it still being worked on?

@salinasv
Copy link

@drinkcat are you still working on this?
Can you point us out what is missing? maybe some of us can take this up to a merge ready state.

@dnschneid
Copy link
Owner

Lots of maintenance issues here. Maybe we can simplify things by using one of the pre-built bootstraps? I don't know how heavy they are; ARM would have to use something like a system image, but that would probably install too much.

@dnschneid
Copy link
Owner

Also, might want to consider not having separate arch/alarm releases

@HLFH HLFH mentioned this pull request Nov 21, 2016
@eyqs
Copy link
Contributor

eyqs commented Sep 16, 2017

What is the current status of this pull request? Are you still actively working on it, @drinkcat?

@zhaofengli
Copy link

@qntmpkts maintains a fork at https://github.com/qntmpkts/chroagh, and it works fine. To make it easier to keep up with upstream, I rebased all changes on that repo (except stuff no longer supported by upstream crouton) against crouton at zhaofengli/crouton. All commits there should cleanly apply.

@carbonatedcaffeine
Copy link

Drinkcat Have you Updated chrough Yet it's been since 2013 since a release has came out and it does not work anymore!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet