Kernel in Grubloader eintragen
Kernel in Grubloader eintragen
Hallo zusammen.
Ich bin mal wieder ein wenig am Basteln und habe heute mal einen Kernel erstellt. Nun versuche ich den Kernel in den Grubloader einzutragen. Ich habe aber nicht die Datei /boot/grub/menu.lst woran kann es liegen? Habe versucht die Datei manuell zu erstellen und den Eintrag für den Kernel gemacht, aber leider wird er beim booten nicht angezeigt.
Vielleicht weis ja einer was Sache ist
Gruß Leo
Ich bin mal wieder ein wenig am Basteln und habe heute mal einen Kernel erstellt. Nun versuche ich den Kernel in den Grubloader einzutragen. Ich habe aber nicht die Datei /boot/grub/menu.lst woran kann es liegen? Habe versucht die Datei manuell zu erstellen und den Eintrag für den Kernel gemacht, aber leider wird er beim booten nicht angezeigt.
Vielleicht weis ja einer was Sache ist
Gruß Leo
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
- towo
- Beiträge: 4546
- Registriert: 27.02.2007 19:49:44
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Kernel in Grubloader eintragen
Debian 6 benutzt Grub2, deshalb gibts auch keine menu.lst.
Ein beherztes update-grub als root trägt den Kernel normalerweise automagisch ein.
Ein beherztes update-grub als root trägt den Kernel normalerweise automagisch ein.
Re: Kernel in Grubloader eintragen
Für Besonderheiten einen Eintrag in /boot/grub/custom.cfg.
Damit dieser Eintrag am Anfang der Liste auftaucht noch einen Link
/etc/grub.d/01_custom -> /etc/grub.d/41_custom
Danach 'update-grub'.
Damit dieser Eintrag am Anfang der Liste auftaucht noch einen Link
/etc/grub.d/01_custom -> /etc/grub.d/41_custom
Danach 'update-grub'.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
Hmm leider erscheint beim Start der Kernel nicht.
Hab ich vielleicht einen Fehler gemacht?
Ich hatte die Imagedatei mit dem Kernel sowie die System.map in den Ordner /boot kopiert. Das war doch richtig oder? Den Kernel habe ich vorher selbstverständlich konfiguriert und kompiliert. Auch die Module sind mit make modules und make modules_install installiert worden.
Gruß Leo
Hab ich vielleicht einen Fehler gemacht?
Ich hatte die Imagedatei mit dem Kernel sowie die System.map in den Ordner /boot kopiert. Das war doch richtig oder? Den Kernel habe ich vorher selbstverständlich konfiguriert und kompiliert. Auch die Module sind mit make modules und make modules_install installiert worden.
Gruß Leo
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
Auch die initrd für den Kernel erstellt?
Und wie sehen dieser Eintrag und Dein /boot/ und /boot/grub/ mittlerweile aus?
Und was für grub?
Und wie sehen dieser Eintrag und Dein /boot/ und /boot/grub/ mittlerweile aus?
Und was für grub?
Code: Alles auswählen
dpkg -l | grep grub
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
Also grub liegt in der Version 1.98 vor. Habe gerade bemerkt das ich erst den Befehl. apt-get install grub ausführen musste und der ein Update machen wollte auf Grub 2. Danach wieder update-grub und neustart. Aber der Kernel erscheint noch immer nicht.
Was ist eine Intrid? Wenn das Image damit gemeint ist was ich mit "make bzImage" gemacht habe, dann ja. Dieses habe ich in den Ordner /boot kopiert. Genauso habe ich dort auch die mit erstellte System.map hin kopiert.
Uploaded with ImageShack.us
Was ist eine Intrid? Wenn das Image damit gemeint ist was ich mit "make bzImage" gemacht habe, dann ja. Dieses habe ich in den Ordner /boot kopiert. Genauso habe ich dort auch die mit erstellte System.map hin kopiert.
Was meinst du damit genau?Und wie sehen dieser Eintrag und Dein /boot/ und /boot/grub/ mittlerweile aus?
Uploaded with ImageShack.us
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
Du bist momentan wohl in einem Zwischenzustand, denn
Grub1 grub 0.97 und
Grub2 grub-pc 1.98
sind beide vorhanden.
grub 0.97 hat ein update-grub, das /boot/grub/menu.lst erstellt,
grub-pc 1.98 hat ein updategrub[2], das aus den template-Skripten in /etc/grub.d/ die /boot/grub/grub.cfg erstellt.
(grub-pc 1.98 bringt immer noch das update-grub des grub1 mit,
als /usr/lib/grub-legacy/update-grub)
Im Zwischenzustand ("Testbetrieb") befindet sich noch grub1 im MBR der Platte,
dieser springt die Image-Datei eines Plattenstartbereichs mit grub2 in /boot/grub/ an,
worauf dann das Menü des grub2 angezeigt wird.
Welches Menu angezeigt wird, kannst Du aus der Titelleiste lesen,
oder Du machst dummy-Einträge,
Am Ende der /boot/grub/menu.lst: und in /boot/grub/custom.cfg
Die initrd erstellst Du nötigenfalls mit
Alle vorhandenen initrd können neu erstellt werden mit
Grub1 grub 0.97 und
Grub2 grub-pc 1.98
sind beide vorhanden.
grub 0.97 hat ein update-grub, das /boot/grub/menu.lst erstellt,
grub-pc 1.98 hat ein updategrub[2], das aus den template-Skripten in /etc/grub.d/ die /boot/grub/grub.cfg erstellt.
(grub-pc 1.98 bringt immer noch das update-grub des grub1 mit,
als /usr/lib/grub-legacy/update-grub)
Im Zwischenzustand ("Testbetrieb") befindet sich noch grub1 im MBR der Platte,
dieser springt die Image-Datei eines Plattenstartbereichs mit grub2 in /boot/grub/ an,
worauf dann das Menü des grub2 angezeigt wird.
Welches Menu angezeigt wird, kannst Du aus der Titelleiste lesen,
oder Du machst dummy-Einträge,
Am Ende der /boot/grub/menu.lst:
Code: Alles auswählen
title debian grub 1 hd0
root
#root (hd0)
#chainloader +1
Code: Alles auswählen
menuentry 'grub2 CUSTOM BOOT 0' {
#savedefault
#insmod part_msdos
#set root='(hd0)'
#chainloader +1
}
Die initrd erstellst Du nötigenfalls mit
Code: Alles auswählen
mkinitramfs -c -k Kernelversion
Alle vorhandenen initrd können neu erstellt werden mit
Code: Alles auswählen
mkinitramfs -u -k all
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
Hm bei mir existiert aber keine menu.lst
Laut titelleiste nutze ich den zweier.
Kann ich den ersten nicht einfach deinstallieren?
Laut titelleiste nutze ich den zweier.
Kann ich den ersten nicht einfach deinstallieren?
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
grub-legacy, ja,Kann ich den ersten nicht einfach deinstallieren?
und dessen eventuell in /boot/grub/ verbleibende Dateien können gelöscht werden:
Dann sicherheitshalber nochmalgrub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/e2fs_stage1_5
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/fat_stage1_5
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/jfs_stage1_5
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/minix_stage1_5
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/reiserfs_stage1_5
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/stage1
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/stage2
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/stage2_eltorito
grub-legacy_0.97-64_i386/usr/lib/grub/i386-pc/xfs_stage1_5
/usr/sbin/upgrade-from-grub-legacy (welches die obigen Dateien auch löscht.)
aufrufen und auf dessen Meldung achten.
Eventuell nochmal explizit für grub2 ausführen:
Code: Alles auswählen
/usr/sbin/grub-install --recheck --no-floppy /dev/sda
und nicht eventuell noch Startcode von grub1.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
So habe es nun geschafft den alten runter zu bekommen. Dennoch sehe ich nichts. Vielleicht habe ich ja was falsch gemacht. Deswegen mal meine Vorgehensweise beim kompilieren. Ich mache es übrigens in einem Fernstudium und habe es so anhand meiner Lernunterlagen gemacht!
1
2
Anschließen mit links2 auf www.kernel.org die aktuellste Kernelversion geladen.
3
4
Alle Dateien und Verzeichnisse in /usr/src/linux kopiert
5
Konfiguration durchführen
6
Den Kernel komprimiert kompilieren
7
module kompilieren
8
die Module installieren
9
Komischerweise habe ich das Verzeichniss I386 nicht. Das File liegt nur dort drinnen.
10
So stehts in meinem Lehrheft.
Ist das denn soweit richtig?
1
Code: Alles auswählen
apt-get install gcc libc6 binutils libncurses5-dev links2
Code: Alles auswählen
links 2
3
Code: Alles auswählen
mkdir /usr/src/linux
cd /usr/src/
bunzip2 linux-2.6.39.tar.bz2
tar -xvf linux-2.6.39.tar
Code: Alles auswählen
cd linux-2.6.39
cp -r * /usr/src/linux
5
Code: Alles auswählen
cd /usr/src/linux
make menuconfig
6
Code: Alles auswählen
make bzImage
7
Code: Alles auswählen
make modules
8
Code: Alles auswählen
make modules_install
9
Code: Alles auswählen
cp System.map /boot
cp /usr/src/linux/arch/x86/boot/bzImage /boot
10
Code: Alles auswählen
update-grub
Ist das denn soweit richtig?
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
Liegt daran, weil kein "vmlinuz-....".boot/bzImage
Hättest Du als alter Kernelbauer auch selbst drauf kommen können.
ZBsp. indem Du Dir die erstellenden Skripte mal näher angeschaut hättest.
oder indem Dir bei der Ausgabe ein gewisses Muster auffällt:
Code: Alles auswählen
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.39-1-686-pae
Found initrd image: /boot/initrd.img-2.6.39-1-686-pae
Found linux image: /boot/vmlinuz-2.6.39-1-amd64
Found initrd image: /boot/initrd.img-2.6.39-1-amd64
Found linux image: /boot/vmlinuz-2.6.32-5-xen-686
Found initrd image: /boot/initrd.img-2.6.32-5-xen-686
Found linux image: /boot/vmlinuz-2.6.32-5-686-bigmem
Found initrd image: /boot/initrd.img-2.6.32-5-686-bigmem
Found linux image: /boot/vmlinuz-2.6.32-5-amd64
Found initrd image: /boot/initrd.img-2.6.32-5-amd64
Found linux image: /boot/vmlinuz-2.6.26-2-686-bigmem
Found initrd image: /boot/initrd.img-2.6.26-2-686-bigmem
Found linux image: /boot/vmlinuz-2.6.39-1-686-pae
Found initrd image: /boot/initrd.img-2.6.39-1-686-pae
Found linux image: /boot/vmlinuz-2.6.39-1-amd64
Found initrd image: /boot/initrd.img-2.6.39-1-amd64
Found linux image: /boot/vmlinuz-2.6.32-5-xen-686
Found initrd image: /boot/initrd.img-2.6.32-5-xen-686
Found linux image: /boot/vmlinuz-2.6.39-1-686-pae
Found initrd image: /boot/initrd.img-2.6.39-1-686-pae
Found linux image: /boot/vmlinuz-2.6.39-1-amd64
Found initrd image: /boot/initrd.img-2.6.39-1-amd64
Found linux image: /boot/vmlinuz-2.6.32-5-xen-686
Found initrd image: /boot/initrd.img-2.6.32-5-xen-686
done
Press any key to continue...
Nach dem Abgrasen von /usr/sbin/update-grub und /usr/lib/grub/grub_mkconfig_lib
(mit einem Syntax-Highlight Editor ist das gar nicht so wild,
normale Dateinamen ohne she-bang bekommen einen Link mit Endung ".c" und ich habe C-Highlighting)
lande ich hier:
Code: Alles auswählen
# cat /etc/grub.d/* | grep -i found.*image -C1
# Step #7: Everything went fine, print out a message to stderr ...
echo "Found background image: ${1}" >&2
--
# If we haven't found a background image yet, use the default from desktop-base.
if set_background_image "/usr/share/images/desktop-base/desktop-grub.png"; then
--
linux=`version_find_latest $list`
echo "Found linux image: $linux" >&2
basename=`basename $linux`
--
if test -n "${initrd}" ; then
echo "Found initrd image: ${dirname}/${initrd}" >&2
elif test -z "${initramfs}" ; then
--
linux=`version_find_latest $list`
echo "Found linux image: $linux" >&2
basename=`basename $linux`
--
if test -n "${initrd}" ; then
echo "Found initrd image: ${dirname}/${initrd}" >&2
else
Code: Alles auswählen
# cat /etc/grub.d/* | grep -i list -C1
xi?86 | xx86_64)
list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
--
*)
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
--
while [ "x$list" != "x" ] ; do
linux=`version_find_latest $list`
echo "Found linux image: $linux" >&2
--
...
list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
Es wäre aber auch sowas denkbar:
Code: Alles auswählen
for i in $(file /boot/* | grep Linux.*Image | ...); do
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
Ah super. Na die Studienmaterialien sind nicht die Besten das merke ich schon...
Wie erstelle ich das dann? Nur mit make? weil make vmlinuz klappt nicht.
Gewundert hatte ich mich schon. Aber naja dachte wenns in den Studienmaterialien so steht muss es bzImage sein.
Wie erstelle ich das dann? Nur mit make? weil make vmlinuz klappt nicht.
Gewundert hatte ich mich schon. Aber naja dachte wenns in den Studienmaterialien so steht muss es bzImage sein.
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
'make bzImage' oder mittlerweile auch einfach 'make' ist eine Angabe für das Makefile,
siehe dieses und die Readme im Wurzelverzeichnis Deiner Kernelquellen.
Wie Du das Image in /boot/ benennst, ist dem daraus gestarteten Kernel letztlich egal,
also geht auch "bzImage" -> "vmlinuz-DeineVersion".
"DeineVersion" wäre gleich dem Verzeichnisnamen der Module unterhalb /lib/modules/.
Du könntest Dir nach dem Konfigurieren die Arbeit durch kernel-package abnehmen lassen.
siehe dieses und die Readme im Wurzelverzeichnis Deiner Kernelquellen.
Wie Du das Image in /boot/ benennst, ist dem daraus gestarteten Kernel letztlich egal,
also geht auch "bzImage" -> "vmlinuz-DeineVersion".
"DeineVersion" wäre gleich dem Verzeichnisnamen der Module unterhalb /lib/modules/.
Du könntest Dir nach dem Konfigurieren die Arbeit durch kernel-package abnehmen lassen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Kernel in Grubloader eintragen
So da melde ich mich mal wieder.
Soweit hat jetzt alles wirklich gut geklappt. Einmal das kompilieren des Kernels als auch der Module und die Installation dieser. Das Image verschoben, umbenannt, grub update und siehe da es geht. Der Kernel erscheint nun in der Version 2.6.39
Nur habe ich beim starten des Kernels folgenden Fehler
(Zum Vergrößern anklicken)
Gruß Leo
Soweit hat jetzt alles wirklich gut geklappt. Einmal das kompilieren des Kernels als auch der Module und die Installation dieser. Das Image verschoben, umbenannt, grub update und siehe da es geht. Der Kernel erscheint nun in der Version 2.6.39
Nur habe ich beim starten des Kernels folgenden Fehler
(Zum Vergrößern anklicken)
Gruß Leo
Raspberry PI 2 Model B
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
OS: Raspbian Jessie Lite
CPU: ARM710 900 MHz
RAM Größe: 1 GB LPDDR2-SDRAM
Re: Kernel in Grubloader eintragen
Da wirst Du noch forschen müssen, kann alles Mögliche sein.
Verwende, wenn es unbedingt ein 2.6.39 sein muß,
(auch) den 2.6.39 aus sid, (+ initramfs-tools aus sid).
Verwende, wenn es unbedingt ein 2.6.39 sein muß,
(auch) den 2.6.39 aus sid, (+ initramfs-tools aus sid).
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")