remaster your own Kubuntu LiveCD

Discussion in 'Linux, BSD and Other OS's' started by donkey42, Oct 5, 2007.

  1. donkey42

    donkey42 plank

    Likes Received:
    9
    Trophy Points:
    38
    this is only for users or Linux, do NOT type these commands in Windoze as the outcome is unknown & could be catastrophic

    a broadband connection is almost essential when downloading a LiveCD unless you like banging your head against a wall


    to start with you need an original LiveCD, in this example we'll use Kubuntu Feisty Fawn 7.04
    this is how you add / remove any software to / from a LiveCD by remastering the LiveCD (makeing a new custom LiveCD)

    to begin you need a Feisty LiveCD you can download one from here remember where you downloaded it to (e.g. ~/Desktop)

    now to save typing we'll rename the LiveCD you downloaded to feisty.iso by changing to the directory you downloaded it to[ot]mine is in ~/Desktop, start konsole and
    Code:
    cd ~/Desktop
    rename it with
    Code:
    rn kubuntu-7.04-desktop-i386.iso feisty.iso
    [/ot]

    next we need to "Loopback mount" the .iso enter but first we need to create the directory "/mnt/loop"
    Code:
    mkdir /mnt/loop
    or you can create the directory graphically, next, this command makes the LiveCD you downloaded is accessible in /mnt/loop
    Code:
    mount -o loop /path/to/feisty.iso /mnt/loop
    now we need to create a directory / folder Kubuntu-rebuild in "~/"[ot]mine is /home/dave[/ot]next
    Code:
    rsync -ax loop /path/to/LiveCD.iso /mnt/loop/. kubuntu-rebuild
    assuming you downloaded it to desktop your will be ~/feisty.iso

    now we'll do a bit of preparation
    next we'll use SquashFS & squashfs-tools (installable using your fav package manager or atp-get
    now we'll loopback mount the filesystem
    Code:
    mount kubuntu-rebuild/casper/filesystem.squashfs /mnt/loop -t squashfs -o loop
    now /mnt/loop contains the compressed ubuntu from the LiveCD, now copy /mnt/loop to a new directory in your home diiretory (/home/<username>), so, now we have the compressed CD in our home directory (~/kubuntu-source) and
    Code:
    rsync -av /mnt/loop/. ~/kubuntu-source you can now unmount /mnt/loop now copy your /etc/resolv.conf to ~/kubuntu-source/etc and[code]chroot ~/kubuntu-source
    now you basically running the LiveCD without booting it

    now comes the fun bit[ot]fun, yeah right[/ot]we'll now remove any software we don't need or want (but be very careful you don't remove something essential) & add any software we want, you can install or remove any software as you would normally would (for example with apt-get) anything you add / remove will be on the final LiveCD you are making, so, if you want Gparted on your LiveCD (as partition manipulation is always useful)
    Code:
    apt-get install gparted
    Edit: after typing "exit" you can pretty much leave the remastering alone, & you can continue with it later, if you reboot before issuing the exit command, next boot you can continue as normal (just pretend you did type exit) as exit changes the root back to /

    when you've finished playing with it type "exit" to leave the kubuntu LiveCD, now we'll make a list of files that will be on your remastered LiveCD by entering this daddy of most commands
    Code:
    sudo chroot kubuntu-source dpkg-query -W --showformat='${Package} ${Version}\n | grep -v deinstall > ~/kubuntu-rebuild/casper/filesystem.manifest
    ok, last bit

    now we need to rebuild the SquashFS filesystem image

    BTW: this command takes a while to complete too
    Code:
    mksquashfs kubuntu-source/ kubuntu-rebuild/ casper/filesystem.squashfs -noappend
    next we should update the MD5 checksums to varify the .iso is completed & works with
    Code:
    (cd /kubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
    and finally we can build a brand new .iso image
    Code:
    mkisofs -r -V "My Custom Kubuntu" -cache -iodes -J -l -b isolinux.bin -c isolinux.bin -c isolinux/ boot.cat -no-emul-boot -boot-load-size 4 -boot info-table -0 newkubuntu.iso kubuntu-rebuild
    your new Kubuntu Live is called newkubuntu.iso

    BTW: i haven't completely done this yet, but it works

    also (i think) this is the way it should be done, however, there are easier ways like UNK Reconstructor & i'm sure you can find more
     
  2. RHochstenbach

    RHochstenbach Administrator

    Likes Received:
    26
    Trophy Points:
    48
    Thanks for the information :).
    But let's say I want to integrate a driver. When I load the live CD and I install it, are the integrated parts also installed?
     
  3. donkey42

    donkey42 plank

    Likes Received:
    9
    Trophy Points:
    38
    as with any LiveCD, most hardware will be supported (unless you remove say NVIDIA driver while remastering)

    however, like Windoze only generic drivers are included & not every conceivable hardware driver

    can you integrate a driver a specific driver (not grfx & HDD, because thats slipstreaming) in Windows ?

    but to answer your question: a LiveCD already contains a lot general hardware drivers on a LiveCD (unfortunatly less than Windoze) just don't remove any important stuff while remastering your LiveCD

    however, i believe most windoze hardware is beta tested on *nix because *nix is more configurable

    hope that answers your question RH[ot]not bad, off the top of my head[/ot]

    Edit: it is possible to transfer a working system to a LiveCD which includes all specific drivers
    i think the easiest way to integrate drivers, as you say, is to create a LiveBackup, as detailed here, although i've never tried it, however i may be wrong, plese tell me if i'm wrong guys!

    BTW: thankies for testing me RH
     
  4. RHochstenbach

    RHochstenbach Administrator

    Likes Received:
    26
    Trophy Points:
    48
    Yes, that's possible.
    Linux and Windoze are built completely different. Windows is built on DOS, and Linux is built on UNIX. So drivers need to be rewritten for *nix systems.

    But thanks anyway :)

    [ot]I would suggest to write that the above steps need to be done in a Linux environment, because it is possible that some people try to enter those commands in the Windows Command prompt[/ot]
     

Share This Page