LinuxForum.Fans
Тема

Funtoo, grub, boot-update

Автор: zenon 27 сообщений 7656 просмотров
#245718

Как добавлять ядра с других разделов?
Сейчас нашел только как win загрузку добавить, работает, оффтопик грузится нормально:
/etc/boot.conf

text
boot {
        generate grub
        default "Funtoo Linux genkernel"
        timeout 3
}

"Funtoo Linux" { kernel bzImage[-v] }

"Funtoo Linux genkernel" { kernel kernel[-v] initrd initramfs[-v] params += real_root=auto nomodeset vga=791 ro }

"Windows 7" { type win7 params root=/dev/sdb3 }

man boot.conf не очень информативен
попробовал добавить Debian:
так:

text
"Debian" {
         params root=/dev/sdc2
         params += real_root=/dev/sdc2
         params += rootfstype=reiserfs
         params += quiet
         kernel vmlinuz[-v]
         initrd initrd.img[-v]
}

так:

text
"Debian" {
         params root=/dev/sdc2
         kernel vmlinuz-3.3-1.slh.2-aptosid-amd64
         initrd initrd.img-3.3-1.slh.2-aptosid-amd64
         params += real_root=/devsdc2 nomodeset vga=791 ro
}

оба варианта не работают
Debian /boot (/dev/sdc2)

text
grub/                                    memtest86+.bin
aptosid-old-mbr.2012-04-11               memtest86+_multiboot.bin
config-3.3.0-1.dmz.1-liquorix-amd64      System.map-3.3.0-1.dmz.1-liquorix-amd64
config-3.3-1.slh.2-aptosid-amd64         System.map-3.3-1.slh.2-aptosid-amd64
initrd.img-3.3.0-1.dmz.1-liquorix-amd64  vmlinuz-3.3.0-1.dmz.1-liquorix-amd64
initrd.img-3.3-1.slh.2-aptosid-amd64     vmlinuz-3.3-1.slh.2-aptosid-amd64
#245722
"newzenon" написал:
params += real_root=/devsdc2 nomodeset vga=791 ro

Это опечатка? (Отсутствует slash в имени устройства).
Что пишет?

text
boot-update -V
#245723
"Lupo Alberto" написал:
Это опечатка? (Отсутствует slash в имени устройства).
Что пишет?

Да очепятка.
Вот еще раз, кусок с Debian:

text
"Debian 1" {
        kernel  vmlinuz[-v]
        initrd  initrd.img[-v]
        params += real_root=/dev/sdc2 nomodeset vga=791 ro
}

"Debian 2" { params root=/dev/sdc2 kernel vmlinuz-3.3-1.slh.2-aptosid-amd64 initrd initrd.img-3.3-1.slh.2-aptosid-amd64 params += real_root=/dev/sdc2 nomodeset vga=791 ro }

text
# boot-update -V

boot-update 1.5.2 / Copyright 2009-2011 Funtoo Technologies

[use option "-l" for license info, "-h" for help]

* Generating config for grub...

* No /etc/fstab entry for /boot; not mounting. * Validating config file /boot/grub/grub.cfg * Backing up original config file to /boot/grub/grub.cfg.old * Writing new config file to /boot/grub/grub.cfg * Done. DEFAULT > Funtoo Linux genkernel - kernel-genkernel-x86_64-3.3.1-gentoo Windows 7

* Configuration file /boot/grub/grub.cfg generated - 20 lines. * Completed successfully.

#245725

Как я понимаю, ядро и initrd.img для Debian'а находятся в каталоге /boot на отличном от Funtoo разделе?
Вероятно, нужно указать раздел, где также нужно искать ядра, с помощью опции scan (см. man boot.conf).

#245727
"Lupo Alberto" написал:
см. man boot.conf

