Unterschiede zwischen den Revisionen 2 und 969 (über 967 Versionen hinweg)
Revision 2 vom 2014-04-29 15:05:26
Größe: 4046
Autor: i59F6C6CF
Kommentar:
Revision 969 vom 2014-11-29 11:23:19
Größe: 0
Autor: tours
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
= Live Stick Schule =
Ein Lehrer vom Heinrich-Herz-Gymnasium möchte seine Schüler im Unterricht gern an Freie Software heranführen. Ansatzpunkte sind dabei besonders Videoschnitt für den Kunstunterricht und ggf. Recherchen im Sprachunterricht (hier Latein, Griechisch) auch mit Hinblick auf Historie (Weltkarten, ...).

== Konzept ==
=== Anforderungen ===
 * nachträgliche Softwareinstallation möglich
 * Programme
  * Libreoffice
  * KDEnlive
  * Subtitleeditor (Aegisub)
  * Geogebra
 * von Windows auf Daten zugreifen
   
=== Idee ===
 * Der Live-Stick hat 2 Partitionen
  1. Root-Filesystem, mit Live-Kompression (BTRFS)
  1. Homedirectory als VFAT, darüber ein posixovl mount um die Verwendung als Heimverzeichnis zu erlauben
 * beim Rollout soll Image der Stick-Größe angepasst werden
 * zum Ausrollen der Medien wird ein grafischer Installer geschrieben (zenity)

== Protokoll ==
Partitionierung
{{{
$ sudo fdisk /dev/sda
> o
> n
> p
> 1
> 2048
> +4G

> n
> p
> 2
> (default)
> +1G

> w
}}}

Dateisysteme einrichten
{{{
$ sudo mkfs.btrfs /dev/sda1
$ sudo mkfs.vfat /dev/sda2
$ sudo mount /dev/sda1 /mnt -o compress
$ sudo btrfs subvolume create /mnt/boot
$ sudo btrfs subvolume create /mnt/root
}}}

Basissystem fertig machen
{{{
$ sudo debootstrap --variant=minbase --arch=i386 jessie /mnt/root http://www.linux-works.de:9999/debian
$ sudo umount /mnt
$ sudo mount /dev/sda1/ /mnt -o compress,subvol=root
$ sudo mount /dev/sda1/ /mnt/boot -o compress,subvol=boot
$ for n in /dev /proc /sys; do sudo mount $n /mnt/$n -o bind; done
$ sudo chroot /mnt /bin/bash
}}}

Softwareinstallation
{{{
$ apt-mark showmanual |xargs apt-mark auto
$ echo deb http://www.linux-works.de:9999/debian wheezy main >>/etc/apt/sources.list
$ apt-get update
$ apt-get -t jessie --no-install-recommends install grub2 linux-image-486 alsa-base alsa-utils bzip2 gzip htop man nmap less sudo vim iputils-ping net-tools wireless-tools pciutils wget openssh-client ntpdate btrfs-tools dosfstools eject exfat-fuse ntfs-3g xserver-xorg-input-all xorg xserver-xorg-input-wacom xserver-xorg-video-all xkb-data libgl1-mesa-dri akonadi-backend-sqlite kde-l10n-de kde-plasma-desktop kdesudo kdm kwalletmanager libpam-ck-connector policykit-1 policykit-1-gnome polkit-kde-1 virtuoso-minimal gstreamer0.10-plugins-{bad,base,good,ugly} phonon-backend-gstreamer gtk2-engines-oxygen gtk3-engines-oxygen kde-config-gtk-style oxygencursors kde-style-oxygen gwenview kate okular ark synaptic vlc kmix ttf-dejavu chromium chromium-l10n browser-plugin-gnash blender gimp inkscape marble hunspell hunspell-de-de hyphen-de libreoffice libreoffice-l10n-de kdenlive libav-tools recordmydesktop x264 geogebra fuse-posixovl network-manager network-manager-openvpn network-manager-pptp network-manager-vpnc plasma-widget-networkmanagement
$ apt-get autoremove
$ apt-get clean
}}}

/etc/fstab
UUID wird ermittelt durch "btrfs filesystem show /" (innerhalb der chroot)
{{{
UUID=b4b55c0d-8ba6-4c58-a2ae-5c6bcf467580 / btrfs auto,compress,subvol=root 0 0
UUID=b4b55c0d-8ba6-4c58-a2ae-5c6bcf467580 /boot btrfs auto,compress,subvol=boot 0 0
}}}

/etc/rc.local (nötig um das Heimverzeichnis von der VFAT Partition zu mounten)
{{{
ROOTID="$(sed -nr 's:^[\t ]*UUID=(.+)[\t ]/[\t ].*:\1:p' /etc/fstab)"
ROOTDEV="$(stat -c %N /dev/disk/by-uuid/$ROOTID |sed -r "s:^.*'(.+)'$:\1:")"
HOMEDEV="$(echo /dev/disk/by-uuid/$ROOTDEV |sed -r 's:1$:2:')"

mount "$HOMEDEV" /home/user && mount.posixovl /home/user -- -o allow_other
chown user:user /home/user
chmod 750 /home/user

exit 0
}}}

Konfiguration
{{{
ln -sf /proc/mounts /etc/mtab
adduser user
adduser user sudo
echo LiveStick >/etc/hostname
dpkg-reconfigure tzdata
rm /home/user/.*
mount /dev/sda2 /home/user/
mount.posixovl /home/user/ -- -o allow_other
vi /etc/locale.gen
locale-gen
echo LC_ALL=de_DE.UTF-8 >/home/user/.xsessionrc
chown user:user -R /home/user/
chmod 755 /home/user/.xsessionrc
}}}