calcboot¶
- calcboot
- Назначение
- Описание модуля calcmenu.c32
- 1. запоминание значений параметров
- 2. замещение значений сохраненных параметров
- 3. замещение значений параметров по позициям
- 4. восстановление начальной позиции курсора в меню по параметру
- 5. указание значений по умолчанию для параметров (добавлено в версии 3.86.5)
Назначение¶
calcboot
представляет собой модуль для Syslinux (calcmenu.c32), позволяющий запоминать выбор при использовании нескольких загрузочных меню. Также в нем хранятся фоновые изображения для Grub и Syslinux.
Описание модуля calcmenu.c32¶
calcmenu.c32 основан на vesamenu.c32 и реализует как все его возможности, так и дополнительные:
1. запоминание значений параметров¶
При использование нескольких меню в поле APPEND
заносится имя файла меню, к которому нужно перейти при выборе данного пункта. В отличии от стандартного vesamenu.c32 указанные параметры для меню не сбрасываются.
Пример пункта меню:
APPEND isolinux.cfg calculate=,be_BY
При выборе такого пункта меню будет загружено меню из файла isolinux.cfg
, а параметр calculate=,be_BY
будет сохранен. В итоге при выборе пункта меню из isolinux.cfg
, содержащего
KERNEL /boot/vmlinuz APPEND root=/dev/ram0 initrd=/boot/initrd init=/linuxrc looptype=squashfs unionfs
будет запущено ядро с параметрами, указанными в
APPEND
, плюс calculate=,be_BY
.
2. замещение значений сохраненных параметров¶
Сохраненные параметры не повторяются. То есть если параметр calculate
уже сохранен, и осуществляется выбор пункта меню, у которого также указан параметр calculate
, значение calculate
будет заменено на новое.
3. замещение значений параметров по позициям¶
Каждый параметр может хранить несколько значений, если они разделены запятой. Например, параметр calculate
будет хранить язык и временную зону (calculate=ru_RU,Europe/Moscow
). Для реализации этого создаются два различных меню (lang.cfg, timezone.cfg
), пункты меню которых содержат следующие APPEND
:
lang.cfg ... APPEND timzone.cfg calculate=ru_RU, ...
timezone.cfg ... APPEND othermenu.cfg calculate=,Europe/Moscow ...
При выборе таких пунктов меню для othermenu.cfg
будет сохранен параметр calculate
со значением ru_RU,Europe/Moscow
.
4. восстановление начальной позиции курсора в меню по параметру¶
Чтобы запоминалось положение курсора выбора языка, временной зоны и т.д., в файле описания меню используется
MENUPARAM параметр номер
где "параметр" - название параметра, который хранит выбранное значение, а "номер" - номер позиции в значении. Например, для timezone.cfg
, хранящей описание меню с часовыми поясами, используется
MENUPARAM calculate 1
т.е. параметр calculate
, второе значение. Таким образом, при отображении меню timezone.cfg
, если есть сохраненный параметр calculate
и у него есть значение во второй позиции, то курсор будет указывать на необходимый пункт меню.
5. указание значений по умолчанию для параметров (добавлено в версии 3.86.5)¶
Для указания значений используется
DEFAULTPARAM параметры
Например, для указания русского языка по умолчанию:
DEFAULTPARAM calculate=lang:ru_RU,keymap:ru_RU