** a live cd using live-helper and broth **

https://launchpad.net/broth http://debian-live.alioth.debian.org/

debian/ubuntu based. Χρησιμοποιουμε τα εργαλεια του debian, δουλευουμε σε debian (η ubuntu να θελουμε) μηχανακι και κατασκευάζουμε ubuntu iso, η τελεια λυση. ;) Ουσιαστικά την δουλεια την κανει το live-helper. To broth ειναι ενα shell script που ζει απο πανω και κανει τη διαδικασια πιο απλη.

Χονδρικα υπαρχουν τρεις φασεις δημιουργιας:

  • bootstrap
  • chroot
  • binary

Για περισσοτερες πληροφορίες πως δουλευει το live-helper κοιταμε το ανυπαρκτh τεκμηρίωση του :)

** τι χρειαζόμαστε απο πακετα ; dependencies **

  • debootstrap, bzr ( απο sid )
aptitude install debootstrap/unstable bzr/unstable

live-helper tools from git snapshot

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

κατεβαζουμε το broth

To repository toy broth βρίσκεται στο launchpad.net και χρειαζομαστε το bazaar και ενα λογαριασμο χρηστη εκει. Καλο θα ήταν να φτιαξουμε ενα branch να δουλευουμε εκει.

Το παιρνουμε με:

$bzr branch lp:broth

για να μην παιδευομαστε σημερα.

wget http://ataraxia.goto10.org/~anton/broth.tar.gz

αν και τις αλλαγες που κανουμε πρεπει να της εχουμε vesion controlled αλλιως χεστηκαμε.

* χρηση του broth

Το 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.

* customise

Οι ρυθμισεις γινονται στο dev/broth/stock/ και στην αρχη του script μας. Οπως θα προσεξατε εχουμε binary_* και chroot_*. Το μεν binary ειναι για πραγματακια που θελουμε να εγκατασταθουν στο ισο μας το δε chroot για το ομώνυνο σταδιο δημιουργιας που αναφεραμε πιο πανω.

broth.sh settings

κάθε command line option του lh_config μπορει να προσθεθει στο broth. Για αυτό το man lh_config ειναι ο πιστος μας φιλος. Μαλλον δεν χρειαζεται να προσθέσουμε κατι εκει παρα μονο να αλλαξουμε αυτα που υπαρχουν

lh_config

$BUILD_MIRRORS \

  1. -mirror-binary-security “http://security.ubuntu.com/ubuntu” \
  2. -binary-indices disabled \
  3. -bootappend-live “persistent” \
  4. -hostname “puredyne” \
  5. -iso-application “pure:dyne” \
  6. -iso-preparer “live-helper $VERSION” \
  7. -iso-publisher “pure:dyne team; http://puredyne.goto10.org; puredyne-team@goto10.org” \
  8. -iso-volume $PUREDYNE_VERSION \
  9. -syslinux-splash “config/binary_syslinux/splash.rle” \
  10. -syslinux-timeout “10” \
  11. -syslinux-menu “enabled” \
  12. -username “lintian” \
  13. -language “en” \
  14. -linux-packages $PUREDYNE_LINUX \
  15. -linux-flavours “generic” \
  16. -packages-lists $PACKAGES_LISTS \
  17. -categories “main restricted universe multiverse” \
  18. -architecture $PUREDYNE_ARCH \
  19. -mode “ubuntu” \
  20. -distribution “karmic” \
  21. -initramfs “live-initramfs” \
  22. -apt “aptitude” \
  23. -apt-recommends “disabled” \
  24. -apt-secure “disabled”

}

** chroot_local-packageslists

οι λιστες με τα πακετα που θα συνπεριληφθουν στο iso μας ζουν στο chroot_local-packageslists

_local-includes

Στο chroot_local-packages θελουμε να βαλουμε εδω αρχεια .config /etc/skel/ , wallpapers και λοιπα αρχεια για το look and feel του συστηματος. Στο binary_local-includes αρχειακια που θα υπαρχουν στο CD, πχ autorun, licence README.

chroot_local-packages

Τα .deb τα οποια δεν υπαρχουν σε κανενα repo online αλλα τα θελουμε στη διανομη μας τα πεταμε εδω.

_local-hooks

Εδω βαζουμε scripts (hooks) τα οποια κανουν κατι περιεργο εξώτικο που το live-helper den κανει και τρεχουν στο αναλογο σταδιο, οταν φτιαχνεται το chroot ή οταν φταιχνεται το binary.

δοκιμη του iso με qemu

http://code.goto10.org/projects/puredyne/wiki/QemuLive

την μεσαία παραγραφο (Quick first steps ) την αγνοουμε.

files

μια πρωτη προσπαθεια για config file config.tar.gz

 
agenda/distro/broth.txt · Τελευταία τροποποίηση: 2009/11/07 07:37 από olak · [Παλαιότερες εκδόσεις σελίδας]
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki