Mittwoch, 28. September 2016

Debian Jessie auf WD MyBook Live (MBL) - Teil 2: Bootstrap

Mein Anfangspost zu Jessie auf dem MyBook Live ist deutlich umfangreicher geworden als zunächst gedacht. Daher folgen nun die Schritte für die eigentliche Installation analog zu Wheezy Installation auf dem MBL.

(Ausgehend von einer frischen Installation aus dem Western Digital Original Image.)


Zuerst wird die Partition 1 aus dem Raid entfernt und neu formatiert:

mdadm --manage /dev/md1 --fail /dev/sda1
mdadm --manage /dev/md1 --remove /dev/sda1
mkfs.ext3 /dev/sda1
mkdir /mnt
mount /dev/sda1 /mnt/

Nun kann das Bootstrapping beginnen (vorher noch den aktuellen Schlüssel zum Keyring hinzufügen):
cd /tmp
wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.48+deb7u4_all.deb
dpkg -i debootstrap_1.0.48+deb7u4_all.deb

gpg --keyserver pgp.mit.edu --recv-keys CBF8D6FD518E17E1
gpg --armor --export CBF8D6FD518E17E1  | apt-key add -
debootstrap --keyring=/etc/apt/trusted.gpg --arch powerpc jessie /mnt http://ftp.de.debian.org/debian

Damit das Netzwerk startet muss die /mnt/etc/network/interfaces Datei gefüllt werden:

#/etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

Die Jessie Paketquellen müssen ergänzt werden (/mnt/etc/apt/sources.list):

#/etc/apt/sources.list
deb http://httpredir.debian.org/debian jessie main contrib non-free
deb-src http://httpredir.debian.org/debian jessie main contrib non-free

deb http://httpredir.debian.org/debian jessie-updates main contrib non-free
deb-src http://httpredir.debian.org/debian jessie-updates main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

Wichtig ist die Konfiguration der beim Start zu mountenden Verzeichnisse. Auf keinen Fall darf eine noch nicht korrekt initialisierte Swap- bzw. Daten-Partition gemountet werden. In diesem Fall kann man nur per serieller Schnittstelle das System reparieren!!! (/mnt/etc/fstab)

#/etc/fstab
proc            /proc                   proc    defaults                                0 0
sysfs           /sys                    sysfs   defaults                                0 0

/dev/sda1       /                       ext3    defaults,noatime,nodiratime,barrier=1   0 1
#/dev/sda3      swap                    swap    defaults                                0 0
#/dev/sda4      /media                  ext4    auto,exec,rw,noatime,nodiratime,suid    0 0

tmpfs           /var/cache/samba        tmpfs   defaults                                0 0
#tmpfs          /var/log                tmpfs   nodev,nosuid,size=16M                   0 0

Wenn der Start geklappt hat, soll wieder die Grüne LED leuchten (/mnt/etc/rc.local):

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo green > /sys/class/leds/a3g_led/color

exit 0

Jetzt kann in das neue System gewechselt werden.

cd /mnt/
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot .

Das Bootstrap enthält noch kein SSH:

apt-get update
apt-get upgrade
apt-get install openssh-server bzip2 parted hdparm busybox-syslogd ntpdate

Nun wird der Kernel aus dem ersten Teil heruntergeladen und installiert:

wget http://loetzimmer.de/patches/MBL_4.1.33.tar.bz2
tar xfj MBL_4.1.33.tar.bz2

Da sich in Jessie der Root-User nicht per SSH einloggen darf, legen wir einen neuen Benutzer an

adduser --home /home/alex --shell /bin/bash alex

und ändern zusätzlich das Root-Passwort

passwd

Es folgt ein kleiner Test, ob SSH im neuen System startet und den neuangelegten Benutzer akzeptiert:

exit
/etc/init.d/ssh stop
chroot /mnt
/etc/init.d/ssh start

Startet man nun eine SSH-Sitzung, sollte der SSH-Server aus dem chroot antworten (WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!).
Wenn sich der neue Benutzer anmelden kann, hat alles geklappt.

/etc/init.d/ssh stop
exit

Ich verwende ein paar der originalen Western Digital Scripte um z.B. die Festplatte abzuschalten. Daher kopiere ich sie ins neue System (löschen kann ich später immer noch):

cp /usr/local/sbin/rotateLogs.sh /mnt/usr/local/sbin/
cp /usr/local/sbin/monitorio.sh /mnt/usr/local/sbin/
cp /etc/init.d/purgelogs.sh /mnt/usr/local/sbin/
cp /etc/init.d/saveclock.sh /mnt/etc/init.d/

Damit sollte dem Booten ins neue System nichts mehr im Wege stehen:

umount /mnt/proc/
umount /mnt/sys/
umount /mnt/dev/
umount /mnt/
reboot

Jetzt heißt es Daumen drücken und wenn alles gut gegangen ist, kann man sich wenige Sekunden später ins neue System einloggen.

2 Kommentare:

  1. We will countersign the shape in contact with|and make contact with} Hand Held Massager you with directions on method to|tips on how to} create an account and entry the 3D Commerce Advisory Forum. GrabCAD Print software provides a streamlined, user pleasant workflow to assist designers go from CAD mannequin to 3D printed half in just some clicks. Create extra accurate parts and make higher design decisions with construct preparation, and manage print queues from anywhere. Stratasys FDM printers set the usual for repeatable print results that precisely mirror your CAD mannequin. For constant manufacturing in industrial printing applications, you can to|you probably can} rely on the Fortus 450mc.

    AntwortenLöschen
  2. Also take a look at|try} the 3D Printing Resources page for hyperlinks to 3D printers, buyer guides, software, and extra. Triangle Geometry — The STL file format describes 3D models as a double sided tape set of triangles. The print head, pulleys, and extruder hardware should be aligned, as well as|in addition to} software dimensions translated to the right real world dimensions utilized by the printer hardware.

    AntwortenLöschen