Summary: | Просьба по добавлению опции установки ядра по умолчанию для систем с несколькими ядрами | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Евгений Кухтинов <kuhtinov_ev> |
Component: | update-kernel | Assignee: | Vitaly Chikunov <vt> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | aen, antohami, asy, boyarsh, evg, kuhtinov_ev, lav, ldv, mike, ruslandh, vt |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Евгений Кухтинов
2020-09-03 17:37:39 MSK
Забыл добавить эта "фича" не должна заново качать ядра, модули, а просто устанавливать из этих двух, в моём случае, установленных ядер, одно, по умолчанию. update-kernel -t std-def -f Разве не оно? Антон, update-kernel -f -t std-def тоже не помогло. Умолчальным осталось un-def. Помогло apt-get remove kernel-image-std-def и, следом update-kernel -t std-def Но это излишние операции с удалением, установкой пакетов. Надо выделить функционал из этих манипуляций и оформить как фичу к update-kernel. Управление меню grub, конечно, слабо относится к update-kernel, но вообще такая ручка для выбора очень даже интересна. Используйте команду installkernel Например: installkernel 5.7.19-un-def-alt1 installkernel конечно подходит, и пакеты вроде бы не скачивает. Но перегенеривает initrd и производит упаковку образа. Это не слишком ли для простой смены ядра по умолчанию? Я конечно не специалист в этом, но есть сомнения. Мб из скрипта installkernel пакета bootloader-utils вытянуть некую функциональность, урезать её и добавить к update-kernel фичей -d ? JFYI. На разных архитектурах, на разных системах загрузки (bios/efi) есть разные варианты переключения и некоторые из них не работают. Так что задача не тривиальная. Сколько я не пользовался использовать (там где было нужно) grub-set-default и grub-reboot ни разу они у меня не сработали как нужно (а у других людей на других системах якобы работали). А может обернуть команду installkernel пока нет иного способа? На вариант наличия двух ядер. Например: update-kernel -d std-def и будет выбрано ядро std-def. installkernel, на сколько я помню, выставляет симлинк vmlinuz (например, на vmlinuz-5.4.61-std-def-alt1), но если у вас в grub уже изменено умолчание с vmlinuz на что-то другое, то эта смена симлинка не окажет эффекта. Но, я не изучал эту тему глубоко - просто наблюдения с точки зрения очередного пользователя, для того кто будет это реализовывать (если будет). Тут много вариантов получается: 1 - какой загрузчик используется (grub, lilo, extlinux ...) Grub2 крнечно по-умолчанию, но это не единственный вариант. 2 - какой образ или какое поведение предусмотрено в конфигурационном этого файле загрузчика. Теоретически наверное, можно написать скрипт, который проверяет, что применяется grub2, затем устанавливает в /etc/sysconfig/grub2 что-то типа: ... GRUB_DEFAULT='saved' GRUB_SAVEDEFAULT=true .... (ну, или что-то другое) ну и потом вызвать installkernel А в случае, если это не grub, то просто вызвать installkernel. Но вопрос , насколько результат выполнения такого скрипта будет соответствовать тому, что ожидает пользователь. И да - этот скрипт никак не связан по смыслу с обновлением ядра (updat-kernel) PS IMHO перегенерить initrd всегда полезно, особенно если сменилось ядро или железо в компе ;-) А время это занимает немного. pps пропустил этап инициализации конфига (ggrub-mkconfig, lilo и т.п. ) ;-) (In reply to ruslandh from comment #10) > Тут много вариантов получается: > 1 - какой загрузчик используется (grub, lilo, extlinux ...) Grub2 крнечно > по-умолчанию, но это не единственный вариант. > 2 - какой образ или какое поведение предусмотрено в конфигурационном этого > файле загрузчика. > > Теоретически наверное, можно написать скрипт, который проверяет, что > применяется grub2, затем устанавливает в /etc/sysconfig/grub2 что-то типа: > ... > > GRUB_SAVEDEFAULT=true > .... Только как раз наоборот, false. Чтобы не менял. Но, вообще, у Grub уже есть готовый набор ручек в виде grub-set-default, grub-reboot, grub-entries: https://www.altlinux.org/Grub#Как_отучить_GRUB2_запоминать_последний_выбранный_пункт? |