mkimage-profiles/doc/params.txt
Michael Shigorin d7689f30c7 tar2vm: rewrote as tar2fs
Overview of the changes:
- ARM support: separate ext2 /boot, no LILO
- avoid race condition with devmapper
- trap ERR so that -e in shebang doesn't result in extra cleanup hassle
- configurable root filesystem type (ext4 by default)
- jumps through parted hoops

Details:

1. LILO is x86-specific while the rest of the script can be used
   to prepare e.g. Marvell ArmadaXP or CuBox images; we can generally
   count on uboot supporting ext2 for relatively sane platforms but
   not ext4 that would be a better root filesystem performance-wise.

2. Apparently /dev/mapper/loopXpY can be still missing at the time
   when kpartx returns and pop up a bit later... sit there, wait
   and check for it.

3. If something went wrong with any command of the script it would bail out
   due to -e in shebang; it is now better to clean up the loopback device
   and its mappings in this situation either.

4. One size doesn't fit all, really.

5. The parted sizing was sloppy as in broken, now it's just half insane.
   Someone's decision to stick units and auto-alignment knobs into
   a single one was apparently hilarious...

   http://www.gnu.org/software/parted/manual/parted.html#unit

Manual loop/dm cleanup is described in documentation just in case.

/boot size meter is suboptimal in terms of additional I/O incurred,
will be most likely rewritten to make use of advance "du -s".
2013-06-17 19:29:11 +04:00

118 lines
5.6 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.

== Переменные make ==
При запуске на сборку принимается ряд переменных
(см. тж. profiles.mk.sample):
* APTCONF
** задаёт путь к требуемому apt.conf
** значение: пусто (по умолчанию системный) либо строка
** см. ../image.in/Makefile, apt.conf.sample
* ARCH
** задаёт целевую архитектуру образов
** значение: пусто (по умолчанию авто), i586, x86_64, arm, ppc
** см. ../lib/build.mk
* ARCHES
** задаёт набор целевых архитектур при параметрическом задании APTCONF
** значение: пусто (по умолчанию авто) либо список через пробел
** см. ../Makefile, profiles.mk.sample
* BELL
** подаёт сигнал после завершения сборки
** значение: пусто (по умолчанию нет) либо любая строка
** см. ../lib/build.mk
* BUILDDIR
** задаёт каталог генерируемого профиля и сборки
** значение: пусто (по умолчанию авто) либо строка
** см. ../lib/profile.mk
* BUILDDIR_PREFIX
** задаёт префикс каталога генерируемого профиля и сборки
** значение: строка; по умолчанию выбирается алгоритмически
** см. ../main.mk
* BUILDLOG
** задаёт путь к файлу журнала сборки/очистки
** значение: по умолчанию $(BUILDDIR)/build.log либо строка
** см. ../lib/log.mk
* CHECK
** включает режим проверки сборки конфигурации (без сборки образа)
** значение: пусто (по умолчанию) либо любая строка
** см. ../lib/build.mk, ../lib/clean.mk
* CLEAN
** экономия RAM+swap при сборке в tmpfs, иначе места на диске
** очистка рабочего каталога после успешной сборки очередной стадии
** может помешать использовать некоторые варианты отладки
** значение: любая строка; по умолчанию пусто при DEBUG, иначе 1
** см. ../lib/clean.mk
* DEBUG
** включает средства отладки, может отключить зачистку после сборки
** значение: пусто (по умолчанию), 1 или 2
** см. ../lib/log.mk, ../lib/clean.mk
* HOMEPAGE, HOMENAME, HOMEWAIT
** указывают адрес, название и таймаут перехода для домашней страницы
** значение: корректный URL, строка, целое неотрицательное число
** см. ../features.in/live/generate.mk (тж. по умолчаниям)
* ISOHYBRID
** включает создание гибриднго ISO-образа
** значение: пусто (по умолчанию) либо любая строка
** см. ../features.in/pack/config.mk
* NICE
** понижает нагрузку системы сборочной задачей
** значение: пусто (по умолчанию) либо любая строка
** см. ../lib/build.mk
* REPORT
** запрашивает создание отчётов о собранном образе
** значение: пусто (по умолчанию) либо любая строка
** NB: в силу специфики обработки передаётся только явно
** см. ../Makefile, ../report.mk, ../lib/report.mk
* ROOTPW
** устанавливает пароль root по умолчанию для образов виртуальных машин
** значение: пусто (по умолчанию root) либо строка
** см. ../features.in/build-vm/image-scripts.d/00root
* SAVE_PROFILE
** сохраняет архив сгенерированного профиля в .disk/
** значение: пусто (по умолчанию) либо любая строка
** см. ../image.in/Makefile
* SORTDIR
** дополнительно структурирует каталог собранных образов
** значение: пусто (по умолчанию) либо строка
*** например, '$(IMAGE_NAME)/$(DATE)'
** см. ../image.in/Makefile
* SQUASHFS
** определяет характер сжатия squashfs для stage2
** значение:
*** пусто (по умолчанию) либо normal: xz
*** tight: xz с -Xbcj по платформе (лучше, но дольше -- подбор в два прохода)
*** fast: gzip/lzo (быстрее запаковывается и распаковывается, меньше степень)
** см. ../features.in/stage2/stage1/scripts.d/03-test-kernel
* STATUS
** добавляет в имя образа указанный префикс
** значение:
*** пусто (по умолчанию) либо строка (например, "alpha", "beta")
** см. ../image.in/Makefile
* VM_SIZE
** задаёт размер несжатого образа виртуальной машины в байтах
** значение: пусто (по умолчанию двойной размер чрута) или целое
** см. ../features.in/build-vm/lib/90-build-vm.mk, ../bin/tar2fs
[float]
=== пример ===
make DEBUG=1 CLEAN=1 syslinux.iso