ading2210 / shimboot

Boot a desktop Linux distribution from a Chrome OS RMA shim.
https://shimboot.ading.dev
GNU General Public License v3.0
68 stars 22 forks source link

ARM-based Chromebook support #8

Closed zek-c closed 3 weeks ago

zek-c commented 4 months ago

I've been monitoring this project since release and wondered, why is there no ARM device support? Is there a roadblock in the firmware or do you not plan on working with certain drivers..

APie357 commented 4 months ago

I have an Acer R13 as a personal cb and there doesn't seem to be any shims out for it. I did manage to install archlinuxarm on it (no shims needed but idk if it will work on managed devices), but to get a graphical environment it's a lot of terminal stuff and not a lot of software is available for it. You might be able to get it to work with archlinuxarm, but not many devices are supported.

zek-c commented 4 months ago

linux has terminal work (mind blown) but thx

ading2210 commented 4 months ago

ARM support is certainly possible but I don't have any devices I could test it with.

zek-c commented 4 months ago

buy a $50 chromebook or i'll use mine

zek-c commented 2 months ago

you got a status update on arm support? i can test images myself if you can trust me to do that.

ading2210 commented 2 months ago

The main thing blocking ARM support before was that I didn't know how the extract the initramfs from the kernel images.

I investigated this a bit today and I've figured it out, so now all I need to do is automate this, then compile the needed Debian packages for ARM64.

ading2210 commented 2 months ago

@zek-c Which board do you have? I could send you an image to test later today.

zek-c commented 2 months ago

I have a corsola board - codename rusty

ading2210 commented 2 months ago

Could you try booting this image? https://local.ading.dev/array/shimboot/corsola_test.bin

zek-c commented 2 months ago

yep. works nicely. image

ading2210 commented 2 months ago

Nice. Does booting the rootfs partitions and Chrome OS work?

zek-c commented 2 months ago

nope. inputting them and continuing with the prompts brings me a blank screen.

zek-c commented 2 months ago

but chromeos (default/3) does work.

ading2210 commented 2 months ago

Wdym? What happens when you select the third option (default on /dev/sda4)?

zek-c commented 2 months ago

yes, third option boots the chromeOS dev mode bootloader. But the first two options boot a blank screen

zek-c commented 2 months ago

sorry i worded that one bad

ading2210 commented 2 months ago

So that means it didn't actually work. Could you enter the shimboot shell and type uname -a, then send the output?

zek-c commented 2 months ago

ahhh, i thought /dev/sda4 was the bootloader or something. or maybe it is and you meant that the first two wouldn't boot. here's that output for yaimage Linux localhost 5.15.74-12848-g653b187c79ae4 #2 SMP PREEMPT Tue Dec 6 19:07:10 PST 2022 aarch64 aarch64 aarch64 GNU/Linux

ading2210 commented 2 months ago

Would it be possible for you to record a video as you try option 3? There might be an error that shows up briefly before it crashes.

zek-c commented 2 months ago

sure i can do that in about 10 minutes

zek-c commented 2 months ago

alright, all it says after entering is selected /dev/sda4 moving mounts to newroot switching root https://drive.google.com/file/d/1YrNaP4CXe347qsZKaViF0Owkz4mK-da-/view?usp=drivesdk the video is still processing but it'll be done soon

zek-c commented 2 months ago

ok so i tried lsblk but its not installed to the shell, so i used fdisk -l and /dev/sda4 is the "shimboot:rootfs" so i'm just dumb

ading2210 commented 2 months ago

I think I built the rootfs wrong on the previous test image. Try this new one: https://local.ading.dev/array/shimboot/corsola_test2.bin

zek-c commented 2 months ago

sorry, i'm away rn 😭 i can test it tmrw around 4-5pm or so (we are the same time zone) or you can find someone else with a corsola to test it but i'm sorry for the inconvenience

zek-c commented 2 months ago

ok i've got it done, same results as last. blank screen.

OtterCodes101 commented 2 months ago

try waiting a bit on the blank screen.

zek-c-alt commented 2 months ago

ive currently lost access to my main account, but i will try this momentarily. (i do not have my phone at the moment and have 2fa enabled so this is from my computer)

zek-c-alt commented 2 months ago

ok- this is VERY weird. option 1 results in a blank screen i left running for about 3 minutes- gets nothing. option 2, leave it for about a minute- boots a chromeOS partition thats on version 122. but, the internal disk that i am using right now is.. version 113. I may have forgotten that i am using cryptosmite on this device, which is most likely why this is the case. i can try it on a non-cryptosmited device very shortly.

zek-c-alt commented 2 months ago

ok. i did the un-csmited device and option 1 resulted in an unmanaged chromeOS. option 2 was nothing, and 3 resulted in a dev mode error beep.

zek-c commented 1 month ago

got my account back

ading2210 commented 1 month ago

If booting Chrome OS worked without too much trouble its likely that regular Devuan (fork of debian) will work just fine. I'll try building a new image with Devuan instead of making the rootfs manually which may have been flawed before.

zek-c commented 1 month ago

hey you got an ETA on that image? i'd try to build myself but stupid debian won't install to my software raid...😭

zek-c commented 1 month ago

^^bump this waiting for an update

ading2210 commented 3 weeks ago

I got systemd to build correctly for arm64, and I fixed some bugs in the build script, so ARM Shimboot might work now. So far I've only built it for hana: https://local.ading.dev/array/shimboot/shimboot_hana.zip

ading2210 commented 3 weeks ago

@zek-c Try this image for corsola: https://local.ading.dev/array/shimboot/shimboot_corsola.zip

zek-c commented 3 weeks ago

i have the file downloaded but had to leave for school. i'll get it done around 2pm since it's finals week so we get out earlier

zek-c commented 3 weeks ago

alright it worked. i booted into linux, i'm gonna test a few things out

zek-c commented 3 weeks ago

works nice, thanks for working this thing out :sob: Screenshot_2024-06-12_23-16-07

ading2210 commented 3 weeks ago

Does GPU acceleration and audio work?

ading2210 commented 3 weeks ago

ARM support has been merged into the main branch.