GRUB
- История. Почему оно такое?
- Архитектура: - первичный загрузчик, полуторный, «большой»
- модули, root device
- командная строка
- конфиг
- меню
- генератор конфигов в linux-системе
- сборка образа: grub-mkimage, grub-rescue, …, каталоги /usr/lib/grub/* 
 
- Возможности: ФС, … - loopback — файл в качестве устройства 
 
- Сеть: - в GRUB2 нет драйверов сетевых карт
- только после того, как загружен по PXE, доступны всякие сетевые команды
- если PXE настроен, но GRUB загружен не через него, сети всё равно не видно 
- В grub, загружаемый по сети, должны входить не только модули, но и шрифты, например
 
- Проект прошивки: - PXE на карточке всегда включено, но на сервере ничего, кроме настроек IP, не раздаётся
- В нормальном случае GRUB загружается с диска
- Он выбирает образ с плеером (это ISO или каталог с vmlinuz/initrd/squashfs) и загружает оттуда систему, передавая ей правильные параметры - Система сама должна по этим параметрам понять, где у неё root
 
- В случае чего, на сервере включается bootp/tftp и отдаётся новый grub с новыми конфигами - вариант: это тот же самый GRUB, и тот же самый конфиг в котором только перебит default boot. - при этом все образы плееров называются одинаково (например, 1,2,3,4), и мы сами их перетасовываем плеером в момент торрентования
 
- вариант: конфиг может быть другими, тогда что хотим, то туда и пишем - возникает обратная зависимость по загрузке: пока не запустим в плеере grub-mkconfig, не получим нового варианта загрузки 
 
- Бывают «спецплееры» для тех, кому кровь из носу нужно на нативной системе работать - под них можно зарезервировать вообще отдельный grub-izvrat.cfg, рулить им из базового плеера и грузить с помощью configfile grub-izvrat.cfg 
 
 
 
Стенд на Ы14
В каталоге /home/vmuser/grubs
- Запуск загрузки по PXE для KVM (заодно с доступом по VNC): $ kvm -m 4G -hda grubs.qcow2 -net nic -boot n -net user,bootfile=/grub.pxe,tftp=`pwd` -display vnc=0.0.0.0:10 
- конфиг-файл /etc/grub.d/40_custom для загрузки ядра и initrd из исошника дистибутивов ALT, плюс параметры ядра для того, чтобы оно оттуда заработало: - exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry 'JEOS' { loopback iso (hd0,msdos5)/jeos.iso linux (iso)/syslinux/alt0/vmlinuz ro stagename=altinst automatic=method:disk,disk:sda,partition:sda5,directory:/jeos.iso ramdisk_size=640000 showopts vga=0x314 verbose initrd (iso)/syslinux/alt0/full.cz } menuentry 'XFCE' { loopback iso (hd0,msdos5)/xfce.iso linux (iso)/syslinux/alt0/vmlinuz fastboot ro stagename=live automatic=method:disk,disk:sda,partition:sda5,directory:/xfce.iso ramdisk_size=640000 showopts verbose initrd (iso)/syslinux/alt0/full.cz
- Сборка загружаемого по pxe варианта GRUB (отфильтрованы некоторые модули, потому что слишком большой получается) grub-mkimage -O i386-pc-pxe -o grub.pxe `ls -sSr /usr/lib64/grub/i386-pc/*.module | egrep -v 'regexp|gcry|efiemu|zfs' | sed 's@.*/\(.*\).module@\1@'` 
TODO
 TODO есть PXE для VBox, только из коммандлайна TODO есть PXE для VBox, только из коммандлайна
 TODO проверить, можно ли у GRUB, загруженного по PXE, поменять root на hda, чтобы savedefaults происходил туда TODO проверить, можно ли у GRUB, загруженного по PXE, поменять root на hda, чтобы savedefaults происходил туда
 сформировать работающий GRBU-pxe со шрифтами и всем сформировать работающий GRBU-pxe со шрифтами и всем
выдержка из telegram
FrBrGeorge: а я по грубу хотел что-то вроде конспекта. это по горячему надо делать, так как-то неинтересно
ArsenyMaslennikov: туда тоже неплохо. у нас была вялая дискуссия, что в грубе, потом демки до упаду.
FrBrGeorge: ну эт да, странно, что в тлгрм нафлутдили и сдулись
ArsenyMaslennikov: демки: доказательство существования прошивки, configfile затирает предыдущую конфигурацию, показан процесс модификации и пересбора прошивки.
FrBrGeorge: вотвотвот, что-то ещё было
ArsenyMaslennikov: на основании док-ва спроектировали рабочий вариант прошивки (вот это-то самое важное). хотели посмотреть, как в грубе реализованы подменюшки
FrBrGeorge: а, как всё скопом загрузить, вот что не сделали, то лапы ноют, то фонт отваливается
ArsenyMaslennikov: да, было уже время позднее.
FrBrGeorge: и ещё можно ли root перебить, чтобы на него дефолт записывался
ArsenyMaslennikov: предположили, что всё можно зашить в образ груба, SergeyKorobkov не хотел фонты зашивать (мол, тяжеловато).
Category762
