LINUX.ORG.RU

Чем в генте редактируют конфиги grub2?

 ,


0

1

примонтировал устройство:
mnt /dev/sdn2 /mnt/gentoo
mnt /dev/sdn1 /mnt/gentoo/boot

установил туда grub2:

# grub-install --root-directory=/mnt/gentoo/boot /dev/sdn 
Установка завершена. Ошибок нет.

генерирую конфиг

# grub-mkconfig -o /mnt/gentoo/boot/grub/grub.cfg

И здесь возникает проблема. grub-mkconfig перебирает ядра в /boot а не в /mnt/gentoo/boot
и параметров это поменять я не вижу
{Report bugs to <bug-grub@gnu.org>}

в вики
http://wiki.gentoo.org/wiki/GRUB2
ничего про конфигураторы меню, отличные от grub-mkconfig, не написано.

http://gpo.zugaina.org не показывает пакетов для софтины grub-customizer

app-admin/grubconfig-1.28-r1 похоже работает только для grub1
пишет «I can't find 'grub' for this system < OK >»

app-admin/qgrubeditor-2.5.0::qt — тоже для grub1, пишет

QGRUBEditor was unable to have read/write access to one of the following files:

/boot/grub/menu.lst
/boot/grub/device.map
/etc/mtab

В общем, как вы редактируете конфиги grub2 в gentoo?

Pinkbyte - не отвечай. Я знаю, что ты скажешь «сначала изучи grub2 вплоть до каждой строчки исходников, а так же все сопутствующие конфигураторы, и тебе всё станет ясно, заодно собери из исходников, опакеть их и напиши свой новый конфигуратор, ещё лучше прежних. А когда всё будет готово - приходи и пиши правильные темы.».
Вообще, заигнорь меня, пожалуйста.

Ответ на: комментарий от vurdalak

в чруте grub не установлен как пакет. Я как раз хочу установить только директорию /boot при помощи выполнения команды grub-install (и тушка grub-mkimage будет записана в MBR при помощи grub-setup, вызванной из grub-install, насколько я понимаю), не устанавливая весь пакет.

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Ответ на: комментарий от panter_dsd

Загляни в /etc/grub.d/

заглянул. Еще на /etc/default/grub посмотрел.

даже

# man os-prober
No manual entry for os-prober
# man linux-boot-prober
No manual entry for linux-boot-prober
почитал (упомянут в /etc/grub.d/30_os-prober)

Что надо увидеть?

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

да, вариант с текстовым редактором описан на странице
http://www.gnu.org/software/grub/manual/grub.html

там ещё предлагают установить переменную
GRUB_DISABLE_OS_PROBER=true
в файле /etc/default/grub

но мне текстовый файл кодировать руками сложно, потому что я ещё не выучил синтаксис grub2 на память

Indaril_Shpritz
() автор топика

редактировать конфиги grub2 это примерно то-же самое что править руками /usr/src/linux/.config

Мне кажется что-то из этих вариантов может подойти: неправильно думаешь или воспринимаешь, набрался вредных знаний, где-то косячишь...

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

вариант «такой use case не предусмотрен разработчиками»

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Lavos

да, в этом случае ядра будут искаться более правильно.

Но там ведь не только ядра ищутся, но и разделы на диске перебираются. А потом генерируются пункты меню как декартово произведение - на каждую пару «ядро+раздел» формируется свой пункт меню.

Самое главное - разделы берутся не с того диска.

Ну и все комбинации мне тоже не нужны, достаточно некоторых.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от daemonpnz

в том, что это три-четыре лишних действия:
1) установить grub как пакет
2) загрузиться в эмулятор и выполнить установку груба нативно
3) удалить пакет груба, чтобы он не занимал место

лишнее время, лишнее место, лишнее использование аппаратуры (типа SSD), лишние записи в инструкции по повторной установке, лишнее время на чтение и понимание этих инструкции, лишние ошибки, лишние риски

а вся проблема решается написанием ebuild-а для grub-customizer, аналогично тому, как это сделано в Fedora, Debian, Ubuntu и других приличных дистрибутивах

Indaril_Shpritz
() автор топика

И здесь возникает проблема. grub-mkconfig перебирает ядра в /boot а не в /mnt/gentoo/boot

и параметров это поменять я не вижу

Да ты чо! Ахринеть!

