Toon posts:

1 Kernel die verschillende hardware kan booten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben op zoek naar een kernel (of er een compilen) die verschillende typen hardware kan booten. Om als voorbeeld te geven zoiets als Knoppix maar dan voor een harde schijf zonder een read only file system. Ik wil er natuurlijk wel naar kunnen schrijven ;)

Ik heb thuis 3 systemen draaien met alle 3 verschillende hardware. Ik heb het wel eens gehad dat als ik mijn Redhat distro uit mijn ene systeem haal ik een "Kernel Panic" foutmelding zie als ik de harde schijf in een ander systeem stop en boot zodat ik het systeem niet meer kan booten. Misschien dat er zo'n kernel te downloaden is :?

Alvast bedankt :)

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Nouja, je kunt de kernel van Knoppix misschien nog wel gebruiken. In any case, misschien kun je zelf een kernel compilen met heel veel drivers ingebakken. Distributies als Ubuntu hebben ook kernels met veel modules meegeleverd en hebben derhalve een heel flexibel OS (ik heb onlangs zelf ook een HD met een installatie van Ubuntu in een compleet andere PC gezet en dat ging zonder centje pijn). Maar die kun je zelf ook makkelijk maken dus, als je maar weet hoe je een kernel compiled.

[ Voor 15% gewijzigd door Cyphax op 29-09-2006 15:09 ]

Saved by the buoyancy of citrus


Verwijderd

Trek de kernel van de gentoo live cd af?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Wat bedoel je precies met "verschillende hardware"? Echt verschillende hardware, zoals een andere architectuur, of alleen wat andere devices?
Dat laatste is namelijk niet zo'n groot probleem, elke stock kernel doet dat namelijk gratis en voor niks. Ik denk dan ook dat de kernel panic niet door de hardware kwam, maar doordat je schijven anders geconfigureerd waren, waardoor hij geen root-filesystem kon vinden. Vaak is dat gewoon op te lossen door een juiste root=/dev/hda1 parameter of iets dergelijks mee te geven.

Verwijderd

Topicstarter
blaataaps schreef op vrijdag 29 september 2006 @ 15:12:
Wat bedoel je precies met "verschillende hardware"? Echt verschillende hardware, zoals een andere architectuur, of alleen wat andere devices?
Mijn systemen hebben alle 3 een ander moederbord, een andere videokaart, een een andere bios een andere aangesloten monitor. 1 systeem heeft een sun sparc muis, de andere een compaq muis en dat andere systeem heeft een Intelli mouse explorer ;)

Maar die andere is wel een goeie. Een kernel van een live cd eraf halen. Maar hoe doe je dat precies? Ik ga er even over lezen tenzij iemand mij een linkje kan geven met een tip :D

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Standaard distro kernel zou dat gewoon moeten kunnen. Ik heb vanmorgen mijn SiS bord vervangen door een nforce2 bord, de standaard archlinux kernel met failsafe initcpio image geboot en vervolgens een nieuw normaal image laten genereren met autodetect. Gewoon de fallback image gebruiken werkt ook wel, maar dan heb je je kernel stampvol onnodige modules zitten.

Enige vereiste is dat je ervoor zorgt dat je harddisk niet verandert van partitienummer, hier heb je dan weer extra dingen voor nodig om dat dynamisch aan te passen.

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 09:56

BrZ

Verwijderd schreef op vrijdag 29 september 2006 @ 17:44:
[...]


Mijn systemen hebben alle 3 een ander moederbord, een andere videokaart, een een andere bios een andere aangesloten monitor. 1 systeem heeft een sun sparc muis, de andere een compaq muis en dat andere systeem heeft een Intelli mouse explorer ;)

Maar die andere is wel een goeie. Een kernel van een live cd eraf halen. Maar hoe doe je dat precies? Ik ga er even over lezen tenzij iemand mij een linkje kan geven met een tip :D
Als je dit met gentoo wil doen moet je eens gaan kijken naar "genkernel".

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 20:16

deepbass909

[☼☼] [:::][:::] [☼☼]

