Debian 9 auf einem Alix 2D
Ich wollte ein altes Alix 2D Gerät revitalisieren und Debian 9 installieren. Da das Gerät über keine Grafikkarte verfügt bin ich den Weg über “deboostrap” gegangen. Hilfestellung hierfür war vor allem diese Seite.
Zuerst muss die cf Karte so formatiert werden das es ein Linux Dateisystem enthält das booten kann
fdisk -l /dev/sdc
Disk /dev/sdc: 3,7 GiB, 4000317440 bytes, 7813120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x90909090
Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 2048 7813119 7811072 3,7G 83 Linux
mkfs.ext3 -v /dev/sdc1
Dann mounten wir die Karte im Dateisystem und starten den debootstrap Prozess. Dieser Prozess installiert ein Debian auf der Karte. Das kann je nach Karte dauern.
mkdir -p /mnt/cfcard
mount /dev/sdc1 /mnt/cfcard
debootstrap --arch i386 squeeze /mnt/cfcard http://ftp2.de.debian.org/debian/
I: Retrieving InRelease
I: Retrieving Release
E: Failed getting release file http://ftp2.de.debian.org/debian/dists/squeeze/Release
root@pedro:~# ^C
root@pedro:~# debootstrap --arch i386 stretch /mnt/cfcard http://ftp2.de.debian.org/debian/
I: Retrieving InRelease
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 067E3C456BAE240ACEE88F6FEF0F382A1A7B6500)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: libaudit-common libaudit1 libbz2-1.0 libcap-ng0 libdb5.3 libdebconfclient0 libgcrypt20 libgpg-error0 liblz4-1 libncursesw5 libsemanage-common libsemanage1 libsystemd0 libudev1 libustr-1.0-1
I: Found additional base dependencies: dmsetup gnupg-agent libapparmor1 libassuan0 libbsd0 libcap2 libcryptsetup4 libdevmapper1.02.1 libdns-export162 libelf1 libfastjson4 libffi6 libgmp10 libgnutls30 libhogweed4 libidn11 libidn2-0 libip4tc0 libip6tc0 libiptc0 libisc-export160 libksba8 liblocale-gettext-perl liblognorm5 libmnl0 libncurses5 libnetfilter-conntrack3 libnettle6 libnfnetlink0 libnpth0 libp11-kit0 libpsl5 libseccomp2 libsqlite3-0 libtasn1-6 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libunistring0 libxtables12 pinentry-curses xxd
I: Checking component main on http://ftp2.de.debian.org/debian...
I: Retrieving libacl1 2.2.52-3+b1
I: Validating libacl1 2.2.52-3+b1
....
.....
....
I: Configuring ifupdown...
I: Configuring apt-utils...
I: Configuring debconf-i18n...
I: Configuring whiptail...
I: Configuring gnupg...
I: Configuring libgnutls30:i386...
I: Configuring wget...
I: Configuring tasksel...
I: Configuring tasksel-data...
I: Configuring libc-bin...
I: Configuring systemd...
I: Base system installed successfully.
Jetzt “wechselt” man vom Hauptbetriebssystem in eine Session “auf der Karte”
mount proc /mnt/cfcard/proc -t proc
mount sysfs /mnt/cfcard/sys -t sysfs
mount -o bind /dev /mnt/cfcard/dev
chroot /mnt/cfcard /bin/bash
Man sieht zwar zuerst nicht viel aber wenn man sich die /etc/fstab anschaut kann man sehen das es nicht die vom “host system” ist
more /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
Aber man kann jetzt auf dem “Kartensystem” ganz normal Software installieren
apt install console-setup language-env locales
dpkg-reconfigure locales
dpkg-reconfigure tzdata
Der neue Host braucht einen Namen
echo sinnvollername > /etc/hostname
und die /etc/fstab braucht die richtigen Einstellungen
echo "proc /proc proc defaults 0 0" >> /etc/fstab
echo "sysfs /sys sysfs defaults 0 0" >> /etc/fstab
echo "/dev/sda1 / ext2 noatime,errors=remount-ro 0 1" >> /etc/fstab
Achtung hier sda statt sdc nehmen da die Karte wenn man von ihr startet ja die erste Festplatte ist.
Die Kernelkonfiguration vorbereiten:
vi /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
Dann Grub und Kernel installieren
apt install linux-image-586 grub-pc
Achtung hier wieder sdc nehmen. Damit Grub auf dem Alix Board die serielle Schnittstelle nimmt.
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="verbose console=ttyS0,38400n8 reboot=bios"
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=38400"
GRUB_TERMINAL=serial
grub-install /dev/sdc
update-grub
Netzwerkkarten einrichten:
vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s9
iface enp0s9 inet dhcp
auto enp0s10
iface enp0s10 inet dhcp
Dann die Karte auswerfen und in das Alix Board einbauen. Wenn man die Baudrate auf dem angeschlossenen Terminal richtig eingebaut hat lacht einen dann das Debian zum einloggen an.