Hi Linux- how important is it to install, say Debian, the version that is specifically made for your hardware? For example, if I have a Rock64 SBC, do I have to install Debian-rock64.img or can I just go with Debian-arm64.img? Will I lose performance/features if using generic arm64 image, or conversely, will I gain performance/features if using the image made for my specific SBC? Is the generic image even compatible with all hardwares?
Thank you.
The rock64 version likely is the same, except for boot loader stuff. Often times these SBC’s require custom boot software, firmware, or configuration. The rest of the distro should be straight up debian.
This link here was on the Pine64’s Rock64 software wiki page
It seems like it comes down to better firmware support out of the box.
Thank you! So if it’s about firmware, then using a generic image might lead to critical components not working, or the entire system not working, right? I’m wondering about the general concept.
@bartolomeo if you want it to just work, you should consider installing Armbian. I ran Armbian for a couple of years on my Rock64 and it was very stable
Thanks yea I am running armbian but i wanted to know a little more about how architecture affects OS. Isn’t armbian just run by 1 guy though?
Lol i will thank you NOW! Thank you.
- Does your board support UEFI? Have you flashed it, if necessary? If not, your only option is board-specific image with board-specific U-Boot. Still, you may have some luck with mainline kernel after you flash that image.
- Assuming you’ve flashed UEFI and know how to work with it, you should IMO install mainline images whenever possible, as those will always have the Linux kernel with latest security patches (you shouldn’t use LTS kernel before you’ve verified the very latest kernel version, unless your board is like 10 years old)
- However, mainline Linux is often missing certain features on certain boards. In that case, you may have to either load some dtb/.dtbo files (it’s a way to specify hardware information at boot time), or, worst case, compile your own kernel with certain patches pulled from developers working on mainlining your board
- If you don’t want to deal with all that, you can use premade images for your board. They will typically have an old kernel, but nonetheless it should Just Work™. You may still have to pick some .dtbs manually if your hardware is configurable enough (e.g. BPI-R3 has SD/EMMC switch, you can’t use both at the same time, and you have to pick the specific .dtb file depending on what you use)
Thanks that was very informative.