man grub2-install

       --boot-directory=DIR
              install GRUB images under the directory DIR/grub instead of the boot/grub directory

man grub2-mkconfig

       -o, --output=FILE
              output generated config to FILE [default=stdout]

Перефразирую короче: RTFM

Вообще, заигнорь меня, пожалуйста.

Игнор - для слабаков

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

grub-mkconfig

grub2-install

не совпадают названия программ - той, которую надо выполнить и той, параметры к которой ты советуешь указать

и квотить правильно при помощи LORCODE научись

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Перефразирую короче: RTFM

в данном случае это ответом не является, а хамством - снова является. И снова ты первый начинаешь.

Причем ты даже стартовый пост (без ссылок) прочитал невнимательно, потому что там я использую параметр -o у команды grub-mkconfig, как ты предлагаешь. Однако это не решает задачу, что объясняется ниже по треду.

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Ответ на: комментарий от Indaril_Shpritz

квотить

Ты это сказал модератору ресурса.

не совпадают

А ты не пробовал просто grub/grub2 перебрать? Лол.
И да, когда тебя уже забанят?

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

а вся проблема решается написанием ebuild-а для grub-customizer

А отсюда не собирается?
В layman этого оверлея нет, можно добавить руками. Что-то вроде:

<?xml version="1.0" ?>
<layman>

  <overlay
      type = "git"
      src  = "git://github.com/ssmike/overlay"
      contact = ""
      status = "unofficial"
      name = "mike-overlay">

    <link>https://github.com/ssmike</link>
    <description>mike-overlay</description>
  </overlay>

</layman>
в /etc/layman/overlays/mike-overlay.xml

Lavos ★★★★★
()
Последнее исправление: Lavos (всего исправлений: 1)
Ответ на: комментарий от anonymous

редактировать конфиги grub2 это примерно то-же самое

вот только без этого не задействовать большую часть возможностей grub2, потому ты фигню написал

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

Ты это сказал модератору ресурса.

он действительно отквотил неправильно.

А ты не пробовал просто grub/grub2 перебрать

мне непонятно, что значит «перебрать» - пересобрать? Пробовал, но не понимаю, как это может помочь.

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

не совпадают названия программ - той, которую надо выполнить и той, параметры к которой ты советуешь указать

Я посоветовал тебе параметры как для grub2-mkconfig так и для grub2-install, читай внимательнее

grub-mkconfig у меня в системе нет, если ты решил выпендриться и собрал sys-boot/grub с USE="-multislot" и потыкать этим в меня - дело твоё.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Indaril_Shpritz

он действительно отквотил неправильно.

quote ломает форматирование, поэтому я использую code

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

в данном случае это ответом не является, а хамством - снова является. И снова ты первый начинаешь.

Если ты не в курсе, что RTFM - это часть культуры IT(когда применяется обоснованно), то мне тебя жаль. Опять.

Что-то я становлюсь жалостливым последнее время. Пойду кого-нибудь забаню, ради соблюдения баланса...

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

Ключик -o у grub2-mkconfig указывает только на то, где создавать конфиг. А ядра оно ищет в /boot, ибо так захардкожено в скриптах из /etc/grub.d.
ТС же хочет, чтобы grub2-mkconfig искало ядра не в /boot, а в /mnt/gentoo/boot.

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

Ещё раз, там не только ядра, там ещё перебираются установленные ОС на разделах. И перебираются они не на том диске, на который надо устанавливать, потому что для grub-mkconfig нет этого параметра.

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Lavos

ТС же хочет, чтобы grub2-mkconfig искало ядра не в /boot, а в /mnt/gentoo/boot

Учитывая что из оп-поста нифига непонятно, что потом ТС будет делать с примонтированным корнем. Не планируется ли он новым / при следующей загрузке?

Не проще ли заюзать grub из чрута? Не проще ли(если не хочется этого делать) примонтировать /mnt/gentoo/boot в /boot через mount --bind?

Потому что если он переопределит данное поведение, то ему ядро придется не в /mnt/gentoo/boot положить, а в /mnt/gentoo/boot/mnt/gentoo/boot

Но ТС же умный, он маны не читает, только вопросы задает...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

голимые отмазки по формальным поводам, причем натянуты за уши. И по поводу квоты - тоже. Поэтому пальцегнутие про забаны - необоснованный выпендреж. А культура RTFM - хамская. Это не повод на неё равняться, повод культуру исправить.

