Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

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

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .