Linux 14.982 Themen, 106.354 Beiträge

Woher stammen die eintragungen aus der menu.lst?

robinx99 / 10 Antworten / Flachansicht Nickles

Hi,
ich habe ein debian testing auf einem USB stick installiert, es funktioniert auch so ganz gut. Ich verwende eine selbstkompilierten kernel. So nun zu meinem problem:
Nachdem ich einen kernel installiere wird in der menu.lst von grub der eintrag root=/dev/sda2 gesetzt. Das ist dummerweise falsch, denn es müßte /dev/sdb2 sein, da /dev/sda die interne festplatte ist. Und eigentlich will ich da auch ein "root=/dev/disk/by-uuid/6e653f6a-fdab-46a5-b1ac-57b509684f62" stehen haben (so dass es auch funktioniert wenn es mal /dev/sdc ist weil z.B.: noch ein usb stick steckt, oder ich an einem rechner mit 2 internen festplatten boote). Bis jetzt korrigiere ich es per hand nach jedem neu eingespieltem kernel, doch es muß doch auch irgendwie möglich sein es debian klar zu machen dass dort immer dass "by-uuid" verwendet wird anstatt direkt dass device, oder?

robinx99

bei Antwort benachrichtigen
KarstenW robinx99 „Woher stammen die eintragungen aus der menu.lst?“
Optionen

Geh mal in die Datei /boot/grub/menu.lst rein und ließ mal was da steht:


cat /boot/grub/menu.lst

....

Nicht auskommentieren, editiere es so wie du es brauchst

# DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
## deine /boot Partition ( ist gleich / wenn /boot nur ein Unterverzeichnis ist)
# kopt=root=/dev/sda7 ro vga=771

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,6)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=

## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(single-user) single
# altoptions=(single-user mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=true


Die Datei /boot/grub/menu.lst wird automatisch vom Script update-grub aktualisiert. Einfach update-grub als root im Terminal eingeben. Vorher mußt du aber noch die Kerneloptionen oben anpassen .

update-grub sucht in /boot nach Kerneldateien die mit vmlinuz beginnen. Also wenn du einen eigenen Kernel übersetzt, dann benenne ihn mit vmlinuz am Anfang und als Suffix eventuell noch die Versionsnummer und die Prozessorarchitektur. Beispiel:

ls -l /boot/

insgesamt 22136
-rw-r--r-- 1 root root 85588 27. Jul 00:44 config-2.6.26-2-amd64
drwxr-xr-x 2 root root 4096 29. Jul 19:23 grub
-rw-r--r-- 1 root root 7770768 29. Jul 19:23 initrd.img-2.6.26-2-amd64
-rw-r--r-- 1 root root 7770057 12. Apr 13:07 initrd.img-2.6.26-2-amd64.bak
-rw-r--r-- 1 root root 103212 25. Mär 2008 memtest86.bin
-rw-r--r-- 1 root root 124152 8. Okt 2008 memtest86+.bin
-rw-r--r-- 1 root root 1180135 28. Jun 16:45 System.map-2.6.26-17-AMD64
-rw-r--r-- 1 root root 1225358 27. Jul 00:44 System.map-2.6.26-2-amd64
-rw-r--r-- 1 root root 2573392 28. Jun 16:45 vmlinuz-2.6.26-17-AMD64
-rw-r--r-- 1 root root 1754800 27. Jul 00:44 vmlinuz-2.6.26-2-amd64


Momentan werden bei Debian nur die Gerätedateien unterstützt. Mir ist jedenfalls nicht anderes bekannt.
Das Problem liegt aber nicht bei Debian, sondern bei grub. Ließ mal das Grub Handbuch durch:

http://www.gnu.org/software/grub/manual/

Wenn du willst das deine USB Festplatte oder der USB Stick eine bestimmte Gerätedatei bekommt, dann kannst du eine eigene udev Regel aufstellen. Das ist im Ubuntu Wiki ganz einfach erklärt und es wird auch unter Debian so gemacht.

http://wiki.ubuntuusers.de/udev?highlight=udev

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen