## page was renamed from DynebolicCreate #acl FreaknetGroup:read,write,admin,delete,revert All:read == Create a Dyne:III iso image == by Asbesto, JUL 2010 <> === Description === Fetch your favorite iso, in the following examples we will take puredyne-911-carrot_and_coriander iso to show that this procedures can apply to a lot of different isos/systems. The basic procedure is simple: * mount the ISO image in loop mode; * copy the content of the image in a directory, except for the main squashfs filesystem (on ubuntu and debian: filesystem.squash; on dynebolic: dyne.sys); * unsquash the squashfs image file into another directory; * Add resolv.conf and hosts in /etc by hand or copying from your system; * mount the dev,proc and sys filesystems into the uncompressed directory; * do some minor stuff for having the system ready for your tweaks. === Requirements === You need the squashfs-tools. {{{ #!bash apt-get install squashfs-tools }}} === HOWTO === You can cut'n paste from here to your shell, as you need. ;) {{{ #!bash # CREATING THE DEVELOPMENT SYSTEM FROM THE ISO IMAGE # we choose pd/ as our working directory, so... mkdir pd cd pd sudo mount puredyne.iso /mnt -o loop mkdir extract-cd rsync --exclude=/live/filesystem.squashfs -a /mnt/ extract-cd # for d:b: rsync --exclude=/dyne/dyne.sys -a /mnt extract-cd/ sudo unsquashfs /mnt/live/filesystem.squashfs # for d:b: sudo unsquashfs /mnt/dyne/dyne.sys sudo mv squashfs-root edit # ISO IMAGE CREATED! # USE YOUR DEVELOPMENT SYSTEM # use resolv.conf and hosts from your system, or edit them by hand... sudo cp /etc/resolv.conf edit/etc/ sudo cp /etc/hosts edit/etc/ # if you are into your pd/ directory with the system extracted as above, # just cut'n paste from here to start working on the system. sudo mount --bind /dev/ edit/dev sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts # To avoid locale problems during installation of new packages, you need to export 2 system variables: export HOME=/root export LC_ALL=C # You also need to do this as root (that's for some reasons connected with a couple of dbus bugs). # If you are re-chrooting to a system you're working on, don't mind about warnings or errors. dbus-uuidgen > /var/lib/dbus/machine-id dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl #done! }}} {{{ # NOTE: if the above dpkg-divert fail with a "not allowed" message, just remove /sbin/initctl.distrib rm /sbin/initctl dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl }}} That's all folks! ;) === Suggestions === When you want to remove packages remember to use purge I investigated a bit the matter, not enough to know whats going on but enough to know is a good practice. Once in the chroot start poking: {{{ # refresh your list apt-get update # some must have apt-get install htop modconf # some multimedia apt-get install cinelerra sox twolame mpeg2dec a52dec libsox-fmt-all a52dec darkice darksnow }}} === rsync to carry the pack for working out of home === {{{ rsync --exclude=/edit/dev --exclude=/edit/proc --exclude=/edit/sys -auvz /home/youruser/wherever/src/pd/ /media/usbdisk/pd/ }}} In this way you rsync your pd/ working directory on a same pd/ dir on your usb key, so you can work everywhere on your eeepc. ;) === Closing === {{{ cd / aptitude clean rm -rf /tmp/* ~/.bash_history # tolgo rm /etc/resolv.conf perche comunque ci metto i dns dell'MIT rm /var/lib/dbus/machine-id rm /sbin/initctl dpkg-divert --rename --remove /sbin/initctl dpkg -l > packages.txt umount /proc umount /sys umount /dev/pts exit sudo umount edit/dev sudo mv edit/packages.txt extract-cd/live/ # Into the pd dir: # creiamo il file sudo touch extract-cd/live/filesystem.manifest sudo chmod a+w extract-cd/live/filesystem.manifest # sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/live/filesystem.manifest sudo cp extract-cd/live/filesystem.manifest extract-cd/live/filesystem.manifest-desktop sudo sed -i '/ubiquity/d' extract-cd/live/filesystem.manifest-desktop sudo sed -i '/live/d' extract-cd/live/filesystem.manifest-desktop # Compress the filesystem # cancelliamo il vecchio squashfs eventualmente in mezzo alle palle sudo rm extract-cd/live/filesystem.squashfs # creiamo il nuovo squashfs. La pagina Debian live parla di una opzione -nolzma da mettere alla fine, che pero' NON ESISTE: # # https://help.ubuntu.com/community/LiveCDCustomization # # Note: The -nolzma option is only available from Hardy , and was removed in Karmic. # Also, the squashfs has to be generated using a version of mksquashfs that is compatible # with the kernel used on the CD you are customizing. For example, you cannot generate # a jaunty squashfs on karmic, as the jaunty kernel is not able to mount a squashfs # prepared using mksquashfs from karmic. O_o sudo mksquashfs edit extract-cd/live/filesystem.squashfs # Set an image name in extract-cd/README.diskdefines - Maybe is unuseful? # sudo joe extract-cd/README.diskdefines # (you can use "sudo vim extract-cd/README.diskdefines" if you have difficulties understanding joe. AHHAHAHAH) # Remove old md5sum.txt and calculate new md5 sums cd extract-cd sudo rm md5sum.txt find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt # From inside the extract-cd directory: sudo mkisofs -D -r -V "dyneIIIa1" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../dyneIIIa1.iso . isohybrid ../dyneIIIb.iso # HASTA SIEMPRE, COMANDANTE CHE GUEVARA! }}} Per creare una chiavetta avviabile, basta fare {{{ dd if=dyneIIIb.iso of=/dev/sdXX bs=8192k }}} === Tasks to do === * install all multilanguage documentation for programs and track they're directory if we can squash them or zip, inkscape,gimp,OOffice, some copies maybe from FOSS manuals? * remove unused themes and languages (localepurge?) * install some more open fonts * install some edubuntu software(find out which) * clean up desktop * boot and test the video software === Done === * Remove all useless documentation from /usr/share/doc * Installed Openoffice suite * Installed Scribus * English, Italian, Portoguese, French, Swahili and Afrikaans not installed: WE HAVE TO WAIT FOR LANGUAGES DEFINITION FROM THE COMMITTENT. {{{ openoffice.org-help-en-gb openoffice.org-help-en-us openoffice.org-help-fr openoffice.org-help-it openoffice.org-help-pt openoffice.org-l10n-af openoffice.org-l10n-common{a} openoffice.org-l10n-en-gb openoffice.org-l10n-en-za openoffice.org-l10n-fr openoffice.org-l10n-it openoffice.org-l10n-pt openoffice.org-l10n-sw 0 packages upgraded, 13 newly installed, 0 to remove and 35 not upgraded. Need to get 67.7MB/68.0MB of archives. After unpacking 234MB will be used. }}} === Appunti di lavoro === Primo test: OK! boota perfettamente, ci sono alcune ricorrenze di "puredyne" da sistemare e customizzare. ==== Note ==== La barra laterale della vecchia db, che contiene le icone dei media montati, della rete di condivisione, il volume, floppy e l'ora, non serve piu', poiche' e' tutto automatizzato sul desktop (finalmente! :) ) e sulla barra delle icone sotto. C'e' gia' tutto li, inutile duplicare ==== Elenco di cose da levare di mezzo ==== * locales inutilizzati * sw da testare ==== Roba da mettere ==== Analisi dei menu' della vecchia db, e di conseguenza installazione di tutto cio' che ivi compare, piu' altro. ===== VIDEO ===== * xv -- MESSO. By John Bradley. Vecchio binario statico, piccolo, leggero e veloce, ottimo per editing immagini veloce, crop, resize etc. * gmp4player -- non trovato nei repo, by cisco systems * mp4live -- NOT FOUND, fa parte del gruppo di cui sopra, by CISCO * tvtime -- installato, PAL, freq. table Europe * ksubtitle -- NOT FOUND, e' forse ksubtitleripper - GUI for KDE to rip DVD subtitles ??? * Seven Gnomes -- NOT FOUND ===== AUDIO ===== * xmms -- UNSUPPORTED DEPRECATED. non esiste piu'. audacious settato con la sua vecchia skin e' indistinguibile da xmms. * amarok -- installato * hydrogen -- installato - FORSE VANNO INSTALLATI ANCHE DEI SUONI DI BATTERIA? CHECK PLEASE * freewheeling -- installato * soundtracker -- NOT FOUND * cheesetracker -- installato * ardour 2 -- ??? Installato ardour! * rosegarden - installato * rezound - installato * muse -- NOT FOUND ?!?!??!?!?!? * icecast2 -- c'e', aggiunti ices e ices2 che servono x strimmare ===== IMAGE ===== * Installati geequie e xsane. geequie e' la nuova versione di gqview, non piu' mantenuto ===== TEXT ===== * Abiword -- installato. DA INSTALLARE I VARI ASPELL, LI DA COME CONSIGLIATI. * ted -- NOT FOUND ===== NET ===== * nvu --- NOT FOUND * gpa installato * mutt installato - DA CONFIGURARE? BOOH!!! * kiax -- NOT FOUND * ktorrent, nicotine, bittorrent INSTALLATI * gnutella NOT FOUND * MLdonkey NOT FOUND * pidgin e xchat installati - XCHAT DA CONFIGURARE * CONFIGURARE IRSSI? * ncftp installato * vncviewer installato * vncserver: INSTALLATO * vnc2swf NOT FOUND * rdesktop installato ===== TOOLS ===== * installati tutti: nmap, traceroute, guarddog, wireshark, minicom ed aggiunto arping * kismet, aircrack-ng aggiunti. ===== FILES ===== * k3b installato * rox NON SERVE PIU' * samba installato * grsync installato * xFE file explorer, ma serve? installato. ===== DEVEL ===== * glade, fluid, sysprof installati. * adie NOT FOUND. serve? BOH ===== UTILS ===== * iftop installato * foxcalc, search e wmagn NOT FOUND ==== DA FIXARE ==== '''IMPORTANTI''' * HOSTNAME va creato in base al mac address per far funzionare bene samba. DA FARE * Mozilla Firefox bookmarks e start page * docs in usr/share/puredyne/doc/C/index.html eccetera per l'help da menu * About XFCE potrebbe diventare l'about di dyne3? ==== Settare l'editor default da console ==== Si usa '''update-alternatives --config editor''' che ti fa scegliere l'editor preferito tramite un menu. ==== Autologin account ==== Tutte le occorrenze di '''lintian''' diventano '''luther'''. In particolare i files dentro '''pd/extract-cd/extra''', '''pd/edit/etc/gdm/custom.conf''' ed alcuni file dentro '''pd/extract-cd/isolinux'''. In questi file c'e' anche il nome assegnato al computer, che ho deciso essere "mir". '''Un mega script della madonna dentro usr/share/initramfs-tools/scripts/live-bottom/10adduser''' per creare '''sempre lo stesso utente al boot. CHE COLOSSALE CAZZATA.''' Ho editato lo script commentando via quelle CAZZATE. L'utente luther sara' creato statico, come deve essere. ===== Fixing ===== Dentro edit/usr/share/initramfs-tools/scripts/live-bottom/15autologin c'e' questa cagata qua {{{ # chroot needed to handle symlinks correctly if chroot /root [ -f ${GDMCONF} ] then # true hack ! -- nohar chroot /root cp /usr/share/gdm/defaults.conf /etc/gdm/gdm.conf }}} true hack STA MINCHIA, dato che non esiste alcun /usr/share/gdm/defaults.conf da copiare!!! Ergo, {{{ root@gemini:/home/asbesto/Desktop/src/pd/edit# cp etc/gdm/custom.conf usr/share/gdm/defaults.conf }}} ==== Menu di xfce4 ==== Da fare IDENTICO a quello della vecchia db. '''BAGNO DI SANGUE'''. Sulla pd sta qui: {{{ /etc/xdg/menus/xfce-applications.menu }}} dentro sta dir ci sono tutti i menu standard utili. SI FA COSI: * COPIARE '''/etc/xdg/menus/xfce-applications.menu''' dentro '''.config/menus/xfce-applications.menu''' * editarlo, '''PORCODIO''' * COPIARE tutto '''/usr/share/applications/xfce4*''' dentro '''.local/share/applications''' * '''EDITARE SE E' IL CASO, PORCO DI DIO''' * '''EDITARE La voce relativa all'entry modificata pure dentro /usr/share/desktop-directories !!!!! qui CAMBI IL NOME DEL MENU!!!''' Poi devi RIAVVIARE il cazzo di menu con killall -9 xfdesktop e/o xfdesktop --reload. '''PORCO CRISTO DIO''' Reference: http://wiki.xfce.org/howto/customize-menu '''DI MERDA, UN HOWTO SCRITTO DI MERDA, DIO CANE''' ==== Terminale ==== Il terminale di default si modifica configurando '''.config/Terminal/terminalrc''', in fondo... ==== Sfondi desktop, icone, grafica ==== I backgrounds della pd stanno dentro '''/usr/share/xfce4/backdrops'''. Per una questione di hierarchy sposterei gli sfondi che non sono default di xfce4 su una dir tipo '''/usr/local/share/xfce4/backgrounds''' sistemando opportunamente i file di config. Vedremo... * C'e' una icona pd dentro '''/etc/skel/.icons''', finisce dentro /home/lintian (viene creata la home al boot). SISTEMATA * La dir. '''/usr/share/dyne''' della db, contenente varie cose, e' stata messa dentro '''/usr/local/share/dyne''' della pd. * Splash screen: si trova in nella sezione extract-cd del kit di sviluppo, quindi fuori da edit/ : nel mio caso sta dentro '''/home/asbesto/Desktop/src/pd/extract-cd/isolinux''' e si chiama ovviamente splash.png, 640x480. SISTEMATO, VEDIAMO SE VA. CI SONO ANCHE ALTRI SFONDI DA PROVARE LI DENTRO. * Splash screen 2: '''usr/share/images/desktop-base/grubsplash-puredyne-logo-simple.png''' settato a Volcan.png per grub, usato da /etc/grub.d/05_debian_theme. * Desktop background: lo si configura nella dir '''/edit/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xls/''' editando '''xfce4-desktop.xml''' per il Desktop Background e '''xfce4-session.xml''' per la Session Background, che e' quella specie di screen splash che compare quando carica X e tutti i suoi pezzi. '''E' meglio che la session background non sia a tutto schermo altrimenti non si legge quel che sta caricando.''' FATTO! * C'e' una icona da sistemare qui: '''/etc/skel/.config/xfce4/panel/xfce4-menu-5.xml'''. FATTO ==== Varie ==== * Sistemati gli help del boot, dentro '''/home/asbesto/Desktop/src/pd/extract-cd/isolinux"''', ci sono vari testi li' dentro. Pero' non compaiono da nessuna cazzo di parte... * Manuali sucati in wget da dynebolic.org/manual, mirrorato tutto il sito forse? cmq, messi dentro '''/usr/share/dyne/dynebolic.org/manual/''' nelle dir C e ES cosi vengono automaticamente LOCALIZZATI da '''/usr/bin/xfhelp4''', che e' un binario shellscript che va editato: dentro si configura il percorso del manuale, lui controlla la lingua, se e' C carica il manuale C, se e' ES carica ES. FICO. Lancia il default browser su quei manuali in html. SUCA!!! * Aggiunto il dyne splash, creando .config/autostart/Dynebolic Splash.desktop cosi: {{{ [Desktop Entry] Encoding=UTF-8 Version=0.9.4 Type=Application Name=Dynebolic Splash Comment=Dynebolic Splash Exec=/usr/share/dyne/splash/dynesplash StartupNotify=false Terminal=false Hidden=false }}} e poi in e configurandolo dentro .local/share/applications/xfce4-about-xfce.desktop il quale contiene {{{ [Desktop Entry] Version=1.0 Type=Application Encoding=UTF-8 Exec=/usr/share/dyne/splash/dynesplash Icon=help-about StartupNotify=false Terminal=false Categories=X-XFCE;X-Xfce-Toplevel; OnlyShowIn=XFCE; Name=About Dyne:III }}} === References === [[https://help.ubuntu.com/community/LiveCDCustomization|Ubuntu Live CD Customization]] ---- CategoryMuseo