Только не понятно там как, собственно. Сканирует по-умолчанию /boot, а как с другими разделами не понял.
И да при указании type win7 - он же находит раздел и винду. type по -умолчанию linux, пробовал указать эффект тот же.
Есть раздел с Gentoo (genkernel image) могу на нем попробовать, только уже не знаю как.

#245728
"newzenon" написал:
Сканирует по-умолчанию /boot, а как с другими разделами не понял.

Примеров нет, проверить не на чем, остаётся действовать методом «научного тыка»:
Попробуйте добавить строку вида /dev/sdc/boot сюда

text
boot {
        generate grub
        default "Funtoo Linux genkernel"
        timeout 3
        scan /dev/sdc/boot
}

или в секцию с Debian.

#245729

...как «кривой» вариант, можно попробовать скопировать дебиановские ядро и initrd.img в основной каталог /boot.

#245730
"Lupo Alberto" написал:
boot {
generate grub
default "Funtoo Linux genkernel"
timeout 3
scan /dev/sdc/boot
}
text
* WARN : invalid config setting "boot/scan"; ignored.
"Lupo Alberto" написал:
или в секцию с Debian.

Как будто не видит.

=======
Все дошло. Смонтировал /dev/sdc2 в /mnt/debian

text
"Debian 1" {
        scan /mnt/debian/boot
        type linux
        kernel  vmlinuz[-v]
        initrd  initrd.img[-v]
        params += real_root=/dev/sdc2 nomodeset vga=791 ro
}
text
$ boot-update -V

boot-update 1.5.2 / Copyright 2009-2011 Funtoo Technologies

[use option "-l" for license info, "-h" for help]

* Generating config for grub...

* No /etc/fstab entry for /boot; not mounting. * Validating config file /boot/grub/grub.cfg * Backing up original config file to /boot/grub/grub.cfg.old * Writing new config file to /boot/grub/grub.cfg * Done. Debian 1 - vmlinuz-3.3.0-1.dmz.1-liquorix-amd64 Debian 1 - vmlinuz-3.3-1.slh.2-aptosid-amd64 DEFAULT > Funtoo Linux genkernel - kernel-genkernel-x86_64-3.3.1-gentoo Windows 7

* Configuration file /boot/grub/grub.cfg generated - 40 lines. * Completed successfully.

/boot/grub/grub.cfg

text
set timeout=3

menuentry "Debian 1 - vmlinuz-3.3.0-1.dmz.1-liquorix-amd64" { insmod part_msdos insmod reiserfs set root=(hd2,2) search --no-floppy --fs-uuid --set 5475f7b7-ad03-4d3e-aee4-6801ee112fcc linux /mnt/debian/boot/vmlinuz-3.3.0-1.dmz.1-liquorix-amd64 real_root=/dev/sdc2 nomodeset vga=791 ro root=UUID=243fa9e0-4f6a-4dac-bd1c-a0742f78a9bc rootfstype=reiserfs initrd /mnt/debian/boot/initrd.img-3.3.0-1.dmz.1-liquorix-amd64 set gfxpayload=keep }

menuentry "Debian 1 - vmlinuz-3.3-1.slh.2-aptosid-amd64" { insmod part_msdos insmod reiserfs set root=(hd2,2) search --no-floppy --fs-uuid --set 5475f7b7-ad03-4d3e-aee4-6801ee112fcc linux /mnt/debian/boot/vmlinuz-3.3-1.slh.2-aptosid-amd64 real_root=/dev/sdc2 nomodeset vga=791 ro root=UUID=243fa9e0-4f6a-4dac-bd1c-a0742f78a9bc rootfstype=reiserfs initrd /mnt/debian/boot/initrd.img-3.3-1.slh.2-aptosid-amd64 set gfxpayload=keep }

