mkimage-profiles/doc/assumptions.txt
Anton Midyukov d9dca6cb1a doc, grub, stage1, stage2: Add support multiple kernels for grub only
At the moment, the ability to select the kernel with which to boot is
implemented only for grub (grub-pc, grub-efi, ieee1275boot).
note that renamed STAGE1_KFLAVOUR to STAGE1_KFLAVOURS, as multiple
kernels can now be added.
2021-04-12 23:13:47 +07:00

56 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

== Предположения ==
Некоторые фрагменты кода закладываются на определённое поведение
других частей mkimage-profiles либо содержание переменных.
NB: пути приводятся от верхнего уровня; проект в целом предполагает
наличие ALT 8.0+ и GNU make 3.82+ (на которых и разрабатывается),
но может быть портирован вместе с mkimage. Если что-либо не работает
или не собирается, стоит проверить на Sisyphus (mkimage, make, hasher,
собственно пакетная база), поскольку именно на нём происходит основная
разработка mkimage-profiles. Сломанная сборка на текущем стабильном
бранче считается ошибкой и подлежит исправлению, если оно технически
возможно на базе этого бранча.
* lib/report.mk
** ожидает, что каждая подлежащая трассированию цель каждого
makefile при сборке конфигурации образа содержит непустой
recipe -- хотя бы "; @:" -- т.к. зависит от запуска $(SHELL)
** трассировка выполняется при REPORT=1 для формирования графа
зависимостей между промежуточными целями сборки конечного образа
** характерный признак пропуска -- разрыв графа (report-targets.png)
* pkg.in/lists/Makefile
** ожидает, что названия списков пакетов указываются в переменных
вида *_LISTS, и копирует в генерируемый профиль только их
** если задать имя файла списка пакетов непосредственно в Makefile
субпрофиля, он не будет скопирован
** характерное сообщение об ошибке:
E: Couldn't find package
* features.in/kernel/stage1/scripts.d/80-make-initrd
* features.in/stage2/stage1/scripts.d/03-test-kernel
* sub.in/stage1/Makefile
** если используется загрузчик отличный от grub, то в stage1 попадёт
последнее ядро, указанное в STAGE1_KFLAVOURS или KFLAVOURS
** если добавить какой-либо kernel-image в STAGE1_PACKAGES*,
результат может быть неожиданным
** обратите внимание: bin/tar2fs умеет несколько ядер
** вероятная ошибка: незагрузка полученного squashfs
* features.in/install2/install2/stage2cfg.mk
* features.in/live/live/stage2cfg.mk
* features.in/rescue/rescue/stage2cfg.mk
* features.in/syslinux/cfg.in/15live.cfg
* features.in/syslinux/cfg.in/20install2.cfg
* features.in/syslinux/cfg.in/80rescue.cfg
* features.in/syslinux/scripts.d/20-propagator-ramdisk
** ожидают, что названия squashfs-образов второй стадии инсталятора,
livecd и спасательной системы соответственно altinst, live и rescue
* image.in/Makefile
** ожидает, что конфигурация будет в distcfg.mk (см. тж. lib/profile.mk),
а лог сборки -- в build.log (см. тж. lib/log.mk); альтернативой было
бы пробрасывание переменных с полным путём ради единственного места