wie Debian auf SDA3 mit syslinux auf Bootstick booten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
naibeddisotpa
Beiträge: 4
Registriert: 06.11.2012 12:53:13

wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von naibeddisotpa » 06.11.2012 13:19:59

Ich, Windowsflüchtling, habe gerade ein neues stabiles Debian auf meiner Festplatte installiert, weil mir das von Bootstick laufende Aptosid persistent zu viel Mucken macht.
Mein System sieht so aus:
SDA1 ist eine verschlüsselte Truecrypt-Partition (Windows), SDA2 eine FAT32, und SDA3 eine ext2-Partition mit dem neuen Debian. Bei der Installation habe ich "keinen Bootloader" ausgewählt, mit Rücksicht auf die Truecrypt-Partition und der optimistischen Einstellung, dies über meine vorhandenen Bootstick (auf dem das APTOSID läuft) lösen zu können.
Leider gelingt es mir nicht nicht, einen passenden Menüeintrag zu erstellen, um das Debian zu booten.
Ich will auch nicht den Bootstick ( 4GB, FAT32) neu installieren oder grossartig verändern (z.B. GRUB), weil mich seine Erstellung Stunden bis Tage gekostet hatte (ging alles nicht so einfach, wie Aptosid es angeboten hatte).
Der Kernel liegt unter sda3/boot/vmlinuz-2.6.32-5-686 auf SDA3, root (/) liegt auf SDA3, dort liegt auch initrd.img und vmlinuz (Es kommen immer FEHLERMELDUNG wie file not found oder Kernelimage not found, je nach Eintrag )
Oder muss ich noch etwas auf den Stick kopieren?
Die manpages von syslinux habe ich gelesen, doch die geben für mich als Linux-Neuling nichts her.

Meine (kläglichen) bisherigen Versuche sind:

Code: Alles auswählen

LABEL DEBIANI
KERNEL /boot/vmlinuz-2.6.32-5-686 root=/dev/sda3
LABEL DEBIANII
KERNEL /boot/vmlinuz-2.6.32-5-686 root=/dev/sda3
APPEND root=/dev/sda3
LABEL DEBIANIII
KERNEL /boot/vmlinuz root=/dev/sda3
APPEND root=/dev/sda3
LABEL DEBIANIV
KERNEL /dev/sda3/boot/vmlinuz
APPEND root=/dev/sda3
LABEL DEBIANV
KERNEL vmlinuz
APPEND root=/dev/sda3
Wer hat die richtigen Einträge parat?


Danke schon schön
Naibed Disotpa

Clio

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von Clio » 06.11.2012 14:04:33

Auf welcher Partition ist denn Syslinux mit der syslinux.cfg installiert? Das geht aus der Beschreibung der Partitionen nicht hervor.
Danach richtet sich auch der Eintrag und kann auch nur da vorgenommen werden.
Mich wundert übrigens die Auswahl von ext2, hast Du darauf wirklich das Debian installiert?
Das wäre doch heutzutage zu Zeiten von ext4 sehr unüblich...

...willkommen im Debianforum....

Benutzeravatar
towo
Beiträge: 4552
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von towo » 06.11.2012 14:07:21

Code: Alles auswählen

LABEL DEBIANI
KERNEL /boot/vmlinuz-2.6.32-5-686 
APPEND root=/dev/sda3 initrd=/boot/initrd.img
Sollte funktionieren, wobei nicht sicher ist, daß beim Booten von USB die Platte auch wirklich sda3 heisst, da in dem Moment der Stick vermutlich sda ist.

naibeddisotpa
Beiträge: 4
Registriert: 06.11.2012 12:53:13

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von naibeddisotpa » 06.11.2012 14:38:04

to towo > Danke für den Hinweis,
habe jetzt mal den neuen Eintrag in syslinux.cfg gemacht: Funktioniert leider immer noch nicht (file not found).

Im Übrigen erscheinen beim booten von Aptosid persistent mit dem Stick folgende Laufwerke: sda2, sda3, sdb1,
ich Interpretiere das so: sda1 wird nicht erkannt wegen verschlüsselter Truecrypt-Partition, sda2 ist dann die FAT32 -Partition und sdb3 ist die ext2-Partition mit dem neuen installierten Debian, das ich bisher nicht booten kann. Es bleibt dann nur noch sdb1, das kann dann nur der Bootstick sein.
Aus Aptosid heraus kann ich das nicht mehr erkennen, weil die Platten unter /media gemounted sind.

