We are directly using the Raspberry Pi kernels from Alpine in postmarketOS, and they have just been updated. Could we check if the new kernels work properly? @clandmeter from Alpine asked if we could test this, so potential problems could be fixed before the upcoming 3.8 release of Alpine. And besides helping out our Alpine friends, it would be good to know whether it works for pmOS uses as well!
(based on the list of who has which device that @drebrez created in #1501):
I've already mentioned the networking problem #1547 to @clandmeter. CC: @ncopa
@ollieparanoid
it happen yesterday I wrote a small script to install alpine on rpi, after test the new kernel, I can confirm it works on zero w, rpi 3b, 3b+(5G wifi not tested, no idea how to set region on alpine), seems that scripts not work for aarch64(maybe need uboot), it stuck at color splash screen, it indicate that can't found kernel, and I'm not familiar with arm64, so not sure if the aarch64 linux-rpi kernel works
will test on pmos later
update: the new kernel works on rpi 3b/3b+ with pmos, both arm 32bit and arm64 works, and seems boot speed is faster than before ( within 30 seconds use slow sd card ), but I got a wired issues related to pmbootstrap. I use ./pmbootstrap.py install --no-fde than export the image, it always allocate smaller space for img file now, when I choose xfce4 as DE it just give about 570 MB, the correct size is around 800 MB, it works normally 8 hours ago, zap and rm the pmos folder not work.
update2: well, seems hours ago alpine upstream upgrade linux-firmware and linux-rpi, now linux-rpi only depends on linux-firmware-brcm, so I guess this is why the system image much small than my previous build. and for ./pmbootstrap.py install --no-fde error, I have to increase free space from 50M to 200M, otherwise pmbootstrap will complain no spaces left on device, sdcard method I guess not affect
update3: last time I forget to install crda, so can't set wifi country code, after install it, I can connect to 5G wifi now on 3b+ with pmos/alpine
and seems alpine aarch64 no need uboot, I have update the alpine install scripts
Well I can confirm it definitely works on the RPi3, but it didn't resolve the network issue I'm having. Everything else appears to work fine just as before though.
@ollieparanoid I can confirm that works on the RPI 2 Model B, I've upgraded the packages, rebooted and everything was working as before.
@PureTryOut FYI: I don't have any issues with the ethernet network, constant delay of 15-20ms (depending what I ping) and 0% packet loss
@ncopa, @clandmeter: Assuming that the Raspberry Pi 1 should work when the Zero works (because they use the same kernel), all versions have been tested :+1:
Slightly off topic pi + Alpine related questions to you:
linux-firmware-brcm in the raspberry pi kernel packages? (We've made firmware optional for all other devices, so it would be nice to have that for the Pi as well)@yangxuan8282: do you or somebody else know what these files do, and if we need them in Alpine/postmarketOS?
start_x.elf start_cd.elf start_db.elf fixup_x.dat fixup_cd.dat fixup_db.dat
They are from here:
https://github.com/raspberrypi/firmware/tree/master/boot
@ollieparanoid
here is some info:
https://www.raspberrypi.org/forums/viewtopic.php?p=198420#p198420
https://elinux.org/RPi_Software
in short:
fixup.dat, start.elf: the most common use one
fixup_cd.dat, start_cd.elf: used when GPU memory is set to 16 MB
fixup_x.dat, start_x.elf: with expeimenal support for more free codecs, https://github.com/raspberrypi/firmware/commit/b4ba992ff772c759cf603e00b359f9a0b4cc888e
for start_db.elf, fixup_db.dat, I didn't found info on elinux, but from their name I guess it's for debug use
hi, @clandmeter ,since the linux-rpi have aarch64 support, do you have interest add aarch64 support for other rpi related packages, like omxplayer, raspberrypi, raspberrypi-libs
I have another question maybe off topic, can we network boot rpi with alpine?
@yangxuan8282
@clandmeter
you have been correct, seems omxplayer not support aarch64, I should try it first
for raspberrypi it have aarch64 support if it use -DARM64=ON (seems you have just pushed the commit)
rpi alpine network boot not work for me, currently I can only pxe boot Raspbian ( some os based on raspbian should also works), LibreELEC and Lakka, setup with this docker, since the current linux-rpi kernel config file based on downstream one, I guess it maybe related to initramfs. I'm not familiar with u-boot, so not sure if it will work use it
@yangxuan8282 to answer your question:
I made some changes locally as you need some initramfs features to do netboot.
@clandmeter
cool, would you create PR to alpine or share some details?
by the way, here is a package for rpi bluetooth: https://github.com/postmarketOS/pmbootstrap/blob/5e8f4db2ea3172f37ffc16e83375c3c079aecae2/aports/firmware/firmware-pi-bluetooth/APKBUILD , it include firmware, udev rules, openrc init scripts
since the linux-firmware-brcm have added bluetooth firmware, but the udev rules and openrc init scripts
maybe helpful for users, do you think it sense to make it alpine upstream package (name like pi-bluetooth-openrc or something else)? I can create PR
@clandmeter
can we use partuuid to select root device on alpine with root=PARTUUID= in cmdline.txt like raspbian? then we can boot from usb when use sys mode(without modified root=/dev/mmcblk0p2 to /dev/sda2 )
actually I'm kind of curiosity how raspbian able to netboot and choose root dev use partuuid without use initramfs (maybe I'm wrong, but seems them not use it) , according to this LFS pages, at least when netboot we need use initramfs