menuentry "Funtoo Linux genkernel - kernel-genkernel-x86_64-3.3.1-gentoo" { insmod part_msdos insmod reiserfs set root=(hd0,1) search --no-floppy --fs-uuid --set 243fa9e0-4f6a-4dac-bd1c-a0742f78a9bc linux /boot/kernel-genkernel-x86_64-3.3.1-gentoo nomodeset vga=791 ro real_root=UUID=243fa9e0-4f6a-4dac-bd1c-a0742f78a9bc initrd /boot/initramfs-genkernel-x86_64-3.3.1-gentoo set gfxpayload=keep }

menuentry "Windows 7" { insmod part_msdos insmod ntfs set root=(hd1,3) search --no-floppy --fs-uuid --set 12e4c634e4c619bd chainloader +4 } set default=2

#245731
"newzenon" написал:
linux /mnt/debian/boot/vmlinuz-3.3.0-1.dmz.1-liquorix-amd64

Что-то мне такая строка не нравится :(

#245736
"Lupo Alberto" написал:
Что-то мне такая строка не нравится

Ну хоть видно что находит.
Теперь придумать как сделать чтобы автоматом /boot было, а не /mnt/debian/boot

#245737
"newzenon" написал:
еперь придумать как сделать чтобы автоматом /boot было, а не /mnt/debian/boot

А если указывать что-то вроде (hd2,2)/boot?

#245738

Пробовал так

text
scan (hd2,2)/boot
scan /dev/sdc/boot
scan /dev/sdc2/boot
scan /dev/sdc2

не работает

#245739

Должен быть какой-то выкрутас.

#245743
drobbins написал:
The other stuff, I will need to fix.

Выходит только руками /boo/grub/grub.cfg править.
=
ы. А есть варианты поставить обычный Grub2 как в Gentoo? Может в оверлеях есть?

#245744
"newzenon" написал:
А есть варианты поставить обычный Grub2 как в Gentoo? Может в оверлеях есть?

Что значит «обычный»?

text
gentoo-laptop ~ # eix -I grub
[i] sys-boot/grub
     Available versions:  1.98-r2 [M](~)1.99 {{+binfont custom-cflags debug mkfont static}}
     Installed versions:  1.98-r2(08:13:35 14.09.2011)(binfont -custom-cflags -debug -mkfont -static)
     Homepage:            http://www.gnu.org/software/grub/
     Description:         GNU GRUB 2 boot loader

gentoo-laptop ~ # uname -a Linux gentoo-laptop 3.3.1-funtoo-r0a #1 Wed Apr 4 23:55:40 FET 2012 i686 Genuine Intel(R) CPU T1350 @ 1.86GHz GenuineIntel GNU/Linux

#245745
"newzenon" написал:
Выходит только руками /boo/grub/grub.cfg править.

Так boot-update только помогает создать конфигурационный файл, но не запрещает редактировать его вручную.

#245747
"Lupo Alberto" написал:
Что значит «обычный»?

В funtoo нет скриптов -

text
$ ls /mnt/gentoo/sbin/grub2*
/mnt/gentoo/sbin/grub2-install   /mnt/gentoo/sbin/grub2-mkdevicemap  /mnt/gentoo/sbin/grub2-probe   /mnt/gentoo/sbin/grub2-set-default
/mnt/gentoo/sbin/grub2-mkconfig  /mnt/gentoo/sbin/grub2-mknetdir     /mnt/gentoo/sbin/grub2-reboot  /mnt/gentoo/sbin/grub2-setup

В принципе нужен один, сейчас посмотрю на него:

text
grub2-mkconfig
#245748

Не понимаю, зачем Роббинсу понадобилось изобретать boot-update, ну нормально же работает

text
 grub2-mkconfig -o /boot/grub2/grub.cfg 
#245948

Потому что, grub2 в funtoo появился за полгода раньше чем в gentoo, использовался debianовский grub2 срез, с идиотскими конфигами, boot-update намного проще. Сейчас он устарел, не поддерживает EFI и др. drobbins будет обновлять скоро. Лично я считаю grub2 чрезмерно навороченным (через одно место) и давно перешел на syslinux.

Войдите или зарегистрируйтесь, чтобы ответить.