LINUX.ORG.RU

Передача параметров определенному ядру с помощью Grub2.

 , ,


0

1

Привет всем.

Дано: дуалбут из Убунты и гентушечки. На них двоих всего один Grub. Вопрос: как организовать передачу параметров, скажем nomodeset, ядру генты каждый раз при загрузке, не прибегая к непосредственной правке прямо в загрузочном меню?

Всем спасибо.

в конфиг пропиши, болезный

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

К тому же сам /boot/grub/grub.conf править нельзя.

Почему?

Ну и вы в курсе, что параметр nomodeset отключит KMS у модулей Intel, Radeon, Nouveau, как следствие вы не сможете использовать соответствующие драйверы (xf86-video-intel, xf86-video-ati, xf86-video-nouveau) в xorg-server, т.к. KMS является теперь обязательной зависимостью. Так что вам нужно будет ставить либо проприетарный драйвер nvidia-drivers, либо ati-drivers, в зависимости от вашей видео карты. Так что указание этого параметра не имеет смысла, просто заблокируйте загрузку указанных модулей в /etc/modrpobe.d/, если драйверы собраны не модульно, то вам придётся пересобирать ядро, ибо сами по себе драйверы в ядре будут задействованы для обслуживания соответствующих видео карт, так что использовать закрытые драйверы не получится.

В Gentoo вы собираете ядро в ручную, так что просто правильно соберите его, с нужными вам драйверами, если драйвер нужен опционально, то собирайте его модульно, а загрузку модуля блокируйте, если он не нужен.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Он перезаписывается только при вызове специальной утилиты, grub2-mkconfig.

grub.conf исправляется любым текстовым редактором.

grub-mkconfig - ненужный костыль!

vel ★★★★★
()
Ответ на: комментарий от kostik87

вам нужно будет ставить либо проприетарный драйвер nvidia-drivers,

Там уже стоит nvidia-drivers. И nomodeset был выбран только для примера кастомного параметра для одного из ядер.

LongLiveUbuntu ★★★★★
() автор топика
Ответ на: комментарий от vel

grub.conf исправляется любым текстовым редактором.

+1

grub-mkconfig - ненужный костыль!

+1

Типичный конфиг:

menuentry "Archlinux (pf)" {
	search --label aq_linuxboot --set root
	linux /archlinux/vmlinuz-linux-pf root=/dev/aq750/aq_archlinux ro init=/usr/lib/systemd/systemd
	initrd /archlinux/initramfs-linux-pf.img
}

menuentry "Archlinux (default)" {
	search --label aq_linuxboot --set root
	linux /archlinux/vmlinuz-linux root=/dev/aq750/aq_archlinux ro init=/usr/lib/systemd/systemd
	initrd /archlinux/initramfs-linux.img
}

menuentry 'Ubuntu 13.10'{
	load_video
	insmod gzio
	insmod part_msdos
	insmod lvm
	insmod ext2
	set root='lvm/aq750-aq_ubuntu'
	linux /vmlinuz root=/dev/mapper/aq750-aq_ubuntu ro quiet splash
	initrd /initrd.img
}

menuentry "FreeBSD" {
	set root=(hd0,7)
	kfreebsd /boot/kernel/kernel
	kfreebsd_loadenv /boot/device.hints
	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s7
	set vfs.root.mountfrom.options=rw
	boot
}

menuentry "FreeBSD-CURRENT" {
	set root=(hd0,8)
	kfreebsd /boot/kernel/kernel
	kfreebsd_loadenv /boot/device.hints
	set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s8
	set vfs.root.mountfrom.options=rw
	boot
}

Вот ЧТО может быть тут непонятно?

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

А еще - при обновлении ядра в Убунте или генте.

Так ты вынеси-то grub на отдельный раздел и не монтируй его в /boot, а куда-нибудь в /media/grub. (А лучше — вообще не монтируй при загрузке. Целее будет. Всё равно изменения в него вносятся не чаще чем раз год.)

У меня операционки вообще не знают, что на диске имеется grub, и понятия не имеют, кто их грузит. Как они могут перезаписать то, к чему нет доступа?

Ясен пень, что в конфиг, да только там черт ногу сломит.

http://www.lorquotes.ru/view-quote.php?id=1

anonymous
()
Ответ на: комментарий от vel

grub.conf исправляется любым текстовым редактором.

grub-mkconfig - ненужный костыль!

Не спорю, у меня Gentoo, на одной из систем стоит grub2, конфиг сгенерировал раз при установке, сейчас при обновлении ядер или необходимости изменить некоторые параметры правлю его руками. Ну и посмотрите по контексту сообщений кому и по какому поводу я написал.

kostik87 ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

В ubuntu не знаю, а в Gentoo ни кто автоматически за тебя не будет добавлять запись о новом ядре, нет ты можешь заново вызвать указанную утилиту, в ручную, которая сгенерирует тебе новый конфиг целиком для всех имеющихся ядер, а можешь просто отредактировать конфиг загрузчика в ручную.

kostik87 ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Ну тогда лезьте в /etc/grub.d/ создавайте там свой скрипт под нужным номером, пихайте туда любую логику, чтобы при обновлении ядра скрипт сам решал, какие параметры командной строки прописывать этому ядру. Ну и можете убрать исполняемый бит с 30_os-prober, чтобы не было дублирующихся пунктов меню.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.