3

Мой компьютер:

  • Debian Squeeze amd64
  • Пакет live-build версии 2.0.12-2 (новейший в Squeeze)

Я пытаюсь собрать Debian Live CD с некоторыми пользовательскими файлами и еще много чего. Вот что я сделал:

$ mkdir debianlive
$ cd debianlive
$ lb config
[output omitted]
# lb build
[output omitted]
$ ls -AF
auto/    cache/   config/  binary-hybrid.iso  binary.packages
binary/  chroot/  .stage/  binary.list

Но затем, скажем, я добавляю что-то в config/chroot_local-includes/, и я хочу перестроить iso. Поэтому я снова запускаю # lb build , и в этот раз она пропускает обновление binary-hybrid.iso . В частности, это выводит

 [...]
 P: Begin building binary iso image...
 W: skipping binary_iso
 [...]

Так есть ли быстрый и простой способ получить live-build для восстановления iso? Я что-то упускаю из виду?

Вещи, которые я пробовал:

  • Удалите binary-hybrid.iso и надейтесь, что live-build обновит его. Не работает.
  • Удалите каталог .stage . Это работает, но это не оптимально, так как на этапе конфигурации # lb build необходимо заново извлечь и переустановить КАЖДЫЙ ОДИН ПАКЕТ.
  • Используйте live-build версию 3.0 ~ a45-1 из Sid. Работает примерно так же, как 2.0.12-2. Не исправить мою проблему.
  • Запустите $ sudo lb binary iso , потому что на man-странице утверждается, что это конкретный шаг, выполняемый для создания iso. Не работает.

2 ответа2

2

Убедитесь, что вы установили BINARY_IMAGES=iso-hybrid . По умолчанию (по крайней мере, в Ubuntu) lb не создает ISO, только squashfs и загрузчик.

1

Я была такая же проблема. Потом я вспомнил, что должен был использовать lb clean с опцией --binary . Я переименовал авто каталог в _auto, чтобы на мгновение избежать скриптов внутри него. В противном случае он запускает lb clean по умолчанию, который удаляет весь каталог chroot.

Затем я выполнил следующие команды от имени root:

chroot ./chroot
apt-get install packages_that_i_want_to_add
exit
lb clean --binary (this removes the previous iso or img image but keeps chroot dir)
lb build ( first rename your _auto directory to auto, if you have any.)

Кроме того, если вы не можете получить доступ к Интернету во время выполнения chroot apt-get , замените ваш /etc/resolv.conf на тот, что в вашем основном Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .