Steve's blog
   


Steve About
Steve's blog,
The Words of the Sledge
steve@einval.com

Subscribe
Subscribe to the RSS feed.

Links

  • Home
  • Debian
  • PlanetDebian
  • Search PlanetDebian
  • Friends

  • Matthew Garrett
  • Jonathan McDowell
  • Jo McIntyre
  • Martin Michlmayr
  • Andrew Mobbs
  • Mike Pitt
  • Daniel Silverstone
  • Andy Simpkins
  • Neil Williams

  •        

    Friday, 07 January 2011

    Isohybrid CDs being produced

    New feature for Debian CDs

    We've had a wishlist bug (#551951) open against debian-cd for some time, asking for the creation of "isohybrid" CD images for i386 and amd64. These are special in that as well as the normal CD-based ISO9660 filesystem they also contain a valid-looking DOS-style partition table. Thus, if you simply copy one of these images raw to a USB stick a normal PC BIOS will boot the image directly. This would be a neat feature, making it much easier for people to use standard Debian installer images on their USB sticks without having to follow a lot more instructions.

    Support for this feature was added in syslinux/isolinux quite a while back (thanks to H Peter Anvin and the other syslinux contributors), but this depended on post-processing images with the isohybrid program. Due to the special way that we make our CD and DVD images to produce jigdo images as well, that wouldn't work for us: the jigdo files would no longer match the ISO files. Bugger...! Recently, along came more help in the form of Thomas Schmitt (author of xorriso) and George Danchev, its Debian maintainer. Recent versions of xorriso support creating isohybrid images directly, which is very handy. We've worked together in the last few months on porting my old JTE code (which creates our jigdo images) from cdrkit to xorriso, and after a lot of testing and debugging we now have things working fully. I've added a small amount of code in debian-cd to use the new xorriso features, and for the last couple of weeks all of the i386, amd64 and i386-amd64 multi-arch CDs and DVDs have been built as hybrids.

    It's been a delight working with Thomas and George - they're enthusiastic, helpful and friendly. Thanks, guys!

    What does this mean for end users?

    Instead of having to specially prepare USB sticks for the installer, you can now simply use dd to write the image straight to the raw stick, e.g.:

    # dd if=debian-testing-i386-netinst.iso of=/dev/sdX
    
    The USB stick should now boot directly, showing exactly the same bootup screen as if you'd written the image directly to a CD. Yay!

    I'm expecting to be using this code from now on for new releases, i.e. d-i beta and RC releases and for Squeeze itself when we get there. I'm not planning on backporting this code into the Lenny branch of debian-cd as it's a lot of work and I don't want to destabilise things there.

    What's next?

    We need to clear up some of the maintenance around the code as it stands; I'm planning on moving libjte inside my existing jigit package, as that's a sensible place to put it. That will come after the Squeeze release, though.

    We need to finalise boot support for other architectures in xorriso; I added support for them into mkisofs/genisoimage a long time ago and we've already moved some of that into xorriso.

    Thomas and George have also been working hard to give me faster/better size estimation code, useful for making debian-cd run faster.

    Finally: I'd like to add support into xorriso for creating the nasty HFS hybrid images that are needed for booting Macs. The code that does this in cdrkit is probably some of the worst that I've ever worked with, and I'd like to get away from it. If only Apple hadn't stupidly built their proprietary platform around this shit and had used open standards instead. :-(

    Once we have these bits in xorriso, I'll be able to move production of all of the CDs across from genisoimage to xorriso. Very nearly there for being able to drop the last remnants of Schily-ware from the Debian archive...

    18:36 :: # :: /debian/CDs :: 8 comments

    Comments

    Re: Isohybrid CDs being produced
    Dmitrijs Ledkovs wrote on Fri, 07 Jan 2011 19:58

    One thing that I have found out that bootable HFS hybrid partition cannot share files with other partition on that iso. So this made it imposible for me to generate something that can boot macs-efi the "native" way and still have access to the files stored on the regular dos partition for the bios machines. I'm not sure if you want add +1 i386/amd64 HFS hybrid image to the mix of existing images =)

    Maybe there is a way around it. If yes please post it on debian planet =) I'm sure many people will like it.


    Reply
    Re: Isohybrid CDs being produced
    azhag wrote on Sun, 09 Jan 2011 17:27

    Thanks everyone for implementing this.


    Reply
    Re: Isohybrid CDs - at last!
    gezegen wrote on Mon, 10 Jan 2011 15:46

    This is a great news for debian-loving average home-users like me! Ḯ'm looking forward to firing that 'dd' command! Thanks a lot!


    Reply
    Re: Isohybrid CDs being produced
    Siddharta wrote on Wed, 12 Jan 2011 17:09

    Thank you very much!, your post has been mentioned on esDebian.org (http://www.esdebian.org/foro/45169/simplificada-creacion-soporte-usb-instalacion-debian, in spanish) and we have gladly received this notice :)

    Sidd.


    Reply
    Re: Isohybrid CDs being produced
    JL wrote on Wed, 12 Jan 2011 18:50

    Thanks a lot for your hard and good work!


    Reply
    Re: Isohybrid CDs being produced
    Lisandro Damián Nicanor Pérez Meyer wrote on Sat, 15 Jan 2011 13:54

    \o/ Thank you very much guys for this =)


    Reply
    Re: Isohybrid CDs being produced
    rww wrote on Mon, 17 Jan 2011 03:58

    Thank you very much for this! I've been jealous of Fedora users being able to do this for a while; it's excellent that Debian can now <3


    Reply
    Re: Isohybrid CDs being produced
    arjan wrote on Mon, 07 Feb 2011 00:18

    The Midnight Commander VFS ISO browser (extfs script /usr/lib/mc/extfs.d/iso9660) gets confused, because 'isoinfo -R -l -i someiso.iso' doesn't display the '.' and '..' directories correctly.


    Reply

    Your Comment

     
    Name:
    URL/Email: [http://... or mailto:you@wherever] (optional)
    Title: (optional)
    Comment:
    Anti-spam:Select the fifth of the following words and enter it in the "Human" box
    bootees bike basics brains bounder booster billfold backlogs bulls broiled
    Human:
    Save my Name and URL/Email for next time