Debootstrap

From Fritz!Box
Jump to: navigation, search

AVM Wiki >> Shell-Befehle >> debootstrap @ whmf   -   IRC-Chat   -   hu nl it English
Community Modelle Zubehör Environment Konfiguration Shell-Befehle Software Freetz Lexikon Tipps+Tricks Bilder

Startup-Scripts AVM-Befehle BusyBox-Befehle Linux-Befehle Shared Libraries Kernel-Module Listings Todo

Contents

Debootstrap1.png
debootstrap CPU-Verbrauch - Schritt 1 - Pause - Schritt 2
Debootstrap2.png
debootstrap Bandbreiten-Verbrauch nur in Schritt 1

Befehl

Für eine Installation auf unmodifizierten Boxen siehe den Artikel Debian ohne Mod.

Aufruf

Auf AR7- und UR8-Modellen:

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

Auf AR9-, VR9- und Fusiv-Modellen:

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

Beispiele

Die Erst-Installation auf einer 7170 dauert etwas mehr als 2 Stunden, die sich mit ca. 45/75 Minuten hauptsächlich 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%.

Schritt 0 - Vorbereitung

Zuerst mal benötigt man eine FRITZ!Box mit USB-Host-Anschluss und genügend Arbeitsspeicher sowie einen USB-Massenspeicher mit geeignetem Dateisystem (z.B. EXT). Eine 7170 verfügt über 32MB RAM, was für die meisten Debian-Anwendungen (die ja zusätzlich zum normalen Box-Linux Speicher verbrauchen) kaum genügend Speicher bietet, also benötigen wir auch Swap.

Swap kann zwar auf USB-Sticks angelegt werden, jedoch altern diese dann sehr schnell und die Geschwindigkeit ist nicht berauschend. Wenn möglich sollte man daher eine externe Festplatte bevorzugen. Hat man keine zur Hand geht es zur Not auch mit nem Stick. Dazu erzeugt man am besten am Ende des Sticks 2 kleine Swap Partitionen (eine als Reserve) die nicht zu groß sein sollten. Faustformel: doppelter RAM-Speicher jeweils. Den verbleibenden Teil des Sticks formatiert man mit EXT2 oder EXT3.

Nun baut man sich ein Freetz mit EXT2 und EXT3 Support, debootstrap und dropbear und flasht es. Dann bootet man das neue Freetz, steckt dann erst den fertigen Stick ein, und kann bequem den Swap über das Webinterface aktivieren. Nun loggt man sich über SSH ein und dann kann's losgehen.

Schritt 1+2 für Faule

Wer ein AR7 oder UR8 Modell besitzt und 2 Stunden sparen will kann dies tun:

cd /var/media/ftp/uStor01
wget http://gpl.back2roots.org/binary/debian/debian-etch-mipsel.tar.gz
tar xfvz debian-etch-mipsel.tar.gz

Und weiter geht's dann in Schritt 3 - Update, ansonsten:

Schritt 1 - Download

7170-Installation - Schritt 1 - Pakete herunterladen - ca. 45 min

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

