Debootstrap (binary only)

Debootstrap kann verwendet werden, um ein Debian System von Grund auf neu zu installieren. Dies kann aus einem laufenden System heraus auf einer anderen Partition oder auch in einem Verzeichnis auf dem aktuellen System geschehen, beispielsweise um eine andere Release-Version von Debian zu testen. Auch ist es möglich, mittels debootstrap eine Installation von Debian von einer anderen Linux-Distribution aus vorzunehmen.

Debootstrap benötigt dazu initial weder dpkg noch apt. Das initiale System wird erstellt, indem die Debian-Pakete von einer Mirror-Site heruntergeladen und vorsichtig in ein lokales Verzeichnis entpackt werden, in welches man schließlich “chrooten” kann.

Sofern z.B. unter Debian, Ubuntu Debootstrap noch nicht installiert ist, kann dies mit

sudo apt-get install -y debootstrap

nachgeholt werden.

Debian in wenigen Schritten nutzen

Zuerst mit Debootstrap das Debian-System herunterladen. Dies kann von jedem anderen System aus gemacht werden, welches das Debootstrap-Programm enthält (z.B. auch von der gefreezten Box mit ausgewähltem Debootstrap-Paket). Sonst ist nur noch erforderlich, dass die gemountete Partition ext2,3 oder 4 als Dateisystem besitzt. Da es häufig Probleme mit dem aktuellen lenny Debian gibt wird hier etch verwendet. Es empfiehlt sich die ersten beiden Befehle am Computer auszuführen, da dies wesentlich schneller ist. In diesem Falle sollte man —foreign zu den Argumenten hinzufügen. Für alle gängigen FritzBox Modelle bis x2xx —arch=mipsel eintragen, für die aktuellen x3xx Modelle —arch=mips eintragen

Hinweis:

Beim angeschlossenen USB-Gerät kann die Bezeichnung variieren, in den unten angezeigten Pfaden lautet die Bezeichnung uStor01, bei anderen Geräten kann diese auch Generic-FlashDisk-01 lauten. Um die Bezeichnung herauszufinden, gibt es 3 Möglichkeiten, entweder per Weboberfläche (FRITZNAS), FTP (Wurzelverzeichnis (root) muss sichtbar sein) oder per aktiviertem Telnet.

Telnet (in der Übersicht wird das USB-Gerät aufgelistet)

ls /var/media/ftp/

Ausgabe könnte in wie folgt sein (Variiert nach Modell/Firmware):

FRITZ-NAS.txt         FRITZ-Song.mp3        Generic-FlashDisk-01  lost+found
FRITZ-Picture.jpg     FRITZ-Video.mp4       Onlinespeicher

Mit Etch ausprobieren (veraltete Version):

(FritzBox Modelle bis Version x2xxx)

debootstrap --foreign --arch=mipsel etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian

(FritzBox Modelle ab Version x3xxx)

debootstrap --foreign --arch=mips etch /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian

Mit Wheezy ausprobieren (aktuelle Version):

(FritzBox Modelle bis Version x2xxx)

debootstrap --foreign --arch=mipsel wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian

(FritzBox Modelle ab Version x3xxx)

debootstrap --foreign --arch=mips wheezy /var/media/ftp/uStor01/debian http://ftp.de.debian.org/debian

anschließend

chroot /var/media/ftp/uStor01/debian /debootstrap/debootstrap --second-stage

Sollte man Debootstrap an einem anderen PC durchgeführt haben, steckt man den betreffenden USB-Stick nun in die FritzBox. Um das Debian jetzt noch nutzen zu können, muss das /proc/ Verzeichnis für das Debian bereitgestellt werden und wie bereits erwähnt “gechrootet” werden:

mount -t proc proc /var/media/ftp/uStor01/debian/proc
chroot /var/media/ftp/uStor01/debian bash

Wenn alles gut geht sollte folgender Prompt da sein

root@fritz

Ab jetzt kann man sich wie gewohnt nach einem apt-get update mit apt-get install zusätzliche Pakete installieren.

Erfahrungswerte

Die Erst-Installation auf einer 7170 dauert etwa 2 Stunden, die sich mit ca. 45/75 Minuten auf die ersten 2 Schritte verteilen. Der belegte Speicherplatz auf einem EXT3-formatierten Datenträger liegt bei ca 505 MB (März 2011). Im Gegensatz zur späteren Nutzung (speziell von Aptitude) benötigt die Installation noch keinen Swap, steigert allerdings den CPU-Verbrauch während dieser Zeit auf 100%.

Comment by oliver on Sa 26 Feb 2011 11:26:45 CET

Die Erstellung des Debootstrap ist relativ einfach und gut beschrieben. Aber wie nutzt man das jetzt? Den proc mount kann man in die rc.custom schreiben. Und was macht man mit dem chroot? Kann man beim Starten eine Screen-Session erstellen und sich dann dahin verbinden? Oder jedesmal den chroot Befehl eingeben?

Comment by mandy28 on Sa 26 Feb 2011 13:09:38 CET

chroot per Konsole starten oder bequem mit einem addon welches dann gleichzeitig für binary ist die im chroot laufen soll

Comment by oliver on Di 01 Mär 2011 21:09:47 CET

Ich hab jetzt debootstrap installiert, aber die /etc/apt/sources.list ist leer!? Könntest du noch beschreiben was da rein muss, dass man Pakete installieren kann.

Comment by mandy28 on Di 01 Mär 2011 22:30:28 CET

sollte so aussehen

deb http://ftp.de.debian.org/debian stable main

Comment by oliver on Di 01 Mär 2011 22:43:32 CET

Sollte das da drin stehen oder muss man das selbst reinschreiben?

Comment by mandy28 on Di 01 Mär 2011 22:54:33 CET

sollte normalerweise so oder ähnlich schon drin stehn

Comment by MyRaCoLi on Mi 02 Mär 2011 02:55:27 CET

Funktioniert das mit der aktuellen stable, squeeze? Lenny ist hier noch irrtümlich als stable aufgeführt.

Comment by mandy28 on Mi 02 Mär 2011 08:15:05 CET

mit den entsprechenden scrips in debootstrap ja , dann aber über anderen Mirror z.B.:

debootstrap --foreign --arch=mipsel squeeze /var/media/ftp/uStor01/squeeze http://ftp.de.debian.org/debian
chroot /var/media/ftp/uStor01/squeeze /debootstrap/debootstrap --second-stage

Comment by kriegaex on Mo 12 Dez 2011 23:05:51 CET

Also ich kriege nach dem Erstellen von Debootstrap auf dem PC und dem Kopieren auf die 7170 via NFS beim chroot nur die Fehlermeldung: “FATAL: kernel too old”

Comment by zocky on Do 26 Jul 2012 18:43:38 CEST

zu diesem zu alter fb kernel problem

7170 Firmware-Version 29.04.76 hatte ich auch alles was höer als etch is die meldung “FATAL: kernel too old” da must einfach ne ältere dist nehmen bis es geht

die sources.list muss dan eventl auf archive server angepasst werden

in meinem fall funktioniert das im moment mit diesem einträgen :

deb http://archive.debian.org/debian-archive/debian/ etch main contrib non-free deb-src http://archive.debian.org/debian-archive/debian/ etch main contrib non-free

aba das kann sich je nach dist und aktuellem zeitraum ändern

[AddComment?]