Behöver man bara byta ut linuxkärnan om man vill anpassa ett Linux OS för en annan hårvara?

Permalänk

Behöver man bara byta ut linuxkärnan om man vill anpassa ett Linux OS för en annan hårvara?

Jag har en enkortsdator som har 512 Mb i RAM. Nuvarande Linux OS är rätt buggt och brukar ofta få "Segmentation fault" när man installerar något.

Så jag vill byta Linux OS till något annat. Jag har planer på kanske Tiny Core Linux. Något som drar väldigt lite RAM.
Jag har min .dtb fil + min kärna. Visst behöver jag bara byta ut själva filerna i root-katalogen då (bortsett från boot-mappen)?

Processorn är en ARM v7 singel kärna. Ni får gärna rekommendera mig någon linux-dist som är bra.

Permalänk
Medlem

Om du får seg fault är det troligtvis hårdvarurelaterat, sannolikt RAM. Får du slut på RAM när du bygger paketen?

Permalänk
Medlem
Skrivet av heretic16:

Jag har en enkortsdator som har 512 Mb i RAM. Nuvarande Linux OS är rätt buggt och brukar ofta få "Segmentation fault" när man installerar något.

Så jag vill byta Linux OS till något annat. Jag har planer på kanske Tiny Core Linux. Något som drar väldigt lite RAM.
Jag har min .dtb fil + min kärna. Visst behöver jag bara byta ut själva filerna i root-katalogen då (bortsett från boot-mappen)?

Processorn är en ARM v7 singel kärna. Ni får gärna rekommendera mig någon linux-dist som är bra.

Jag tycker att det är jättesvårt att förstå din fråga.

I rubriken frågar du om man enbart behöver byta kärnan för att din dist ska vara kompatibel med annan hårdvara men i inlägget så beskriver du instabilitetsproblem och undrar över om man enbart behöver byta allt i "root-katalogen" vilket jag uppfattar som allt utom kärnan, så är frågan gällande kärnan eller rootfs:et eller du menar den faktiska root-katalogen(/root)?

Det korta svaret är väl att mycket beror på vilken hårdvara du tänker växla till men i regel så hade jag byggt om allt för att undvika problem.

Permalänk
Skrivet av DasIch:

Om du får seg fault är det troligtvis hårdvarurelaterat, sannolikt RAM. Får du slut på RAM när du bygger paketen?

Jag har testat RAM med memtester via U-boot(inga fel dock) och jag har svårt att använda 100 MB direkt. Det går, men det är kämpigt!

Permalänk
Skrivet av orp:

Jag tycker att det är jättesvårt att förstå din fråga.

I rubriken frågar du om man enbart behöver byta kärnan för att din dist ska vara kompatibel med annan hårdvara men i inlägget så beskriver du instabilitetsproblem och undrar över om man enbart behöver byta allt i "root-katalogen" vilket jag uppfattar som allt utom kärnan, så är frågan gällande kärnan eller rootfs:et eller du menar den faktiska root-katalogen(/root)?

Det korta svaret är väl att mycket beror på vilken hårdvara du tänker växla till men i regel så hade jag byggt om allt för att undvika problem.

Vi säger så här. Linux ska ju anropa en fil i /svin/init och denna ska montera hela systemet. Om jag bara ersatte hela operativsystemet, dvs /opt, /var, /root, /bin, /mnt med mera från t.ex Tiny Core Linux.

Då borde jag väll få Tiny Core Linux i min lilla dator?

Permalänk
Medlem
Skrivet av DasIch:

Om du får seg fault är det troligtvis hårdvarurelaterat, sannolikt RAM. Får du slut på RAM när du bygger paketen?

Jag har inte kodat på Linux de senaste 20 åren, men förr var den troliga orsaken att man skrev utanför allokerat minne, dvs dålig kod.

Permalänk
Medlem
Skrivet av heretic16:

Vi säger så här. Linux ska ju anropa en fil i /svin/init och denna ska montera hela systemet. Om jag bara ersatte hela operativsystemet, dvs /opt, /var, /root, /bin, /mnt med mera från t.ex Tiny Core Linux.

Då borde jag väll få Tiny Core Linux i min lilla dator?

Det kan fungera så länge det är kompilerat för din hårdvara. Vad jag kan se så verkar Tiny Core Linux enbart vara byggt för x86 så det verkar ju inte lovande om du tänkte köra på ARM. Jag har dock aldrig hört talas om Tiny Core Linux så det kanske finns en ARM fork.