I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://archive.debian.org/debian...
I: Retrieving libacl1
I: Validating libacl1
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt-utils
I: Validating apt-utils
I: Retrieving apt
I: Validating apt
I: Retrieving aptitude
I: Validating aptitude
I: Retrieving libattr1
I: Validating libattr1
I: Retrieving base-files
I: Validating base-files
I: Retrieving base-passwd
I: Validating base-passwd
I: Retrieving bash
I: Validating bash
I: Retrieving bsdmainutils
I: Validating bsdmainutils
I: Retrieving libbz2-1.0
I: Validating libbz2-1.0
I: Retrieving libconsole
I: Validating libconsole
I: Retrieving coreutils
I: Validating coreutils
I: Retrieving cpio
I: Validating cpio
I: Retrieving cron
I: Validating cron
I: Retrieving libsasl2-2
I: Validating libsasl2-2
I: Retrieving libsasl2
I: Validating libsasl2
I: Retrieving libdb4.2
I: Validating libdb4.2
I: Retrieving libdb4.3
I: Validating libdb4.3
I: Retrieving libdb4.4
I: Validating libdb4.4
I: Retrieving debconf-i18n
I: Validating debconf-i18n
I: Retrieving debconf
I: Validating debconf
I: Retrieving debian-archive-keyring
I: Validating debian-archive-keyring
I: Retrieving debianutils
I: Validating debianutils
I: Retrieving libdevmapper1.02
I: Validating libdevmapper1.02
I: Retrieving dhcp3-client
I: Validating dhcp3-client
I: Retrieving dhcp3-common
I: Validating dhcp3-common
I: Retrieving diff
I: Validating diff
I: Retrieving dpkg
I: Validating dpkg
I: Retrieving dselect
I: Validating dselect
I: Retrieving e2fslibs
I: Validating e2fslibs
I: Retrieving e2fsprogs
I: Validating e2fsprogs
I: Retrieving libblkid1
I: Validating libblkid1
I: Retrieving libcomerr2
I: Validating libcomerr2
I: Retrieving libss2
I: Validating libss2
I: Retrieving libuuid1
I: Validating libuuid1
I: Retrieving ed
I: Validating ed
I: Retrieving findutils
I: Validating findutils
I: Retrieving gcc-4.1-base
I: Validating gcc-4.1-base
I: Retrieving libgcc1
I: Validating libgcc1
I: Retrieving libstdc++6
I: Validating libstdc++6
I: Retrieving libgdbm3
I: Validating libgdbm3
I: Retrieving libc6
I: Validating libc6
I: Retrieving gnupg
I: Validating gnupg
I: Retrieving gpgv
I: Validating gpgv
I: Retrieving libgnutls13
I: Validating libgnutls13
I: Retrieving grep
I: Validating grep
I: Retrieving groff-base
I: Validating groff-base
I: Retrieving gzip
I: Validating gzip
I: Retrieving hostname
I: Validating hostname
I: Retrieving ifupdown
I: Validating ifupdown
I: Retrieving iptables
I: Validating iptables
I: Retrieving iputils-ping
I: Validating iputils-ping
I: Retrieving laptop-detect
I: Validating laptop-detect
I: Retrieving logrotate
I: Validating logrotate
I: Retrieving lsb-base
I: Validating lsb-base
I: Retrieving liblzo1
I: Validating liblzo1
I: Retrieving libcap1
I: Validating libcap1
I: Retrieving libgcrypt11
I: Validating libgcrypt11
I: Retrieving libgpg-error0
I: Validating libgpg-error0
I: Retrieving liblocale-gettext-perl
I: Validating liblocale-gettext-perl
I: Retrieving libselinux1
I: Validating libselinux1
I: Retrieving libsepol1
I: Validating libsepol1
I: Retrieving libsigc++-2.0-0c2a
I: Validating libsigc++-2.0-0c2a
I: Retrieving libtasn1-3
I: Validating libtasn1-3
I: Retrieving libtext-charwidth-perl
I: Validating libtext-charwidth-perl
I: Retrieving libtext-iconv-perl
I: Validating libtext-iconv-perl
I: Retrieving libtext-wrapi18n-perl
I: Validating libtext-wrapi18n-perl
I: Retrieving libusb-0.1-4
I: Validating libusb-0.1-4
I: Retrieving makedev
I: Validating makedev
I: Retrieving man-db
I: Validating man-db
I: Retrieving manpages
I: Validating manpages
I: Retrieving mawk
I: Validating mawk
I: Retrieving mktemp
I: Validating mktemp
I: Retrieving module-init-tools
I: Validating module-init-tools
I: Retrieving nano
I: Validating nano
I: Retrieving libncurses5
I: Validating libncurses5
I: Retrieving libncursesw5
I: Validating libncursesw5
I: Retrieving ncurses-base
I: Validating ncurses-base
I: Retrieving ncurses-bin
I: Validating ncurses-bin
I: Retrieving net-tools
I: Validating net-tools
I: Retrieving netbase
I: Validating netbase
I: Retrieving netcat
I: Validating netcat
I: Retrieving libnewt0.52
I: Validating libnewt0.52
I: Retrieving whiptail
I: Validating whiptail
I: Retrieving openbsd-inetd
I: Validating openbsd-inetd
I: Retrieving libopencdk8
I: Validating libopencdk8
I: Retrieving libldap2
I: Validating libldap2
I: Retrieving libssl0.9.8
I: Validating libssl0.9.8
I: Retrieving libpam-modules
I: Validating libpam-modules
I: Retrieving libpam-runtime
I: Validating libpam-runtime
I: Retrieving libpam0g
I: Validating libpam0g
I: Retrieving perl-base
I: Validating perl-base
I: Retrieving libpopt0
I: Validating libpopt0
I: Retrieving procps
I: Validating procps
I: Retrieving libreadline5
I: Validating libreadline5
I: Retrieving readline-common
I: Validating readline-common
I: Retrieving sed
I: Validating sed
I: Retrieving login
I: Validating login
I: Retrieving passwd
I: Validating passwd
I: Retrieving libslang2
I: Validating libslang2
I: Retrieving klogd
I: Validating klogd
I: Retrieving sysklogd
I: Validating sysklogd
I: Retrieving initscripts
I: Validating initscripts
I: Retrieving sysv-rc
I: Validating sysv-rc
I: Retrieving sysvinit-utils
I: Validating sysvinit-utils
I: Retrieving sysvinit
I: Validating sysvinit
I: Retrieving tar
I: Validating tar
I: Retrieving tasksel-data
I: Validating tasksel-data
I: Retrieving tasksel
I: Validating tasksel
I: Retrieving libwrap0
I: Validating libwrap0
I: Retrieving tcpd
I: Validating tcpd
I: Retrieving info
I: Validating info
I: Retrieving traceroute
I: Validating traceroute
I: Retrieving tzdata
I: Validating tzdata
I: Retrieving update-inetd
I: Validating update-inetd
I: Retrieving bsdutils
I: Validating bsdutils
I: Retrieving mount
I: Validating mount
I: Retrieving util-linux
I: Validating util-linux
I: Retrieving vim-common
I: Validating vim-common
I: Retrieving vim-tiny
I: Validating vim-tiny
I: Retrieving wget
I: Validating wget
I: Retrieving zlib1g
I: Validating zlib1g
I: Chosen extractor for .deb packages: ar
I: Extracting libacl1...
I: Extracting libattr1...
I: Extracting base-files...
I: Extracting base-passwd...
I: Extracting bash...
I: Extracting coreutils...
I: Extracting libdb4.3...
I: Extracting debconf-i18n...
I: Extracting debconf...
I: Extracting debianutils...
I: Extracting libdevmapper1.02...
I: Extracting diff...
I: Extracting dpkg...
I: Extracting dselect...
I: Extracting e2fslibs...
I: Extracting e2fsprogs...
I: Extracting libblkid1...
I: Extracting libcomerr2...
I: Extracting libss2...
I: Extracting libuuid1...
I: Extracting findutils...
I: Extracting gcc-4.1-base...
I: Extracting libgcc1...
I: Extracting libstdc++6...
I: Extracting libc6...
I: Extracting grep...
I: Extracting gzip...
I: Extracting hostname...
I: Extracting lsb-base...
I: Extracting libcap1...
I: Extracting liblocale-gettext-perl...
I: Extracting libselinux1...
I: Extracting libsepol1...
I: Extracting libtext-charwidth-perl...
I: Extracting libtext-iconv-perl...
I: Extracting libtext-wrapi18n-perl...
I: Extracting makedev...
I: Extracting mawk...
I: Extracting mktemp...
I: Extracting libncurses5...
I: Extracting ncurses-base...
I: Extracting ncurses-bin...
I: Extracting libpam-modules...
I: Extracting libpam-runtime...
I: Extracting libpam0g...
I: Extracting perl-base...
I: Extracting procps...
I: Extracting sed...
I: Extracting login...
I: Extracting passwd...
I: Extracting libslang2...
I: Extracting initscripts...
I: Extracting sysv-rc...
I: Extracting sysvinit-utils...
I: Extracting sysvinit...
I: Extracting tar...
I: Extracting tzdata...
I: Extracting bsdutils...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting zlib1g...

