====== Ubuntu ====== ===== debootstrap ===== Schritte um ein Ubuntu-system anzulegen (armhf als Architektur): https://help.ubuntu.com/lts/installation-guide/armhf/apds04.html sudo apt-get install qemu-user-static debootstrap binfmt-support targetdir=$(pwd)/debootstrap_ubuntu_18.4 distro=bionic arch=armhf sudo debootstrap --arch=$arch --foreign $distro $targetdir #wenn folgender Fehler kommt: E: Cannot install into target '...' mounted with noexec or nodev sudo mount -i -o remount,exec,dev /mounted_dir sudo cp /usr/bin/qemu-arm-static $targetdir/usr/bin/ sudo cp /etc/resolv.conf $targetdir/etc sudo distro=$distro chroot $targetdir export LANG=C /debootstrap/debootstrap --second-stage #echo "deb-src http://archive.ubuntu.com/ubuntu $distro main">>/etc/apt/sources.list #echo "deb http://security.ubuntu.com/ubuntu $distro-security main">>/etc/apt/sources.list #echo "deb-src http://security.ubuntu.com/ubuntu $distro-security main">>/etc/apt/sources.list echo "deb http://ports.ubuntu.com/ubuntu-ports/ $distro main">>/etc/apt/sources.list echo "deb-src http://ports.ubuntu.com/ubuntu-ports/ $distro main">>/etc/apt/sources.list echo "deb http://ports.ubuntu.com/ubuntu-ports/ $distro-updates main">>/etc/apt/sources.list echo "deb-src http://ports.ubuntu.com/ubuntu-ports/ $distro-updates main">>/etc/apt/sources.list echo "deb http://ports.ubuntu.com/ubuntu-ports/ $distro-security main">>/etc/apt/sources.list echo "deb-src http://ports.ubuntu.com/ubuntu-ports/ $distro-security main">>/etc/apt/sources.list echo "bpi-r2-ubuntu" >/etc/hostname #root-password setzen! sonst kein Login möglich passwd fstab/... konfigurieren wie bei [[debian]] :!: ubuntu 18.4 verwendet netplan.io als Standard Netzwerk-Framework [[https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes#Network_configuration|bionic releasenotes]] #chroot verlassen exit packen: cd $targetdir sudo tar cvpzf ../debootstrap_$distro.tar.gz . ===== System Auf SD-Karte installieren ===== [[storage#manuelles_kopieren_des_betriebssystems|SD-Karte vorbereiten]] #in root-partition entpacken with sudo tar -xpzf /path/to/debootstrap_$distro.tar.gz sudo mkdir lib/modules/ cd lib/modules/ #kernel-module hier entpacken temporäre Netzwerk-Konfiguration: ip a ip link set eth0 up ip addr add 192.168.0.11/24 dev lan0 #freie ip/prefix deines Lan-Segments ip link set lan0 up ip route add default via 192.168.0.10 #ip deines Routers echo "nameserver 192.168.0.10" >>/etc/resolv.conf #ip deines Router für DNS-Auflösung Installieren von Paket “ifupdown” und Hinzufügen von “netcfg/do_not_use_netplan=true” zu den bootopts in der /boot/bananapi/bpi-r2/linux/uEnv.txt Nach einem Reboot wird das "alte" System mit /etc/network/interfaces verwendet. nun wird die /etc/resolv.conf bei jedem Neustart zurückgesetzt root@bpi-r2-ubuntu:~# ls -l /etc/resolv.conf lrwxrwxrwx 1 root root 39 Jun 13 10:27 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf #löschen des Symlinks und ersetzen durch eine "normale" Datei mit den Einstellungen wie bei Debian rm /etc/resolv.conf echo "nameserver 192.168.0.10" >>/etc/resolv.conf unter ubuntu 18.4 läuft bereits ein eigener dns-dienst, welcher deaktiviert werden muss (gefolgt von einem reboot oder via stop beenden), um z.B. DNSMasq laufen zu lassen (wie in meinem wifi.sh-script) systemctl disable systemd-resolved systemctl stop systemd-resolved ===== image erstellen ===== imgfile=/path/to/ubuntu-18.04-bpi-r2-preview.img sudo dd if=/dev/sdx of=$imgfile #Status von DD über anderes Terminal mit "sudo kill -SIGUSR1 $(pidof dd)" ermitteln #image beschränken auf das Ende der Letzten Partition...Pfad zur img-Datei darf keine Leereichen enthalten IFS=$'\t' #zur Sicherheit (ignoriere Leerzeichen im Pfad) ENDOFDATA=$(fdisk -l "$imgfile" |tail -1|awk '{print $3}') echo $ENDOFDATA truncate --size=$[($ENDOFDATA+1)*512] $imgfile #check size ls -lh "$imgfile" #Image weiter manipulieren loopdev=$(losetup -f) sudo losetup $loopdev $imgfile sudo partprobe $loopdev sudo mount ${loopdev}p2 /mnt ls /mnt #... #Freien Speicher mit 0 füllen für besseres Packen sudo sh -c 'cat /dev/zero >/mnt/null.dat' sudo rm /mnt/null.dat sudo umount /mnt #image packen gzip $imgfile md5sum $imgfile.gz > $imgfile.gz.md5 Ich habe mein Image auf mein [[https://drive.google.com/open?id=1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk|gdrive]] hochgeladen zum testen (ubuntu-18.04-bpi-r2-preview.img.gz) ===== SSH ===== ssh-server ist in meinem image installiert [[https://drive.google.com/open?id=1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk|ubuntu-18.04-bpi-r2-preview.img.gz from my gdrive]], aber root-login muss aktiviert werden echo "PermitRootLogin yes" >> /etc/ssh/sshd_config service sshd restart es sollten neue host-keys für ssh erzeugt werden... #alte Schlüssel löschen rm /etc/ssh/ssh_host_* #sshserver-paket neu konfigurieren dpkg-reconfigure openssh-server