https://launchpad.net/broth http://debian-live.alioth.debian.org/
debian/ubuntu based. Χρησιμοποιουμε τα εργαλεια του debian, δουλευουμε σε debian (η ubuntu να θελουμε) μηχανακι και κατασκευάζουμε ubuntu iso, η τελεια λυση. ;) Ουσιαστικά την δουλεια την κανει το live-helper. To broth ειναι ενα shell script που ζει απο πανω και κανει τη διαδικασια πιο απλη.
Χονδρικα υπαρχουν τρεις φασεις δημιουργιας:
Για περισσοτερες πληροφορίες πως δουλευει το live-helper κοιταμε το ανυπαρκτh τεκμηρίωση του :)
aptitude install debootstrap/unstable bzr/unstable
http://live.debian.net/debian/
wget http://live.debian.net/debian/pool/snapshots/main/l/live-helper/live-helper_1.0.5+20091016.183528_all.deb
sudo dpkg -i live-helper_1.0.5+20091016.183528_all.deb
To repository toy broth βρίσκεται στο launchpad.net και χρειαζομαστε το bazaar και ενα λογαριασμο χρηστη εκει. Καλο θα ήταν να φτιαξουμε ενα branch να δουλευουμε εκει.
Το παιρνουμε με:
$bzr branch lp:broth
για να μην παιδευομαστε σημερα.
wget http://ataraxia.goto10.org/~anton/broth.tar.gz
αν και τις αλλαγες που κανουμε πρεπει να της εχουμε vesion controlled αλλιως χεστηκαμε.
Το broth εχει δύο modes. build server mode και custom/remix mode. Εμεις δουλευουμε σε custom/remix. Αυτο ειναι κατι που το καταλαβαινει απο μονο το script. Αν βρισκομαστε σε ενα server που λεγεται builder ή οχι.
cd /home/USERNAME/broth/ ./broth -o CD|DVD|CUSTOM
οταν τρεξουμε το προγραμμα για πρωτη φορα θα δημιουργησει εναν καταλογο puredyne-build-$ARCH στο $HOME. Αυτο ειναι το working dir του broth και δεν πειραζουμε τιποτα εκει. Εμεις ομως οτι αλλαγες θελουμε να κανουμε στο config του τις κανουμε μεσα στον καταλογο που δημιουργηθηκε απο το bazaar.
Οι ρυθμισεις γινονται στο dev/broth/stock/ και στην αρχη του script μας. Οπως θα προσεξατε εχουμε binary_* και chroot_*. Το μεν binary ειναι για πραγματακια που θελουμε να εγκατασταθουν στο ισο μας το δε chroot για το ομώνυνο σταδιο δημιουργιας που αναφεραμε πιο πανω.
κάθε command line option του lh_config μπορει να προσθεθει στο broth. Για αυτό το man lh_config ειναι ο πιστος μας φιλος. Μαλλον δεν χρειαζεται να προσθέσουμε κατι εκει παρα μονο να αλλαξουμε αυτα που υπαρχουν
$BUILD_MIRRORS \
}
οι λιστες με τα πακετα που θα συνπεριληφθουν στο iso μας ζουν στο chroot_local-packageslists
Στο chroot_local-packages θελουμε να βαλουμε εδω αρχεια .config /etc/skel/ , wallpapers και λοιπα αρχεια για το look and feel του συστηματος. Στο binary_local-includes αρχειακια που θα υπαρχουν στο CD, πχ autorun, licence README.
Τα .deb τα οποια δεν υπαρχουν σε κανενα repo online αλλα τα θελουμε στη διανομη μας τα πεταμε εδω.
Εδω βαζουμε scripts (hooks) τα οποια κανουν κατι περιεργο εξώτικο που το live-helper den κανει και τρεχουν στο αναλογο σταδιο, οταν φτιαχνεται το chroot ή οταν φταιχνεται το binary.
http://code.goto10.org/projects/puredyne/wiki/QemuLive
την μεσαία παραγραφο (Quick first steps ) την αγνοουμε.
μια πρωτη προσπαθεια για config file config.tar.gz