-
Notifications
You must be signed in to change notification settings - Fork 369
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
🐞 aarch64 userspace is now appearing for some machines as of M110, so need to rebuild all packages for aarch64... #8044
Comments
Also we need to shift our architecture detection from kernel architecture to userspace architecture... since an aarch64 kernel could now mean either an aarch64 userspace or an armv7l userspace... |
Sounds complicated but I agree. We also need to split out amd64 and x86_64 binaries to account for the processor differences unless we can figure out something compatible with both. |
Steps in the container above to get ruby working, by first installing nix:
To get a list of available nix packages: |
This is one way of setting LIB_SUFFIX on both
|
We also need to figure out now how we want to redo our architectures... This is how I see it now. I suggest we designate architectures by compatible userspace...
|
since I'm affected by this issue #8090 and you have the "help wanted" label applied here - is there anything I can do to help get this done? I don't have too much experience with ruby sadly, but I know my way around linux systems in general and am handy with bash scripts if those skills could help? |
We need to have a design discussion about how we want to delineate the new architecture and how we want to split it out, and then we need to bootstrap the install for this architecture, building a toolchain and so forth, since the default install doesn't give us much. One way to help would be if you could tar up what
|
Okey, since you say it installs to After running for ~10 seconds the command you mentioned asks:
Should I accept the default no option or do you want me to enter yes? Here's the state of |
Thanks! I suspect that you will want to hit |
Okey, I tried selecting yes, but it seems it couldn't comply with that request:
|
Hmm. Do these steps work for you?
(Those steps are taken from https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/install-software-on-base-images/ ) |
This is a WIP...
Start the container in the first post.
Extract the aforementioned devinstall package:
Move files in
Create some portage dirs...
Enter the following from https://wiki.gentoo.org/wiki/Project:Portage/Sync :
Comment out
Then try to update portage information:
|
the
Got a read-only filesystem there:
the folder contains this:
|
Currently stuck here after the above steps trying to update portage or install gcc or glibc...
|
So ChromeOS is based on Gentoo? Or did it just borrow their package-manager? |
It is very much based upon Gentoo, and uses their package manager for setup. But as far as I can tell a lot of the gentoo functionality is dependent upon being setup inside google. :/ Also dev_install has been sporadically been broken on and off for the last several years. See https://issuetracker.google.com/issues/187793205 |
Also, some of the steps I am taking will ONLY work in a container unless you go full dev-mode and make your rootfs R/W. (I haven't done that to ANY of my ChromeOS devices...) |
(The container I am using is the docker container in the first post... and you need to run that on a different machine... since I don't have docker working yet inside chromeos...) |
okey. I'm unsure if I should maybe try Debian or Manjaro on my Chromebook... ChromeOS in the state it has on my Chromebook is not really making me content with it anymore :( |
The problem with other distributions is that you need to make sure you have kernel support for your hardware... The ChromeOS kernel is open source, but it doesn't automatically lend itself to being used with other distributions. There was a project using ChromeOS kernels with Debian/Ubuntu distributions on ChromeOS x86_64 hardware, but that has more or less been abandoned. |
Also worth noting that the ONLY publicly accessible aarch64 Chrome Browser builds to date are in these M110 builds of ChromeOS for the lazor boards. There is no aarch64 build of Chrome Browser available for other aarch64 Linux distributions. |
okey, so if I understood your comments correctly, that means trying a generic arm manjaro build, for example: https://github.com/manjaro-arm/generic-images/releases/download/23.02/Manjaro-ARM-xfce-generic-23.02.img.xz on my device will not work or at least not well? Though probably if it works at all, to get acceptible touch screen support I guess wayland -> kde plasma or gnome should be prefered over xfce: https://github.com/manjaro-arm/generic-images/releases/download/23.02/Manjaro-ARM-kde-plasma-generic-23.02.img.xz |
You can try a nixos install too in /usr/local... (Since that has an aarch64 install)... But using any distribution on bare hardware is dependent upon the kernel being patched to support the hardware properly... With arm hardware you might also need the appropriate dtb files to work with the kernel. |
I naively thought I'll just boot from an usb installation media like on any other PC, but it seems that's not as easy as I thought on Chromebooks. I've stumbled upon https://mrchromebox.tech/ but he seems to not support arm based Chromebooks at all :( |
do you have a set of instructions on how to achieve that? I've tried
I guess the problem is that /tmp/ is a no-exec mount on chromeOS if I understood that correctly, so I'd somehow need to make the nixos package manager installation script to put it's executeables into /usr/local |
You can remount tmp without that flag... |
hah! you're right, should have tought of that myself ;)
but strangely, even though now the "noexec" flag is gone:
I still get the same error:
|
I stumbled across this https://github.com/hexdump0815/imagebuilder project that has builds of debian/ubuntu for chromebooks and you can check if your chromebook is supported in the readme. |
hey @Nitro01010 - yes I've found that too and successfully booted one of those images on my Chromebook, see hexdump0815/imagebuilder#47 for details. (Though my interest has shifted towards other [not chromebook related] projects for now) |
Thanks to @mio-19 and #8398 (comment) I've started to get access to the dev environment for the aarch64 machines. After installing the tarball of the
Now to figure out how to get gcc emerged... |
The big question is really how to get the toolchain packages: gcc, glibc, binutils For instance, in
It would be really nice to find the binary packages for those. |
|
Sigh...
|
Yes I basically can't find any binary packages on my system for some reason |
There is a limited armv7l userspace on the new aarch64 userspace enabled builds, so we need to figure out how to move forward with these new machines.
I would suggest NOT creating a hacked up multilib build of old chromebrew packages and new ones for aarch64. Instead, why don't we figure out how to bootstrap pure aarch64 binaries for those machines which now have these new base images?
I would suggest NOT having an upgrade path, aside from suggesting running the installer again on these machines.
Config files can probably be kept at this point.
Here is a docker image built from lazor, without chromebrew installed:
crewbase-lazor-aarch64.m110.sh
The text was updated successfully, but these errors were encountered: