====== Skype-Meeting 12. März 2011 ======
===== Anwesende =====
Naums, Dirty Oerti, nufan, Xin
===== Start =====
Ich fasse jetzt mal zusammen, was bisher an Planung vorhanden ist:
Ziel ist es, ein Linux-System zu schaffen, dass es Anfängern ermöglicht, schnell und unkompliziert in die Entwicklung sozusagen einzusteigen, es gleichzeitig jedoch "Fortgeschrittenen" keine Steine in den Weg legt.
Das System soll möglichst minimal gehalten sein, aber voll ausbaubar sein und es soll natürlich nicht am nötigen Komfort fehlen.
Gleichzeitig soll das System (nat) stabil laufen. Außerdem soll es proggen.org "repräsentieren"
Ziele: Ubuntu basiertes Linux (Dirty: aktuelle, Naums: 10.04 LTS)
Browser: Firefox?
Pakete zunächst: Direkt von Ubuntu only, Metapakete von proggen.org
Optik: kein Compiz (brauchen 3D Treiber), Naums schaut sich OpenBox (schnell, klein) als Fenstermanager an
===== Inhalt =====
==== Software-Center: ====
Braucht man das? Vielleicht eher Wiki-Seite. Firefox an apt-URLs lesen, Metaquellen von Proggen.org runterladen.
Ergibt ein eigenes Software-Center Sinn?
Entwickler interessiert nur bestimmte Pakete, die dann z.b: als Metapakete installiert werden könne. Eine grafische Anwahl mit einer graphische Oberfläche als Programm kann später erfolgen.
Das erste Software-Center kann ein Link auf eine Wiki-Seite mit apt-URLs sein.
==== Auf CD ====
* OpenBox auf XServer + FireFox => 200MB, Gnome wäre ähnlich (250MB)
* C++ (build-essentials)
* Compiler sollen mitdrauf und anschließend mit normalen Editoren arbeiten. GCC, G++, OpenJDK (default-jdk)
* Python
* PDF-Reader für EBooks ([[ http://wiki.ubuntuusers.de/Evince|Evince]])
* Subversion
* CUPS
==== Per Nachinstallation ====
* IDEs sollten nachinstalliert werden (Einigkeit)
* PHP, weil Apache/MySQL direkt angefragt wird und das wird zu groß.
* LibreOffice
* Spiele
* MP3-Codecs
* Flash (eventuell freie Variante auf CD?)
* PulseAudio / gstreamer / ALSA
* Test: valgrind / bless
* Versionsverwaltung: Git, Mercurial, Bazaar
==== Wiki ====
* Unterpunkte für die Einzelnen Programmierprojekte (GUI-Programmierung, Datenbanken, Spieleprogrammierung)
* GUI-Programmierung -> GTK -> Apt-Links für die Bindings der einzelnen Sprachen und zum Tutorial
==== Basis - Skript ====
MUSS als root ausgeführt werden!
#!/bin/bash
CHROOT=CHROOT
IMAGE=image
mkdir ${CHROOT}
# Installing a barebones ubuntu into chroot
debootstrap --arch=i386 maverick ${CHROOT}
# Preparing to switch into chroot
mount --bind /dev ${CHROOT}/dev
cp /etc/hosts ${CHROOT}/etc/hosts
cp /etc/resolv.conf ${CHROOT}/etc/resolv.conf
cat > ${CHROOT}/etc/apt/sources.list< /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
# Install base system
################################################ TODO install ubiquity!!!!!!!
apt-get install --yes ubuntu-standard casper lupin-casper
apt-get install --yes discover laptop-detect os-prober
apt-get install --yes --no-install-recommends linux-generic
# Install required packages for desktop etc
# ....
# We need only one tty
rm /etc/init/tty[2-6].conf
# Exit chroot ...
rm /var/lib/dbus/machine-id
rm /sbin/initctl
#dpkg-divert --rename --remove /sbin/initctl
mv initctl.backup /sbin/initctl
apt-get clean
rm -rf /tmp/*
rm /etc/resolv.conf
rm /etc/hosts
umount -lf /proc
umount -lf /sys
umount -lf /dev/pts
exit
EOF
umount ${CHROOT}/dev
################################################### TODO: Evtl install Ordner ?!?!
# Set up folders for the image
mkdir -p ${IMAGE}/{casper,isolinux}
# Copy the kernel and the initrd
cp ${CHROOT}/boot/vmlinuz-2.6.**-**-generic ${IMAGE}/casper/vmlinuz
## Wenn die initrd verändert (und neu erstellt wurde):
#mv ${CHROOT}/initrd.gz ${IMAGE}/casper/initrd.gz
## Ansonsten:
mv ${CHROOT}/boot/initrd.img-2.6.**-**-generic ${IMAGE}/casper/initrd.gz
# isolinux
cp /usr/lib/syslinux/isolinux.bin ${IMAGE}/isolinux/
cat > ${IMAGE}/isolinux/isolinux.txt< ${IMAGE}/isolinux/isolinux.cfg< ${IMAGE}/casper/filesystem.size
# create diskdefines
cat > ${IMAGE}/README.diskdefines< ${IMAGE}/.disk/cd_type
echo 'Progbuntu @ Ubuntu 10.10 i386' > ${IMAGE}/.disk/info
echo "http//proggen.org" > ${IMAGE}/.disk/release_notes_url
cd ${IMAGE}
# build cd iso
find . -type f -print0 | xargs -0 md5sum | grep -v "\./md5sum.txt" > md5sum.txt
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 ../progbuntu-remix.iso .