to clio > ext2 deshalb, weil ich kein journaling-file-system wünsche . . .
syslinux befindet sich auf dem USB-Stick, d.h. höchstwahrscheinlich sdb1 (s.o.)



Gibt es eigentlich eine andere Variante, Debian auf sda3 zu installieren und den Bootloader gleich auf einem Stick unterzubringen ??? Noch ist das Debian jungfräulich und ein neuer Installationsversuch somit locker möglich.

Clio

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von Clio » 06.11.2012 16:06:58

Dann probiere es mal damit:

MENU LABEL DEBIAN
COM32 chain.c32
APPEND hd0 3

Das Programm chain.c32 sollte sich in /usr/share/syslinux befinden.

Wie sich der Befehl zusammensetzt:
# Chainloading Beispiel
# Erste Festplatte hd0
# Dritte primäre Part hd0 3

Zu Installationen auf einen Stick finden sich hier einige Beiträge im Forum.

naibeddisotpa
Beiträge: 4
Registriert: 06.11.2012 12:53:13

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von naibeddisotpa » 10.11.2012 13:05:53

to clio> So nach längerer Abwesenheit wwg eines grossen Familienereignisses bin ich wieder zurück.
Ich habe es mit dem Chainloader probiert, das funktioniert auch nicht.(ich glaube Fehlermeldung, files not found).

Andererseits bin ich nicht untätig gewesen und habe mir mal ein Floppydrive besorgt, angeschlossen und eine Grub4Dos-Startdiskette gebastelt. Zusätzlich hatte ich meine Festplatte ausgebaut und mit einer "nackten" ersetzt, dort ein provisorisches Debian installiert und dann abschliessend GRUB konfiguriert,so dass ich nun sagen kann, wie der automatische Eintrag von Debian in GRUB lautet:

Code: Alles auswählen

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 87b93931-959a-4243-ad6c-23d301ea366a
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 87b93931-959a-4243-ad6c-23d301ea366a
set locale_dir=($root)/boot/grub/locale
set lang=de
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 87b93931-959a-4243-ad6c-23d301ea366a
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set 87b93931-959a-4243-ad6c-23d301ea366a
	echo	'Loading Linux 2.6.32-5-686 ...'
	linux	/boot/vmlinuz-2.6.32-5-686 root=UUID=87b93931-959a-4243-ad6c-23d301ea366a ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-686 
#  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-686 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set 87b93931-959a-4243-ad6c-23d301ea366a
	echo	'Loading Linux 2.6.32-5-686 ...'
	linux	/boot/vmlinuz-2.6.32-5-686 root=UUID=87b93931-959a-4243-ad6c-23d301ea366a ro single 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-686
}
 
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ### 


Wenn ich das richtig sehe, ist der Block zwischen den mit #++++++++.... gekennzeichneten Zeilen die in Frage kommende Bootanweisung.
Ein Jammer, dass hier nicht die Dev-Bezeichnung steht, sondern die UUID.
Interressanterweise habe ich entdeckt, dass es nicht initrd.-2.6.32-5-686.img sondern initrd.img-2.6.32-5-686 heissen muss. Aber auch diese Berücksichtigung in meinem Booteintrag auf dem Bootstick mit syslinux führte zu keinem Erfolg.
Basierend auf den Erkenntnissen des provisorischen Debian auf einer eigenen Platte habe habe ich meine neu erstellte Grub4dos-Diskette mit folgendem Menu-Punkt erstellt, um dann die Originalplatte mit gewünschtem Debian auf der 3. Partition zu Booten (leider ist mein HP-Thinkcenre zu klein, um eine auf Dauer eine 2. Platte die ein eigenes Debian enthält, aufzunehmen!):

Code: Alles auswählen

title Debian GNU/Linux, with Linux 2.6.32-5-686 

root            (hd0,2)
kernel          /boot/vmlinuz-2.6.32-5-686 root=/dev/sda2 ro quiet splash
initrd          /boot/initrd.img-2.6.32-5-686

boot
 

title Debian GNU/Linux, with Linux 2.6.32-5-686 (CHAINLOADER)