Verwijderd schreef op vrijdag 29 september 2006 @ 17:44:
[...]


Mijn systemen hebben alle 3 een ander moederbord, een andere videokaart, een een andere bios een andere aangesloten monitor. 1 systeem heeft een sun sparc muis, de andere een compaq muis en dat andere systeem heeft een Intelli mouse explorer ;)

Maar die andere is wel een goeie. Een kernel van een live cd eraf halen. Maar hoe doe je dat precies? Ik ga er even over lezen tenzij iemand mij een linkje kan geven met een tip :D
kortom, allemaal x86 compatible. Je kan dan een kernel maken met een i686 processor ondersteuning (als je tenminste minimaal Intel PII hebt staan, anders i586). Als je vervolgens alle hardware in de kernel propt, dan zal het eigenlijk op alle pc's wel willen werken. Hou er wel rekening mee dat je kernel image groot zal worden en niet op top prestatie zal draaien.
De Gentoo Genkernel zou ik niet gebruiken, deze is afhankelijk van een init-file, welke het geheel weer hardware afhankelijk maakt.

Verder ligt het er sterk aan welke distro je gaat gebruiken hoe universeel het zal worden. Gentoo kan je heel specialistisch of juist universeel compileren, andere distro's zijn tegenwoordig vaak op i686 geoptimaliseerd.

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Je kernel kan er wel voor zorgen dat je videokaart, muis, enz. beschikbaar zijn, maar niet dat X ze ook zal gebruiken!

Hoewel oa Keith Packard hard bezig is van xorg.conf af te komen, is het pas over een paar releases zover, tot die tijd is volledige auto-detectie lastig. Knoppix doet veel moeite om dat op te lossen, en ik ben bang dat dat niet zomaar te kopieren is (maar je kunt het proberen).

It sounds like it could be either bad hardware or software


  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Ik boot hier 3 verschillende systemen met 1 rootfs, 1 kernel en 3 xorg.confs:

machine 2:
Compaq Deskpro EN/SFF
Celeron 300A
96MB
ATI Rage Pro 4MB AGP
Intel e100 netwerkchip

Machine 2:
Compaq Deskpro EN/SFF
Celeron 300A
96MB
Matrox Millennium 4MB PCI
Intel e100 netwerkchip

Machine 3:
Compaq Deskpro EP
P2 400
96MB
Matrox Millennium 4MB AGP
3COM 3C905C-TXM netwerkkaart

Opgelost als volgt:
- PXE bootserver, NFS server met rootfs
- read-only rootfs, alle schrijfoperaties worden op tmpfs gedaan
- hostname ed worden via DHCP en DNS gezet
- Xorg configuratie is opgeslagen als xorg.conf.hostname

3 machines die enigszins van elkaar afwijken, maar toch allemaal goed werkend. Als ik er een willekeurige andere machine bij hang, moet ik zorgen dat:
- de netwerkkaart ondersteund wordt door de kernel (prop er een 3c905C-TXM in, klaar :P)
- het MAC adres bekend is in de DHCP server
- een hostname voor de machine is aangemaakt, zowel normaal als reverse DNS
- een aangepaste xorg.conf aanwezig is voor de machine

  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023

iRacing Profiel


Verwijderd

Topicstarter
Ja meestal blijft het systeem hangen op initrd. Ik heb het vaak genoeg dat ik vanaf dat punt een kernel panic krijg. Maar het is dus zoiets van alle opties aanzetten in de kernel en met die kernel kan ik al mijn machines mee booten? Het hoeft niet zo te zijn dat de optimalisatie zo perfect mogelijk moet zijn. Als die kernel maar werkt met een x server en dat ik zoiets als een simpele firewall makkelijk kan opzetten :)

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Verwijderd schreef op maandag 02 oktober 2006 @ 09:04:
[...]


