Debian live-build nie wygeneruje pliku binary-hybrid.iso po pierwszym uruchomieniu

3

Mój komputer:

  • Debian Squeeze amd64
  • live-build pakiet jest w wersji 2.0.12-2 (najnowszy w Squeeze)

Próbuję zbudować Debian Live CD z niestandardowymi plikami i tym podobne. Oto co zrobiłem:

$ 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

Ale potem, powiedzmy, dodaję coś do config / chroot_local-include /, i chcę odbudować ISO. Więc uruchamiam # lb buildponownie i tym razem pomija aktualizację binary-hybrid.iso. W szczególności wyprowadza

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

Czy jest więc jakikolwiek szybki i łatwy sposób na uzyskanie wersji live-build, aby odbudować ISO? Czy brakuje mi czegoś oczywistego?

Rzeczy, których próbowałem:

  • Usuń binary-hybrid.isoi mam nadzieję, że live-build odtworzy go. Czy nie działa.
  • Usuń .stagekatalog. To działa , ale to nie jest optymalne, ponieważ # lb build„s config etapie potem musi ponownie wyciąg i ponownie zainstalować każdy pakiet.
  • Użyj wersji kompilacji na żywo 3.0 ~ a45-1 od Sid. Działa mniej więcej tak samo jak 2.0.12-2. Czy nie rozwiązać mój problem.
  • Uruchom $ sudo lb binary iso, ponieważ strona twierdzi, że jest to konkretny krok wykonany w celu zbudowania ISO. Czy nie działa.
Dr Kitty
źródło
Polecam wypróbowanie wersji w Debian Unstable (oczywiście w chroot / VM) i sprawdzenie, czy możesz odtworzyć to zachowanie. Jeśli tak, zgłoś to jako błąd. Inną alternatywą jest zapytanie na liście mailingowej dla programistów.
Tshepang
@ Tshepang zrobi. Miałem tylko nadzieję, że to prosta poprawka (która najwyraźniej tak nie jest).
Dr Kitty
@ Tshepang Udało mi się skonfigurować chroota, zainstalować wersję Live-Build w wersji 3.0 ~ a45-1 i zdobyć ją do zbudowania ISO za pierwszym razem, a ISO ładowała się dobrze na maszynie wirtualnej. Ten sam problem - wersja live-build pod żadnym pozorem nie modyfikuje ani nie odtwarza obrazu ISO, chyba że usunę .stagekatalog lub rozpocznę od nowa.
Dr Kitty
Zamierzam opublikować wyniki każdego kroku. Może to pomoże.
Dr Kitty
Po namyśle, nie, nie jestem. Wymyślę inny sposób zarabiania na żywo.
Dr Kitty,

Odpowiedzi:

2

Upewnij się, że ustawiłeś BINARY_IMAGES=iso-hybrid. Domyślnie (przynajmniej w Ubuntu) lbnie produkuje ISO, tylko squashfs i bootloader.

użytkownik155109
źródło
1

Miałem ten sam problem. Potem przypomniałem sobie, że powinienem był skorzystać lbz --binaryopcji Clean z opcją. Zmieniłem nazwę katalogu auto na _auto, aby na chwilę uniknąć skryptów w nim zawartych. W przeciwnym razie uruchamia domyślne czyszczenie lb, które usuwa cały katalog chroot.

Następnie uruchomiłem następujące polecenia jako 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.)

Ponadto, jeśli nie możesz uzyskać dostępu do Internetu podczas chroot apt-get, zamień swój /etc/resolv.confna ten w głównym Linuksie.

Osman Sahin
źródło