Schritt 2 - Installation

7170-Installation - Schritt 2 - Pakete installieren - ca. 75 min

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

I: Installing core packages...
I: Unpacking required packages...
I: Unpacking libacl1...
I: Unpacking libattr1...
I: Unpacking base-files...
I: Unpacking base-passwd...
I: Unpacking bash...
I: Unpacking coreutils...
I: Unpacking libdb4.3...
I: Unpacking debconf-i18n...
I: Unpacking debconf...
I: Unpacking debianutils...
I: Unpacking libdevmapper1.02...
I: Unpacking diff...
I: Unpacking dpkg...
I: Unpacking dselect...
I: Unpacking e2fslibs...
I: Unpacking e2fsprogs...
I: Unpacking libblkid1...
I: Unpacking libcomerr2...
I: Unpacking libss2...
I: Unpacking libuuid1...
I: Unpacking findutils...
I: Unpacking gcc-4.1-base...
I: Unpacking libgcc1...
I: Unpacking libstdc++6...
I: Unpacking libc6...
I: Unpacking grep...
I: Unpacking gzip...
I: Unpacking hostname...
I: Unpacking lsb-base...
I: Unpacking libcap1...
I: Unpacking liblocale-gettext-perl...
I: Unpacking libselinux1...
I: Unpacking libsepol1...
I: Unpacking libtext-charwidth-perl...
I: Unpacking libtext-iconv-perl...
I: Unpacking libtext-wrapi18n-perl...
I: Unpacking makedev...
I: Unpacking mawk...
I: Unpacking mktemp...
I: Unpacking libncurses5...
I: Unpacking ncurses-base...
I: Unpacking ncurses-bin...
I: Unpacking libpam-modules...
I: Unpacking libpam-runtime...
I: Unpacking libpam0g...
I: Unpacking perl-base...
I: Unpacking procps...
I: Unpacking sed...
I: Unpacking login...
I: Unpacking passwd...
I: Unpacking libslang2...
I: Unpacking initscripts...
I: Unpacking sysv-rc...
I: Unpacking sysvinit-utils...
I: Unpacking sysvinit...
I: Unpacking tar...
I: Unpacking tzdata...
I: Unpacking bsdutils...
I: Unpacking mount...
I: Unpacking util-linux...
I: Unpacking zlib1g...
I: Configuring required packages...
I: Configuring sysv-rc...
I: Configuring tzdata...
I: Configuring gcc-4.1-base...
I: Configuring libpam-runtime...
I: Configuring libc6...
I: Configuring libcap1...
I: Configuring mktemp...
I: Configuring libuuid1...
I: Configuring libpam0g...
I: Configuring bsdutils...
I: Configuring perl-base...
I: Configuring libsepol1...
I: Configuring tar...
I: Configuring zlib1g...
I: Configuring libgcc1...
I: Configuring libtext-iconv-perl...
I: Configuring libncurses5...
I: Configuring libattr1...
I: Configuring sed...
I: Configuring e2fslibs...
I: Configuring base-passwd...
I: Configuring libcomerr2...
I: Configuring mawk...
I: Configuring libdb4.3...
I: Configuring grep...
I: Configuring hostname...
I: Configuring libacl1...
I: Configuring libslang2...
I: Configuring libss2...
I: Configuring findutils...
I: Configuring liblocale-gettext-perl...
I: Configuring diff...
I: Configuring libselinux1...
I: Configuring libstdc++6...
I: Configuring libdevmapper1.02...
I: Configuring libtext-charwidth-perl...
I: Configuring libtext-wrapi18n-perl...
I: Configuring coreutils...
I: Configuring debianutils...
I: Configuring makedev...
I: Configuring ncurses-base...
I: Configuring ncurses-bin...
I: Configuring libpam-modules...
I: Configuring base-files...
I: Configuring libblkid1...
I: Configuring e2fsprogs...
I: Configuring gzip...
I: Configuring dpkg...
I: Configuring dselect...
I: Configuring sysvinit-utils...
I: Configuring bash...
I: Configuring login...
I: Configuring lsb-base...
I: Configuring procps...
I: Configuring mount...
I: Configuring passwd...
I: Configuring initscripts...
I: Configuring util-linux...
I: Configuring sysvinit...
I: Configuring debconf-i18n...
I: Configuring debconf...
I: Unpacking the base system...
I: Unpacking adduser...
I: Unpacking apt-utils...
I: Unpacking apt...
I: Unpacking aptitude...
I: Unpacking bsdmainutils...
I: Unpacking libbz2-1.0...
I: Unpacking libconsole...
I: Unpacking cpio...
I: Unpacking cron...
I: Unpacking libsasl2-2...
I: Unpacking libsasl2...
I: Unpacking libdb4.2...
I: Unpacking libdb4.4...
I: Unpacking debian-archive-keyring...
I: Unpacking dhcp3-client...
I: Unpacking dhcp3-common...
I: Unpacking ed...
I: Unpacking libgdbm3...
I: Unpacking gnupg...
I: Unpacking gpgv...
I: Unpacking libgnutls13...
I: Unpacking groff-base...
I: Unpacking ifupdown...
I: Unpacking iptables...
I: Unpacking iputils-ping...
I: Unpacking laptop-detect...
I: Unpacking logrotate...
I: Unpacking liblzo1...
I: Unpacking libgcrypt11...
I: Unpacking libgpg-error0...
I: Unpacking libsigc++-2.0-0c2a...
I: Unpacking libtasn1-3...
I: Unpacking libusb-0.1-4...
I: Unpacking man-db...
I: Unpacking manpages...
I: Unpacking module-init-tools...
I: Unpacking nano...
I: Unpacking libncursesw5...
I: Unpacking net-tools...
I: Unpacking netbase...
I: Unpacking netcat...
I: Unpacking libnewt0.52...
I: Unpacking whiptail...
I: Unpacking openbsd-inetd...
I: Unpacking libopencdk8...
I: Unpacking libldap2...
I: Unpacking libssl0.9.8...
I: Unpacking libpopt0...
I: Unpacking libreadline5...
I: Unpacking readline-common...
I: Unpacking klogd...
I: Unpacking sysklogd...
I: Unpacking tasksel-data...
I: Unpacking tasksel...
I: Unpacking libwrap0...
I: Unpacking tcpd...
I: Unpacking info...
I: Unpacking traceroute...
I: Unpacking update-inetd...
I: Unpacking vim-common...
I: Unpacking vim-tiny...
I: Unpacking wget...
I: Configuring the base system...
I: Configuring laptop-detect...
I: Configuring gpgv...
I: Configuring module-init-tools...
I: Configuring libgdbm3...
I: Configuring libtasn1-3...
I: Configuring libpopt0...
I: Configuring libusb-0.1-4...
I: Configuring libgpg-error0...
I: Configuring update-inetd...
I: Configuring libssl0.9.8...
I: Configuring vim-common...
I: Configuring adduser...
I: Configuring traceroute...
I: Configuring manpages...
I: Configuring ed...
I: Configuring liblzo1...
I: Configuring wget...
I: Configuring groff-base...
I: Configuring libnewt0.52...
I: Configuring libdb4.2...
I: Configuring libdb4.4...
I: Configuring net-tools...
I: Configuring libsasl2-2...
I: Configuring bsdmainutils...
I: Configuring libsigc++-2.0-0c2a...
I: Configuring libncursesw5...
I: Configuring info...
I: Configuring iputils-ping...
I: Configuring libbz2-1.0...
I: Configuring cron...
I: Configuring libsasl2...
I: Configuring nano...
I: Configuring dhcp3-common...
I: Configuring libconsole...
I: Configuring iptables...
I: Configuring cpio...
I: Configuring vim-tiny...
I: Configuring readline-common...
I: Configuring libwrap0...
I: Configuring netcat...
I: Configuring tcpd...
I: Configuring man-db...
I: Configuring libgcrypt11...
I: Configuring whiptail...
I: Configuring ifupdown...
I: Configuring dhcp3-client...
I: Configuring openbsd-inetd...
I: Configuring libreadline5...
I: Configuring logrotate...
I: Configuring libopencdk8...
I: Configuring libgnutls13...
I: Configuring libldap2...
I: Configuring netbase...
I: Configuring gnupg...
I: Configuring debian-archive-keyring...
I: Configuring apt...
I: Configuring aptitude...
I: Configuring apt-utils...
I: Configuring klogd...
I: Configuring tasksel-data...
I: Configuring sysklogd...
I: Configuring tasksel...
I: Base system installed successfully.

