Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

My computer:

  • Debian Squeeze amd64
  • live-build package is version 2.0.12-2 (newest in Squeeze)

I'm trying to build a Debian Live CD with some custom files and whatnot. Here's what I did:

$ 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

But then, say, I add something to config/chroot_local-includes/, and I want to rebuild the iso. So I run # lb build again, and this time, it skips updating binary-hybrid.iso. Specifically, it outputs

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

So is there any quick and easy way to get live-build to rebuild the iso? Am I missing something obvious?

Things I've tried:

  • Delete binary-hybrid.iso and hope live-build recreates it. Does not work.
  • Delete the .stage directory. This works, but it's not optimal since # lb build's config stage then has to re-extract and re-install EVERY SINGLE PACKAGE.
  • Use live-build version 3.0~a45-1 from Sid. Works about the same as 2.0.12-2. Does not fix my problem.
  • Run $ sudo lb binary iso, because the manpage claims that's the specific step performed to build the iso. Does not work.
share|improve this question
    
I recommend you try the version in Debian Unstable (in a chroot/VM of course) and see if you can reproduce this behavior. If so, file this as a bug. Another alternative is to ask on the development mailing list. –  Tshepang Feb 27 '12 at 10:13
    
@Tshepang Will do. I was just hoping it was a simple fix (which apparently it's not). –  Dr Kitty Feb 29 '12 at 3:37
    
@Tshepang I was successful in setting up a chroot, installing live-build version 3.0~a45-1, and getting it to build an iso the first time, and the iso booted fine in a VM. Same problem, though—live-build doesn't under any circumstances modify or recreate the iso after that unless I delete the .stage directory or start over completely. –  Dr Kitty Mar 5 '12 at 1:53
    
I'm going to post the output of every single step. Maybe that'll help. –  Dr Kitty Mar 5 '12 at 3:40
    
On second thought, no I'm not. I'll figure out some other way to make a livecd. –  Dr Kitty Apr 15 '12 at 4:39
add comment

2 Answers

I had the same issue. Then I remembered I should have used the lb clean with the --binary option. I renamed auto directory to _auto to avoid the scripts inside it for a moment. Otherwise it runs the default lb clean which deletes the whole chroot directory.

Then I ran the following commands as 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.)

Also, if you cannot access internet during chroot apt-get, replace your /etc/resolv.conf with the one in your main Linux.

share|improve this answer
add comment

Make sure that you set BINARY_IMAGES=iso-hybrid. By default (in Ubuntu at least) lb does not produce an ISO, only a squashfs and the bootloader.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.