Точнее сама культура нормальная, но только в Германии, где есть толстые руководства с пронумерованными параграфами. А тобой данная технология пока не освоена, потому что проблемы не решает.

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

mount --bind я ему выше советовал, говорит там какие-то грабли с дисками вылазят. Ядра нужные находит, но диски не те в конфиге указывает.

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

А культура RTFM - хамская

Тратить время на людей, которые не хотят учиться, а хотят всё на блюдечке и нахаляву - это не хамство. А послать этих людей в ман - хамство. Окей, вопросов к тебе не имею.

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

mount --bind я ему выше советовал, говорит там какие-то грабли с дисками вылазят. Ядра нужные находит, но диски не те в конфиге указывает.

Ясен пень, надо же в fstab нужное прописать. Причём не в тот, который в /mnt/gentoo/etc, а в тот, который в /etc

Ну или симлинк временно сделать

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

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

(grub-customizer:14099): glibmm-ERROR **: 
unhandled exception (type std::exception) in signal handler:
what: basic_string::substr

Ловушка трассировки/останова
Indaril_Shpritz
() автор топика
Ответ на: комментарий от Pinkbyte

Тратить время на людей ... это не хамство.

конечно не хамство, ведь трать время - это твоё собственное решение.
Ты сам рвешься отвечать, даже несмотря на то, что этого можно и не делать

А с другими (нормальными и конструктивными) пользователями (например Lavos) у меня нормальный конструктивный диалог

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Pinkbyte

надо же в fstab нужное прописать

оу! и это где-нибудь внятно задокументировано? Может ещё и корень перемонтировать надо заодно (а то только одного fstab может не хватить)

Indaril_Shpritz
() автор топика
Ответ на: комментарий от Lavos

можно, но я по-внимательнее к ней пригляделся - кажется это не поможет. Потому что там указывается на каком диске работать (это правильно и то что мне нужно), но зато и все файлы она берет с этого же диска, т.е. тоже требуется установка grub2 пакетом в chroot

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

и это где-нибудь внятно задокументировано?

Да. Но так как мне лень копипастить тебе кусок мана, который ты всё равно не прочитаешь, я воспользуюсь твоим советом и не буду тратить не тебя время больше, чем могу себе позволить, спасибо

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

отлично, наконец-то ты прислушался к голосу разума. По этому случаю я тебя зафрендил, чтобы укрепить тебя в правильности твоего решения.

Зафрендить не удалось, буду программно игнорировать

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Ответ на: комментарий от Indaril_Shpritz

По этому случаю я тебя зафрендил

Удачи в этом нелегком деле :-D

Pinkbyte ★★★★★
()

Сначала изучи grub2 вплоть до каждой строчки исходников, а так же все сопутствующие конфигураторы, и тебе всё станет ясно, заодно собери из исходников, опакеть их и напиши свой новый конфигуратор, ещё лучше прежних. А когда всё будет готово - приходи и пиши правильные темы.

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

а хамством - снова является

Не хамство это, просто ты не осилил прочитать ман и теперь пригорает.
//я не я, мимо проходил

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

просто ты не осилил прочитать ман

да, ман я прочитал, но осилить не смог.

что характерно, Pinkbyte - тоже.

Потому что не предусмотрен такой Use-case разработчиками пакета. И пакет надо дорабатывать.

Я написал на stack exchange, если за пару дней не ответят, напишу в багзиллу grub

Indaril_Shpritz
() автор топика

Ипользуй lilo, там простой текстовый конфиг, как в старом grub.
На десктопе нормально себя чувствует, есть не просит, брат жив.

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

Не хамство это,

RTFM - это когда ты опытный мастер, написал FM и сокращаешь трудозатраты на оказание помощи за счет точного указания места в FM.

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

Indaril_Shpritz
() автор топика
Ответ на: комментарий от afterlanding

Ипользуй lilo

мне нужны фичи груба вроде загрузки с iso

Indaril_Shpritz
() автор топика
Ответ на: комментарий от tazhate

он указал два параметра к двум командам. Я не только всё про них прочитал, но и попробовал. Это не решение. И отписал тоже.

Ты чем читал?

глазами, если этот ответ поможет тебе найти правильное решение задачи, изложенной в этом топике

Indaril_Shpritz
() автор топика
Последнее исправление: Indaril_Shpritz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.