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.
VMWare Fusion should be announcing support for M1 Macs "any day now" and will almost certainly support Linux as well.
Curious if anyone knows or has a guess whether Slackware ARM 32-bit or upcoming aarch64 is likely to run in VM's under these virtual environments on M1 Macs. It's been fun running Slackware ARM on Raspberry Pi's but would be nice to be able to run Slackware ARM on higher performance hardware.
My only experience with ARM on virtualization is Qemu. Qemu emulates Virtual Express ARM Ltd (vexpress-a9) and runs extremely slow. It took nearly 10 minutes to boot the virtual machine last night. I do not recommened Qemu as an option. I haven't tried anything like that with Aarch64 and likely will not in the future. LXC seems like the better choice. Here is the documentation I wrote on the topic.
@mralk3 thanks - no surprise that emulating ARM under x86 might be slow.
But ARM VM's under an ARM machine (Linux ARM under Mac ARM) would run with excellent performance. I haven't tried ARM Linux under an ARM M1 Mac yet but expect it would run very well.
@mralk3 thanks - no surprise that emulating ARM under x86 might be slow.
But ARM VM's under an ARM machine (Linux ARM under Mac ARM) would run with excellent performance. I haven't tried ARM Linux under an ARM M1 Mac yet but expect it would run very well.
Let me know what you find out. Hopefully someone else has more experience and can provide you with a better answer.
I've been watching this communities activity for a few months. It's getting really promising with GPU acceleration on the way. I may buy a 2022 Macbook Air to get Slackware working on it. https://asahilinux.org/
I recently have successfully gotten the aarch64 port running on VMWare Fusion. Unfortunately, the stock slackware kernel does not support virtualization it seems. Likely missing the needed modules within the kernel. I've taken the config from Debian bookworm (which boots and runs nicely) and built a special kernel for this with it. I'm unsure exactly how many modules are needed for slackware to officially support vmware currently, as there are large differences in the two configs. But basically I have a slackware-built replica of the current Debian kernel which boots it (along with grub).
What I'm curious of is if anyone would have interest in a vmware image of the aarch64 port, kernel configs, packages or anything else? I do not know if it will run on UTM (I will test this eventually) or parallels. I'm sure at least UTM is possible, as it's just qemu underneath, but I'm not buying commercial virtualization software (parallels) when there's quality, free options available and I can already run slackware natively on the M1. Running it in a vm is just a convenience thing.
I'd hate for the information to go to waste, or be forgotten about by me. So if anyone is interested in virtualizing slackware on MacOS (or even wants some info on slackware-asahi), please let me know. I don't have a lot of time to set aside to write documentation, make images, packages, etc, if there is no interest out of any Slackware/Mac users out there (I'm not the only one am I?).
I'd like to at least get the correct modules into slackware's config so this is possible in the future, but any extra stuff, that is all based on community interest if it's worth going that far. I'll post again with some configs/diffs after I sort it out.
I recently have successfully gotten the aarch64 port running on VMWare Fusion. Unfortunately, the stock slackware kernel does not support virtualization it seems. Likely missing the needed modules within the kernel.
Code:
CONFIG_VIRTUALIZATION=y
and various other KVM options are set already. What else is required?
I can put them into the next Kernel package. I wonder if you will need them within the OS InitRD as well. If it does I guess it'd be drivers for storage and perhaps an RTC.
That's great you were able to get it running. I'd certainly like to be able to run a Slackware ARM VM sometime (for now running a Debian VM in UTM). If you figure out which kernel modules in particular are required, might be possible to use the stock Slackware kernel while adding those modules to the initrd, assuming those modules are present in the Slackware /lib/modules.
TBH, I'm not sure which module(s) it is that makes the difference. In the URL above, the dir also has 2 slackware packages of the Debian kernel and modules for use/testing. I haven't used them on real hardware yet, it's been an awfully long day of yard work. The only oddity I've noticed is tty1 likes to randomly press Enter while attempting to input a password. Using another tty and it's fine.
I'm willing to test changes made to the official kernel package, whenever we narrow down whats missing. I'll make attempts to poke at this next week, as my free time is officially over for this one.
Compared to Slackware AArch64 running on a RockPro64, only the modules below aren't modules in Slackware AArch64.
Some of them such as crc16 and a number of others I checked are compiled into the Slackware Kernel, and others such as snd and e1000 have no relevance to the Kernel booting.
Once you figure out which Kernel modules are required, you'll need to make a module loader plugin for the OS InitRD.
You should also look at /proc/cmdline to see if there are any particular Kernel paramaters which might be required (apart from the obvious ones like root= and stuff like that)
See the first post in this thread for this.
Once you've got this started I can bundle it into the Kernel package to make it easier going forwards.
I'll dig into it once my work week-end is over. I need to setup a build of modules on the same version kernel so i can "drag & drop" ones I think are hopeful, until I find what works.
Side note: sound starts properly on runlevel 4 with the debian kernel, so hopefully I'll be able to figure that out as well.
I feel like I'm a dog chasing my tail with this, but after tampering with things for a while I've got os-initrd-mgr to make me a new initrd with modules from my installed debian kernel, but for some reason it don't find my rootdev, which should be passed to it from grub by UUID. I've looked through the scripts inside the initrd slightly but can't see any reason why it won't find my root. Manually mounting it from the emergency shell works and boot finishes so at least it works.
Here's a broader set of modules that it loads into the initrd:
Obviously it's different since debian ships the kernel with different items built-in vs how slackware does, but I'm posting this because my efforts at building numerous kernels have all been met with various problems, I figure the universe is telling me something...
EDIT I realize it's probably not a module that prevents booting but something else, but everything that should be there appears to be, so I've got a dead end at the moment.
Last edited by jloco; 05-24-2023 at 12:26 PM.
Reason: closing
I feel like I'm a dog chasing my tail with this, but after tampering with things for a while I've got os-initrd-mgr to make me a new initrd with modules from my installed debian kernel, but for some reason it don't find my rootdev, which should be passed to it from grub by UUID. I've looked through the scripts inside the initrd slightly but can't see any reason why it won't find my root. Manually mounting it from the emergency shell works and boot finishes so at least it works.
Is rootdev= making it to the running Kernel (cat /proc/cmdline). If you're not already, use the 'slkpbs' boot parameter for console access during the boot process.
Check the response I made on the Rock5 integration thread about finding the device driver for your storage. When I've been doing this myself, I tend to use a mixture of that script and just loading everything from within /lib/modules from the slkpbs shell and seeing what comes up.
So for example, if you booted into the slkpbs shell, exited stages 1&2 then at stage three (when the AArch64 base line set of modules has been loaded), do something like:
Code:
find /lib/modules/$(uname -r) -type f -name '*.ko.*' | while read mod; do modprobe $( basename $mod .ko.xz ) ; done
I don't know if there's a more elegant way to do that - you can probably examine one of the files in /lib/modules as well.
You might need to restrict the scope of 'find' though, incase you bring the system down (it's always possible that loading some modules will cause a Kernel panic).
I'm currently running Kali Linux and OpenSuSE Tumbleweed under VMware Fusion on my new M1 MacBook Air, but I really would prefer to be running Slackware!
I'm dual-booting my OG white polycarbonate MacBook from 2006 between Mac OS X 10.6.8 "Snow Leopard" and Slackware -current.
This old MacBook is running a 32-bit-only intel CoreDuo "Yonah" CPU, and while Snow Leopard was a dandy OS back in the day, it won't support modern web browsers or much modern software at all. That's what I use Slackware for.
For several years I rocked an ASUS EeePC 2G Surf running a full install of Slackware -current. It was delightful! Linux in my jacket pocket, anywhere I wanted to go.
Asahi Linux is a project that is bringing Linux to Apple Silicon as a dual-boot install. They're starting with Fedora and will soon also offer Ubuntu, if not Debian.
I would love to be able to run Slackware on my new M1 MacBook Air, either in VMware or under Asahi's dual-boot system.
From what I've been able to find out, Slackware on Aarch64 isn't quite ready for prime time yet.
Maybe I could make do with a Raspberry Pi or something, but however I do it, I really want to be on Aarch64.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.