Schritt 3 - Update

7170-Installation - Schritt 3 - Installation aktualisieren - ca. 5 min (nach Installation zumindest)

In Debian chrooted man nun so:

$ mount -t proc proc /var/media/ftp/uStor01/debian/proc
$ chroot /var/media/ftp/uStor01/debian bash
root@fritz:/#

Nun sind wir in Debian und müssen erst mal prüfen ob ein Repository eingetragen ist:

root@fritz:/# nano /etc/apt/sources.list 

Sollte die Liste leer sein dann folgene Zeilen eintragen und abspeichern:

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

Nun können wir die Paketlisten aktualisieren:

root@fritz:/# apt-get update

Get:1 http://archive.debian.org etch Release.gpg [1033B]
Get:2 http://archive.debian.org etch Release [67.8kB]
Get:3 http://archive.debian.org etch/main Packages [5325kB]
Get:4 http://archive.debian.org etch/non-free Packages [67.4kB]                                                 
Get:5 http://archive.debian.org etch/contrib Packages [51.7kB]                                                  
Get:6 http://archive.debian.org etch/main Sources [1654kB]                                                      
Get:7 http://archive.debian.org etch/non-free Sources [33.0kB]                                                  
Get:8 http://archive.debian.org etch/contrib Sources [21.0kB]                                                   
Fetched 7221kB in 3m22s (35.7kB/s)                                                                              
Reading package lists... Done

Da wir gerade installiert haben wird es wohl kaum etwas zu aktualisieren geben:

root@fritz:/# apt-get upgrade

Reading package lists... Done
Building dependency tree... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Fertig - nun haben wir ein "top aktuelles" uraltes Debian etch.

Siehe auch

Personal tools