Knoppix booten mit loadlin
Mein ganz altes Notebook (Pentium MMX 166) mit einem Knoppix zu versehen, ist schon nicht ganz einfach: Erstmal kann es nicht von CD booten, außerdem hat es nur 32 MB Ram, nicht gerade viel für ein modernes Linux. Außerdem kommt booten über Diskette nicht in Frage, schließlich müßte ich sonst Diskjockey spielen (weil die initrd nicht mit auf die Boot-Diskette paßt) und außerdem will ich ja schließlich nicht ständig das externe Diskettenlaufwerk angeschlossen haben. Außerdem soll das Windows 98, was schon immer auf der Platte war, auch bitte erhalten bleiben.
Also, wie booten? Loadlin bietet sich an, erstens kenn ich das noch von Früher, seit meinen ersten Linux-Gehversuchen, außerdem ist es einfach einzurichten.
Nachdem ich mir eine kompilierte loadlin-Version beschafft hatte (von einer Suse-7.3-CD geklaut, die mal in irgend einer Zeitung beilag, neuere Susen haben das glaube ich gar nicht mehr dabei; muß allerdings gestehen, daß ich auch nicht nachgeguckt habe), ein mal über die vorher an einem anderen Rechner erstellten Bootdisketten gebootet. Dann auf /dev/hda1 (der Fat-Partition vom Windows) ein Verzeichnis boot erstellt, das loadlin.exe dort hin kopiert. Außerdem den Kernel von der Knoppix-Bootdisk (linux24) dorthin kopiert und dann die initrd mit dd if=/dev/fd0 of=/mnt/hda1/boot/initrd ebefalls dort abgelegt. (Eigentlich sollte man auch die auf der CD vorhandenen gzipten initrds benutzten können, aber dazu später mehr.)
Desweitern braucht man jetzt noch die passenden Parameter für das loadlin, am Besten eine Batch-File erstellen, in der dann prinzipiell Folgendes drin steht: loadlin linux26 -v-t myconfig=/dev/hda1 home=scan initrd=initrd Ich brauche, weil das Notebook noch so uralt ist, zusätzlich noch die Parameter nodma und noscsi, weil sonst der Zugriff auf die Festplatten den Rechner erhängt bzw der Kernel sonst panict. (Wer sich über das -v-t wundert, tu ich auch: Irgendwie habe ich ihn nicht dazu bringen können, sämtliche Boot-Parameter mit zu übernehmen, wenn keine Optionen angegeben sind. -v und -t sind eigentlich Debug-Optionen fürs loadlin (verbose und test), die ich - nachdem es stundenlang nicht gehen wollte - dazu gestellt habe. Daß ich das Space dazwischen vergessen hatte, habe ich erst gemerkt, als der Rechner plötzlich ohne Widerworte mit sämtlichen Parametern gebootet hat. Ich stelle einfach keine Fragen sondern nehme das so hin ...)
Bleibt zu sagen, daß das ganze auf einem 166er nicht wirklich Spaß macht: Viel zu langsam. Um einen Mozilla zu starten, brauche ich 5 Minuten, um eine Seite zu laden nochmal etwa 2. Wenn ich Platz auf der Platte hätte, würde ich es ja mal richtig installieren, dann wäre der lahme CD-Zugriff schon mal weg und evtl auch das dekromprimieren des Images, aber so...
Habe das ganze auch noch mit dem 2.6er Kernel versuchen wollen - ich bin ja schließlich ein Spielkind - und habe dafür von der CD den Kern und die initrd (minirt26.gz) kopiert, das gz entpackt und geinfach mal mit den gleichen Parametern gestartet. Fehlanzeige, die initrd (4,6MB) paßt nicht in die Rammisk, jedenfalls nicht auf diesem Rechner. Also hergegangen, mit dd eine 2MB große leere Datei gebaut, mit ext2 formatiert und alles aus der alten initrd da rein kopiert. Schade nur, daß ext2 ziemlich verschwenderisch mit dem Platz ist und deswegen die Dateien nicht alle rein passen. Also die neue initrd mit Minix formatiert, noch mal kopiert, paßt alles, und noch mal versucht zu starten. Geht aber nicht, der Kernel erkennt zwar brav, daß er jetzt Minix vorgesetzt bekommen hat statt ext2, aber panict dann. Hat wohl kein Minix einkompiliert. Tja, muß ich mich mal über die ext2-Optionen schlau lesen, ob ich denen die Verschwendung etwas abgewöhnen kann...
Nachtrag: Wenn ich die initrd mit resize2fs auf 3000 Blöcke verkleinere und die Datei nachher noch mal durch dd jage, damit ich sie auch tatsächlich auf 3000K geschrumpft bekomme, gehts. *freu*
Also, wie booten? Loadlin bietet sich an, erstens kenn ich das noch von Früher, seit meinen ersten Linux-Gehversuchen, außerdem ist es einfach einzurichten.
Nachdem ich mir eine kompilierte loadlin-Version beschafft hatte (von einer Suse-7.3-CD geklaut, die mal in irgend einer Zeitung beilag, neuere Susen haben das glaube ich gar nicht mehr dabei; muß allerdings gestehen, daß ich auch nicht nachgeguckt habe), ein mal über die vorher an einem anderen Rechner erstellten Bootdisketten gebootet. Dann auf /dev/hda1 (der Fat-Partition vom Windows) ein Verzeichnis boot erstellt, das loadlin.exe dort hin kopiert. Außerdem den Kernel von der Knoppix-Bootdisk (linux24) dorthin kopiert und dann die initrd mit dd if=/dev/fd0 of=/mnt/hda1/boot/initrd ebefalls dort abgelegt. (Eigentlich sollte man auch die auf der CD vorhandenen gzipten initrds benutzten können, aber dazu später mehr.)
Desweitern braucht man jetzt noch die passenden Parameter für das loadlin, am Besten eine Batch-File erstellen, in der dann prinzipiell Folgendes drin steht: loadlin linux26 -v-t myconfig=/dev/hda1 home=scan initrd=initrd Ich brauche, weil das Notebook noch so uralt ist, zusätzlich noch die Parameter nodma und noscsi, weil sonst der Zugriff auf die Festplatten den Rechner erhängt bzw der Kernel sonst panict. (Wer sich über das -v-t wundert, tu ich auch: Irgendwie habe ich ihn nicht dazu bringen können, sämtliche Boot-Parameter mit zu übernehmen, wenn keine Optionen angegeben sind. -v und -t sind eigentlich Debug-Optionen fürs loadlin (verbose und test), die ich - nachdem es stundenlang nicht gehen wollte - dazu gestellt habe. Daß ich das Space dazwischen vergessen hatte, habe ich erst gemerkt, als der Rechner plötzlich ohne Widerworte mit sämtlichen Parametern gebootet hat. Ich stelle einfach keine Fragen sondern nehme das so hin ...)
Bleibt zu sagen, daß das ganze auf einem 166er nicht wirklich Spaß macht: Viel zu langsam. Um einen Mozilla zu starten, brauche ich 5 Minuten, um eine Seite zu laden nochmal etwa 2. Wenn ich Platz auf der Platte hätte, würde ich es ja mal richtig installieren, dann wäre der lahme CD-Zugriff schon mal weg und evtl auch das dekromprimieren des Images, aber so...
Habe das ganze auch noch mit dem 2.6er Kernel versuchen wollen - ich bin ja schließlich ein Spielkind - und habe dafür von der CD den Kern und die initrd (minirt26.gz) kopiert, das gz entpackt und geinfach mal mit den gleichen Parametern gestartet. Fehlanzeige, die initrd (4,6MB) paßt nicht in die Rammisk, jedenfalls nicht auf diesem Rechner. Also hergegangen, mit dd eine 2MB große leere Datei gebaut, mit ext2 formatiert und alles aus der alten initrd da rein kopiert. Schade nur, daß ext2 ziemlich verschwenderisch mit dem Platz ist und deswegen die Dateien nicht alle rein passen. Also die neue initrd mit Minix formatiert, noch mal kopiert, paßt alles, und noch mal versucht zu starten. Geht aber nicht, der Kernel erkennt zwar brav, daß er jetzt Minix vorgesetzt bekommen hat statt ext2, aber panict dann. Hat wohl kein Minix einkompiliert. Tja, muß ich mich mal über die ext2-Optionen schlau lesen, ob ich denen die Verschwendung etwas abgewöhnen kann...
Nachtrag: Wenn ich die initrd mit resize2fs auf 3000 Blöcke verkleinere und die Datei nachher noch mal durch dd jage, damit ich sie auch tatsächlich auf 3000K geschrumpft bekomme, gehts. *freu*