2. Musl to Libc ‐ Archipine - h8d13/k2-alpine GitHub Wiki
The (simple) solution
Well since I wanted an Alpine base for how clean and simple it is to configure (and power of scripting, so I can do the work for you), on top of rc that is great to configure... It also comes with limitations. That is some software that is outright not available. And Nvidia support totally gone (but fuck them).
So the simple solution was to create a Dual boot with Arch to run libc and Nvidia stuff. Help you configure a dual-boot and in the process have a nice seperation of concerns: dev/entertainment.
Hence the creation of the bobw
module in utils. Click me
This will let me build a kind of double OS.
Some things I cannot configure (altho I can try copy it from the Alpine install ;)
Bridging the gap
There are some configurations I just can't do for people :D
Connect to the internet ip link
to see devices. One should say UP
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"
Note Ethernet cables should just work out of the box
GRUB
Once you are happy with your Arch install. You can update Alpine to give you a friendly choice.
Example entry: /etc/grub.d/40_custom
menuentry "Arch Linux" {
insmod part_msdos
insmod ext2
set root=(hd1,1)
linux /$KERNEL_BASENAME root=/dev/sdb3 rw rootfstype=ext4
initrd /$INITRD_BASENAME
}
Grub is not just slightly confusing, it's very confusing so
root
is acutally looking forboot
part/folder. Alsohd1
is because it starts from 0. Other than that, you can simply point to any Initrd and Vmlinuz and it will boot 👍
To understand grub:
/etc/grub.d/
and /etc/default/grub
The former is for your custom entries, and defaults for settings ⚙️
Example settings for multi-boot.
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu
GRUB_DISABLE_OS_PROBER=false
grub-install --target=i386-pc /dev/sdX # (no partition number!)
grub-mkconfig -o /boot/grub/grub.cfg
Again options are kind of endless here you could have 5 different OSes for all I care.
More information for specific case here:
Make sure to replace /dev/sdΣ
or /dev/nvmeXpy
The information with legacy degrades more and more as the types varies and sometimes OEM specifics.
Again take these with a grain of salt as you can run into issues. Don't forget also a USB is your best friend if you fk'ed something (Why not with k2 on it hehe)
Chroot
The idea is that from Alpine you can quickly also make configuration changes to your Arch install (and the other way around).
Possibilities here become kind of endless you could update your system or do whatever you need. Then type exit
.
Pacman Confs
/etc/pacman.conf
Then go to mirrors and uncomment both lines:
I truly recommend going to this guide, has a lot of essential info for the Arch to run whatever you need 🥇
Flatpak
Flatpak is a software utility tool that uses bubblewrap to isolate apps from your host system.
Find thousands of apps Flathub
Then add the main Flathub repo.
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Then simply uses flatpak commands such as
$ flatpak search minecraft
$ flatpak install com.mojang.Minecraft
$ flatpak run com.mojang.Minecraft
Flatpak will give you pretty bad performance for games. It made more as something for GUI apps to run in isolation.