Slackware - ARMThis forum is for the discussion of Slackware ARM.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Offhand I'd suggest manually dealing with the kernel-armv8 package when there are updates. upgradepkg breaks my system on emmc, and I'd assume it'd do the same for you. My /boot is FAT format and it want's to create symlinks, which it cannot do, and it will wreck your delicate boot situation, so I suggest to manually deal with said package.
I also don't run the os-initrd-mgr utility as it as well breaks the system. I haven't looked into why, but it likely doesn't like something I've done. Of course, this is all dependent on how you did things, your mileage may vary, of course.
How are your partitions labeled? The installer is designed to label partitions (SLKroot SLKboot) but may be incorrect on your machine. The kernel package and the os-initrd-mgr expect there to be labels and neither cares about what type of boot medium. Just make sure that the disk labels are accurate so both tools can find the mount points.
The os-initrd-mgr expects the find the ramdisk on /boot (SLKboot). You can use the "fatlabel" command to label your /boot as "SLKboot" and the "e2label" command to label your root partition "SLKroot".
The last thing to adjust is the boot loader. Make sure your append line in "extlinux.conf" in /boot/extlinux/ has "root=LABEL=SLKroot" and "rootfstype=ext4". Although both can be adjusted accordingly as well. For example I have a f2fs root file system that works, just as long as its labeled SLKroot.
How are your partitions labeled? The installer is designed to label partitions (SLKroot SLKboot) but may be incorrect on your machine. The kernel package and the os-initrd-mgr expect there to be labels and neither cares about what type of boot medium. Just make sure that the disk labels are accurate so both tools can find the mount points.
The os-initrd-mgr expects the find the ramdisk on /boot (SLKboot). You can use the "fatlabel" command to label your /boot as "SLKboot" and the "e2label" command to label your root partition "SLKroot".
The last thing to adjust is the boot loader. Make sure your append line in "extlinux.conf" in /boot/extlinux/ has "root=LABEL=SLKroot" and "rootfstype=ext4". Although both can be adjusted accordingly as well. For example I have a f2fs root file system that works, just as long as its labeled SLKroot.
I most definitely do not have labels on my partitions, as I do remember removing them from my fstab and extlinux.conf. I recall the use-case for labels to be for when the hardware has a possibility of changing the names of nodes often and confusingly, and using a label was a way to prevent boot issues. Though I've never had hardware that did such things, it seems it'd be in my best interest to add them back. Thank you!
to get it to boot, I'd like to use what you said and what I had "root=LABEL=SLKroot" but it booted and I'm still shaking things out, I'm not sure if it booted by not using the links and UUID or just the links, I'm going to remove the UUID part and put root=LABEL=SLKroot back.
I followed this to get alarm installed, I did, and thought maybe this might be a way to get slackwarearm installed. Part of the document indicates flashing tow-boot which I did, this I think is what made a lot of my fooling around possible, that is, installing manjaro to emmc, doing the alarm dance, then the slackwarearm install.
I use manjaro to fool around with the nvme.
Last edited by glorsplitz; 12-27-2022 at 08:36 PM.
FAT file systems do not support symbolic links. That is why u-boot could not find the kernel or ramdisk at "Image-armv8" or "initrd-armv8". What you have will work for now. Later a kernel upgrade will break it again. Creating one more thing to remember during a new installation.
On the flip side, this is why the Raspberry Pi installer uses the two separate partitions. The Raspberry Pi firmware expects to be loaded off of a FAT partition. The RockPro64 and PineBook Pro do not need that done. A single ext4 partition is all that is necessary.
This may or may not be in line with how Tow-boot functions. I recommend sticking with U-boot for your next installation. The one that comes with the Slackware Aarch64 installer.
EDIT:I forgot to mention. You can boot the Slackware ARM installer and use it to recover your system just like a live DVD. The SA64 version of U-boot is stored in the /boot/platform directory. So you can copy that to your SPI flash quite easily. I leave the installer on my SD card to boot for when I run into trouble.
FAT file systems do not support symbolic links. That is why u-boot could not find the kernel or ramdisk at "Image-armv8" or "initrd-armv8". What you have will work for now. Later a kernel upgrade will break it again. Creating one more thing to remember during a new installation.
What I did for my "install" was taking the pre-installed manjaro disk as it was and gently melting a chroot slackware install on top of it after a format of the ext4 partition. For whatever reason manjaro ships the /boot partition on a FAT partition, so I just put mine there because I wasn't sure if the emmc needed it or not (and my previous experience with rpi's told me to just leave it). It's no issue to me to fix the symlinks manually, its just remembering what I have to do on aarch64 vs x86. My brain starts to mix and match processes since the systems are almost 100% identical to operate (as they should be).
Quote:
Originally Posted by mralk3
This may or may not be in line with how Tow-boot functions. I recommend sticking with U-boot for your next installation. The one that comes with the Slackware Aarch64 installer.
AFAIK tow-boot is u-boot. The site claims thus so, and the devs almost had a heart attack when I referred to them as different things. The only difference is tow-boot is a prettier option to use, and offers the menu to choose the boot medium. But internally, it offers the same hardware compatibility and functionality as u-boot. That said, if I do a re-install, I'll have to try the shipped u-boot to see how it operates for myself.
Quote:
Originally Posted by mralk3
EDIT:I forgot to mention. You can boot the Slackware ARM installer and use it to recover your system just like a live DVD. The SA64 version of U-boot is stored in the /boot/platform directory. So you can copy that to your SPI flash quite easily. I leave the installer on my SD card to boot for when I run into trouble.
I purposely kept the installer image on my bootdisk, for this "just-in-case" scenario, I know it'll be a lifesaver someday!
Last edited by jloco; 12-28-2022 at 04:26 PM.
Reason: typo
In regards to tow-boot: I have no experience with it. BUT, if the stock u-boot does not work on your Pinebook Pro, maybe we should version bump to a more recent u-boot. We are running u-boot 2022.04.
The latest tow-boot release is tagged 2021.10-005, so I'll assume that what Slackware is shipping is actually better hardware support wise. I'm not sure why they lag so far behind with keeping sync with u-boot though.
I took out UUID from the extlinux.conf append and used "root=LABEL=SLKroot"
and left these lines as is
LINUX /Image-armv8-5.19.16
INITRD /initrd-armv8-5.19.16
it did not boot
I put back UUID and made these lines as they were
LINUX /Image-armv8
INITRD /initrd-armv8
it did boot.
only thing different now is UUID instead of "root=LABEL=SLKroot"
btw, boot drive is ext4 not fat
as far as doing things down the road having to remember, I do the following on my desktop
mkinitrd_command_generator.sh --lilo
mkinitrd_command_generator.sh --run
edit lilo
/sbin/lilo -v
and I do couple things when there's new kernel on one elilo install
I'll post back after having some time to tweak and break things.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.