root (hd0,2);chainloader +1
Während sich mit dem Chainloadermenueintrag gar nichts tut, erhalte ich unter" title Debian GNU/Linux,with Linux 2.6.32-5-686 "
folgende Fehlermeldungen:

mounting dev/sda2 on root failed
das gleiche dan auch für /dev;/sys;u. /prog
Warning: Unrecognized partition table for drive 80.
Please rebuild it using a MS-comptible fdisk-tool.
Current C/H/S= 16383/240/63
[Linux initrd@0x5ef98000,0x847632 bytes

Immerhin etwas.

Wer oder besser was ist drive 80 ; ich vermute mal sda? Ich hatte zur Partitionierung der Debianpartition auf sda3 gparted verwendet, und auch noch nie Probleme damit gehabt.
Alternativen? Habe ich bei den Menueinträgen für grub4dos was falsch gesehen oder gemacht? Jeder Hinweis wird dankbar entgegengenommen. Wäre auch für völlig neue Wege offen, Hauptsache sda1 und sda2 bleiben unangetastet, wg. der verschlüsselten Partition C: / (sda1).

Grüsse, ebenfalls aus Bochum
Naibed Disotpa

Clio

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von Clio » 10.11.2012 14:08:19

Ehrlich gesagt, blicke ich da nicht so recht durch.
Du hast doch sda1 und sda2 als primäre Partitionen bereits an Windows vergeben, die dritte sda3 soll doch der Stick mit Debian sein, oder nicht? Du trägst aber in die syslinux.cfg die sda2 als Start ein.
Um die genaue Bezeichnung festzustellen, kannst Du als root auf der Konsole

Code: Alles auswählen

blkid
eingeben, die Bezeichnungen unter /dev/disk/ im jeweiligen Ordner oder mit einer Live-CD feststellen.

Eine sehr hilfreiche Erklärung zu syslinux ist hier:
https://wiki.archlinux.org/index.php/syslinux

Ein System auf einem Stick hatte ich noch nicht, daher sind meine Tipps recht begrenzt...
aber hier sind einige Leute, die eine solche Konstellation haben. Da meldet sich sicher noch jemand.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von cosmac » 10.11.2012 20:41:38

hi,
naibeddisotpa hat geschrieben:Wäre auch für völlig neue Wege offen, Hauptsache sda1 und sda2 bleiben unangetastet,
na gut... Du hast also eine Debian-Installation ohne Boot Loader auf einer dritten primären Partition und einen USB-Stick von dem du aptosid booten kannst. Unter diesem aptosid kannst du die Debian-Partition mounten. Auf dem Stick gibt es ein Verzeichnis mit syslinux.cfg, dem aptosid-Kernel und der initrd dazu. Wenn ich diese Details schon nicht verstanden hab', bitte nicht weiterlesen.

Ein Spezial-Vorschlag mit Nachteilen:
- es ist kein völlig neuer Weg
- "man" macht das nicht so
- Kernel-Updates funktionieren nicht automatisch
und einem Vorteil:
- Kernel-Updates funktionieren nicht automatisch, d.h. das Risiko für /dev/sda1 und /dev/sda2 wird minimiert.

Du kopierst den Kernel und die initrd aus dem /boot-Verzeichnis der Debian-Partition auf den Stick ins Verzeichnis mit der syslinux.cfg. Dann erstellst du in der syslinux.cfg einen Eintrag für Debian mit dem Kernel und der initrd, die du eben kopiert hast. Der Pfad sollte dabei so aussehen, wie beim Eintrag für aptosid. Als Kernel-Parameter sollte erstmal ro root=/dev/sda3 ausreichen (aber die initrd nicht vergessen).

Wenn das funktioniert, würde man normalerweise unter dem laufenden Debian einen Boot Loader installieren. In deinem Fall würde ich das nicht machen, weil syslinux nicht mit ext2 funktioniert und extlinux und grub gerne den falschen MBR überschreiben und bei Updates das Bootmenü "verbessern".

Zum Ausgleich musst du nach einem Kernel-Update die neuen Dateien aus /boot wieder auf den USB-Stick kopieren und ggf. die Namen in syslinux.cfg anpassen. Wenn du das vergisst, passiert nichts schlimmes, Debian läuft dann einfach mit dem alten Kernel und der alten initrd. Erst wenn mal wieder ein inkompatibles udev-Update ansteht, könnte es Probleme geben. Aber dann hast du ja immer noch aptosid.
Beware of programmers who carry screwdrivers.

naibeddisotpa
Beiträge: 4
Registriert: 06.11.2012 12:53:13

TATATA F U N K T !!! Re: wie Debian auf SDA3 booten

Beitrag von naibeddisotpa » 11.11.2012 12:07:38

to clio >

Auch wenn Du etwas ein klein wenig missverstanden hattest, hat mir Dein Beitrag die Lösung beschert.
Ist auch nicht so einfach mit den devices, man verliert leicht den Überblick.
Nochmals: sda1 - Truecrypt-Volume
sda2 - FAT 32
sda3 - Debian (nicht mountbar)
sdb1 - USB mit syslinux

"SDA2" im Grub4Dos-Menu auf Diskette! Das war der entscheidende Tip. Irgendwie hatte sich in meinem Kopf manifestiert, dass bei Grub die Zählung bei 0 beginnt, deshalb auch der (falsche) Eintrag sda2.
Ich hab dann einfach auf sda3 umgeändert und D E B I A N B O O T E T !

Man könnte sich theroretisch fragen, warum das mit Syslinux nicht so funktioniert und viel weiter oben beschriebene Fehlermeldung produziert.
Aber mir reichts, ich werde jetzt mal einen USB-Stick mit GRUB oder GRUB4DOS anfertigen und so mein DEBIAN starten. Das ist ja das, was ich wollte, ich bin auch guter Ding, dass mir das gelingt.

to > cosmac Guter Tip, hat sich ja jetzt leider /CLIOseidank erledigt.

Obwohl ich so was ähnliches auch schon vergeblich versucht hatte: Debian über Aptosid auf Stick gemounted und alle Kerneldateien auf den Stick kopiert. Menueinträge entsprechend bearbeit. Aber leider erfolglos.
Wobei ich jetzt aber auch bei den vielen Versuchen nicht mehr nachhalten kann, ob ich wirklich
den richtigen init.rd-Namen angegeben hatte (dass es nicht initrd.-2.6.32-5-686.img sondern initrd.img-2.6.32-5-686 heissen muss .. aus einem früheren Beitrag.)

Aber vielleicht noch eine Frage:
In meinem Truecrypt-Windows wird der Bootsektor bei jedem Neustart auf Veränderungen geprüft.
Es hat sich jetzt herausgestellt, das (minimale) Änderungen eintreten, wenn ich
Grub4Dos auf Diskette installiere
sylinux auf den Bootstick installiere
Wie das? Normalerweise müsste doch der Festplattensektor unangetastet bleiben.
Ich habe so was ähnliches erlebt als ich mit einer Panda (?)Anti-Virus - Boot-CD sda2 gemounted hatte,
wurde der Bootsektor von C: auch geändert.
Hat jemand eine Erklärung parat?

Ansonsten vielen Dank für Eure Hilfestellungen, ich hoffe dass ich in baldiger Zeit im Grossen und Ganzen nur noch Debian fahren werde ........

Einen schönen Tag noch
Naibed Disotpa

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: wie Debian auf SDA3 mit syslinux auf Bootstick booten

Beitrag von cosmac » 11.11.2012 13:30:24

naibeddisotpa hat geschrieben:Ich hab dann einfach auf sda3 umgeändert und D E B I A N B O O T E T !
na denn viel Erfolg mit Debian!
Man könnte sich theroretisch fragen, warum das mit Syslinux nicht so funktioniert...
anscheinend kann grub hier tatsächlich mehr als syslinux... und die syslinux+chain-Variante ist ja dazu da, einen weiteren Bootloader zu starten, aber auf sda3 gibt es keinen.
In meinem Truecrypt-Windows wird der Bootsektor bei jedem Neustart auf Veränderungen geprüft.
Es hat sich jetzt herausgestellt, das (minimale) Änderungen eintreten, wenn ich
Grub4Dos auf Diskette installiere
sylinux auf den Bootstick installiere
vielleicht wird "der Bootsektor" im weiteren Sinne geprüft, also nicht nur die 512 Byte auf sda, sondern alles, was mit dem Bootvorgang zusammen hängt. Dazu würden auch Änderungen auf einem anderen Laufwerk gehören.
Beware of programmers who carry screwdrivers.

Antworten