Eine eigene Live-CD erstellen



  • Hallo Zusammen!

    Mich würde gerne interessieren welche Dateien ich benötige, um eine eigene Live-CD zu erstellen. Die Live-CD soll so ähnlich wie die Live-CD von GParted aufgebaut sein und nur einen einzigen Anwedungsprogramm starten, die ich mit C++ und wxWidgets geschrieben habe. Ich würde gerne als Fenstermanager iceWM oder TWM benutzen. Was muss ich beachten und welche Bibliotheksdateien sind notwendig?

    Ich danke euch schon mal für eure Hilfe!

    Gruß,
    Stefan



  • Das einfachste dürfte sein du installierst dir ein Linux Distribution deiner Wahl, richtest alles so ein wie es sein soll (automatisches starten deiner Anwendung etc.) und erstellst daraus dann deine live-cd z.B. mit http://www.linux-live.org/



  • Auf mein Notebook habe ich vor einer Woch die Linux-Distribution Mandriva 2009.1 installiert. Ich habe vor einigen Minuten zwei RPM-Pakete entdeckt, die ich auf mein System installieren kann. Einmal "mklivecd" und "livecd-tools". Welcher der RPM-Pakete soll ich am besten installieren und gibt es eine dt Beschreibung, wie man eine Live-CD Schritt für Schritt erstellt?



  • Eine LiveCD zu erstellen, ist nicht so einfach, vor allem, wenn sie auf vielen unterschiedlichen Systemen starten soll.

    Ich hab vor Jahren eine erstellt:

    http://forums.gentoo.org/viewtopic-t-244837-highlight-livecd.html

    http://forums.gentoo.org/viewtopic-t-410389-highlight-livecd.html

    diese beiden howtos habe ich damals benutzt. Ich hatte sogar ein ganzes Skript daraus gebastelt, leider habe ich sie nicht mehr.



  • Da ich das zur Zeit öfter mache:

    https://help.ubuntu.com/community/LiveCDCustomizationFromScratch

    enviroment.sh

    #!/bin/sh
    
    workdir="work"
    ubuntuversion="jaunty"
    #ubuntuversion="hardy"
    
    mkdir $workdir
    cd $workdir
    mkdir chroot
    
    echo "Download $ubuntuversion from Server"
    sudo debootstrap --arch i386 $ubuntuversion chroot
    
    sudo cp /etc/resolv.conf chroot/etc/resolv.conf
    sudo cp /etc/apt/sources.list chroot/etc/apt/sources.list
    
    sudo cp ../chrootshellscript.sh chroot/
    
    # begin chroot
    echo "Chroot and setup new System"
    echo "Please Type: export HOME=/root
    	     export LC_ALL=C
    	     ./chrootshellscript.sh"
    sudo chroot chroot
    
    sudo rm chroot/chrootshellscript.sh
    
    echo "end chroot, setup enviroment"
    mkdir image image/casper image/isolinux image/install
    
    cp chroot/boot/vmlinuz-2.6.**-**-generic image/casper/vmlinuz
    cp chroot/boot/initrd.img-2.6.**-**-generic image/casper/initrd.gz
    
    cp /usr/lib/syslinux/isolinux.bin image/isolinux/
    
    cp /boot/memtest86+.bin image/install/memtest
    cp /boot/sbm.img image/install/
    
    touch image/isolinux/isolinux.txt
    echo "This is an Ubuntu Remix Live CD." > image/isolinux/isolinux.txt
    
    touch image/isolinux/isolinux.cfg
    echo "DEFAULT live
    LABEL live
      menu label ^Start or install Ubuntu
      kernel /casper/vmlinuz
      append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
    LABEL check
      menu label ^Check CD for defects
      kernel /casper/vmlinuz
      append  boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
    LABEL memtest
      menu label ^Memory test
      kernel /install/memtest
      append -
    LABEL hd
      menu label ^Boot from first hard disk
      localboot 0x80
      append -
    DISPLAY isolinux.txt
    TIMEOUT 30
    PROMPT 1" > image/isolinux/isolinux.cfg
    
    sudo mksquashfs chroot image/casper/filesystem.squashfs -e chroot/boot
    
    # for USB-Creator
    mkdir image/.disk
    cd image/.disk
    touch base_installable
    echo "full_cd/single" > cd_type
    echo "$ubuntuversion" > info
    echo "http//ubuntu-rescue-remix.org" > release_notes_url
    cd ../..
    
    echo "Create ISO Image"
    cd image
    sudo mkisofs -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-remix.iso .
    cd ..
    
    sudo mv ubuntu-remix.iso /home/spawn/live_cd_isos/ubuntu-script.iso
    
    echo "Finished!"
    

    chrootshellscript.sh

    mount /proc
    mount /sys
    mount -t devpts none /dev/pts
    
    aptitude update
    
    echo "Install Packages to System"
    # system
    aptitude install -y ubuntu-standard
    aptitude install -y casper
    aptitude install -y discover
    aptitude install -y linux-generic
    aptitude install -y os-prober
    
    # my
    aptitude install -y hal
    aptitude install -y xorg
    aptitude install -y icewm
    aptitude install -y icewm-common
    aptitude install -y pcmanfm
    aptitude install -y file-roller
    aptitude install -y gedit
    aptitude install -y cryptsetup
    aptitude install -y cryptsetup-luks
    
    echo "Finished, clean System"
    aptitude clean
    
    rm -rf /tmp/*
    
    rm /etc/resolv.conf
    
    umount -l -f /proc
    umount -l -f /sys
    umount /dev/pts
    exit
    # end chroot
    

    Könnte man wahrscheinlich besser lösen (1 File), aber es läuft für mich ohne Probleme.



  • Am besten auch mal einen Blick auf grml-live werfen, das sollte für solche Aufgaben ebenfalls sehr praktisch sein.

    (Wer grml nicht kennt, sollte sich das unbedingt ansehen, in meinen Augen die beste Live-Distro für technisch versierte User.)


Anmelden zum Antworten