Permalänk
Medlem
Skrivet av heretic16:

Vi säger så här. Linux ska ju anropa en fil i /svin/init och denna ska montera hela systemet. Om jag bara ersatte hela operativsystemet, dvs /opt, /var, /root, /bin, /mnt med mera från t.ex Tiny Core Linux.

Då borde jag väll få Tiny Core Linux i min lilla dator?

Jag skrev nedanstående inlägg igår, men postade det inte eftersom jag inte heller var säker på att jag förstod frågan:

Att försöka byta ut rotfilsystemet och köra userland från en distribution med en OEM-kärna....pja det borde väl funka i teorin, tills userland försöker göra något mot kärnan som finns i distributionens normala kärna men som inte finns kompilerings-konfat i OEM-kärnan. Moduler och firmware, om din OEM-kärna använder sånt, lär vara ett rätt givet problem.

När du ger upp och inser att kärna och userland bör matcha: Senaste videon från Tomas Zaman om hans routerprojekt kanske kan ge några insikter.

Han har en utvärderingsbräda från NXP (ARM A72 4 cores) med en halvrutten OEM-distribution med OEM-drivrutiner och oklara ändringar i kärnan.

Han har den stora turen att NXP faktiskt upströmmat en version av sina drivrutiner till Linus, som sedan hittat ner i OpenWrt downstream (utvärderingsbrädan har alltså redan fullt stöd där).

Videon handlar om hur han moddar VyOS, ett Debian-derivat, så att det går att boota via U-Boot, som är OEM-bootloadern, trots att Debian kräver UEFI+Grub.

Ganska likt din situation alltså, ifall du vill köra en mer vanlig Debian-baserad distribution.

https://www.youtube.com/watch?v=pbCQ5DXwUhI

Permalänk
Medlem
Skrivet av KAD:

Jag har inte kodat på Linux de senaste 20 åren, men förr var den troliga orsaken att man skrev utanför allokerat minne, dvs dålig kod.

Ja, det är absolut en möjlighet men eftersom det verkar röra sig om flera paket låter det osannolikt.

Permalänk
Skrivet av KAD:

Jag skrev nedanstående inlägg igår, men postade det inte eftersom jag inte heller var säker på att jag förstod frågan:

Att försöka byta ut rotfilsystemet och köra userland från en distribution med en OEM-kärna....pja det borde väl funka i teorin, tills userland försöker göra något mot kärnan som finns i distributionens normala kärna men som inte finns kompilerings-konfat i OEM-kärnan. Moduler och firmware, om din OEM-kärna använder sånt, lär vara ett rätt givet problem.

När du ger upp och inser att kärna och userland bör matcha: Senaste videon från Tomas Zaman om hans routerprojekt kanske kan ge några insikter.

Han har en utvärderingsbräda från NXP (ARM A72 4 cores) med en halvrutten OEM-distribution med OEM-drivrutiner och oklara ändringar i kärnan.

Han har den stora turen att NXP faktiskt upströmmat en version av sina drivrutiner till Linus, som sedan hittat ner i OpenWrt downstream (utvärderingsbrädan har alltså redan fullt stöd där).

Videon handlar om hur han moddar VyOS, ett Debian-derivat, så att det går att boota via U-Boot, som är OEM-bootloadern, trots att Debian kräver UEFI+Grub.

Ganska likt din situation alltså, ifall du vill köra en mer vanlig Debian-baserad distribution.

https://www.youtube.com/watch?v=pbCQ5DXwUhI

https://www.youtube.com/watch?v=pbCQ5DXwUhI

Så du menar att det är rent av dåligt att kopiera över linuxkärnan till ett annat OS och förvänta sig att det ska fungera, förutsatt att alla program på disten är för rätt artitektur?

Permalänk
Skrivet av orp:

Det kan fungera så länge det är kompilerat för din hårdvara. Vad jag kan se så verkar Tiny Core Linux enbart vara byggt för x86 så det verkar ju inte lovande om du tänkte köra på ARM. Jag har dock aldrig hört talas om Tiny Core Linux så det kanske finns en ARM fork.

Tiny Core Linux finns för ARM

Permalänk

Nu till svaret:
Ja, det gick!

Men Raspberry Pi OS fungerar bäst med dess egna hårdvara dock!