Ja meestal blijft het systeem hangen op initrd. Ik heb het vaak genoeg dat ik vanaf dat punt een kernel panic krijg. Maar het is dus zoiets van alle opties aanzetten in de kernel en met die kernel kan ik al mijn machines mee booten? Het hoeft niet zo te zijn dat de optimalisatie zo perfect mogelijk moet zijn. Als die kernel maar werkt met een x server en dat ik zoiets als een simpele firewall makkelijk kan opzetten :)
je kunt in principe alles in je kernel proppen, en dan zal het wel werken op de meeste machines. Maar ik kan je vertellen dat red hat en de zijnen dat al wel gedaan hebben.

dat je kernel werkt betekent niet dat je kernel ook weet waar je rootfs staat, en X weet ook nog niet wat voor videokaart je hebt. dat is echter wel runtime te doen, tijdens het opstarten grub vertellen waar je rootfs staat, en als Xorg niet start eerst inloggen op de console en mbv X -configure een nieuwe xorg.conf maken.

It sounds like it could be either bad hardware or software


Verwijderd

Topicstarter
Ik kopieer van een CentOS Live CD de initrd file en de vmlinux kernel die te vinden is in de /boot directory van de CD. Ik zet deze netjes in de /boot directory en ik maak een verwijzing in de menu.1st file.

zoiets als:
kernel /vmlinuz ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd.gz

En ik krijg een kernel panic:
Ramdisk: incomplete write (-28 != 32768) 16777216
VFS: Cannot open root device "LABEL=" or unknown - block (0,0)
Kernel Panic - Not syncing: VFS: Unable to mount root fs

Dit zijn nu die dingen waar ik bang voor ben en toch gebeurt. Iemand een idee :?

  • burne
  • Registratie: Maart 2000
  • Niet online

burne

Mine! Waah!

Verwijderd schreef op maandag 02 oktober 2006 @ 10:30:
En ik krijg een kernel panic:
Ramdisk: incomplete write (-28 != 32768) 16777216
VFS: Cannot open root device "LABEL=" or unknown - block (0,0)
Kernel Panic - Not syncing: VFS: Unable to mount root fs

Dit zijn nu die dingen waar ik bang voor ben en toch gebeurt. Iemand een idee :?
De foutmelding vertelt je exact wat er aan de hand is. Je probeert een disklabel te mounten wat niet bestaat, en daardoor kan VFS je geen rootfs geven, en dus kun je niet booten. Dat kun je tijdelijk verhelpen met het al eerder genoemde root=/dev/hda1 (aangepast voor jouw systeem) en permanent door te kijken wat er in /etc/fstab staat en dat label aan je rootpartitie te geven.

Dit soort vragen zijn overigens uitstekend met google.com te beantwoorden.

De initrd die je nu hebt is bedoeld om allerlei mogelijke CD en DVD drives te booten. Denk je dat je harddisk voldoet aan de omschrijving 'allerlei mogelijke CD en DVD drives'?

I don't like facts. They have a liberal bias.


Verwijderd

Topicstarter
Nu even de volgende stappen doorgelopen met een 2.6 kernel:
OS: CentOS 4.4

- Een kernel gedownload (2.6.8.1 via ftp.kernel.org)
- make dep (niet meer nodig in 2.6)
- make clean
- make bzImage
- make modules
- su -
- make modules_install
- cp /usr/src/linux-2.6.8.1/arch/x86_64/boot/bzImage /boot/bzImage-2.6.8.1
- mkinitrd /boot/initrd-2.6.8.1 2.6.8.1

Ik moest ook nog de System.map kopieren en een symlink plaatsen met ln -s. Dat heb ik ook gedaan.

En ik krijg de volgende foutmelding:

mkrootdev: label / not found
mounting root filesystem
mount: error 2 mounting ext3
mount: error 2 mounting none
switching to new root
switch root: mount failed: 22
umount /initrd/dev failed:2
kernel panic: attempted to kill init

Ik neem aan dat de stappen die ik doorloop goed zijn. Ik heb het al een paar keer doorgelezen hoe je en kernel moet compilen. Mijn hardware is een IBM System x3850

Iemand een idee hoe deze foutmelding kan ontstaan :?
Pagina: 1