Configurez un stockage USB
Configurer un stockage USB
La les routeurs TP-LINK n'ont q'un espace de quelques méga-octets en flash (4Mo). Il est donc fort difficile d'installer autre chose que le système de base.
Detecter une clef USB sur la PirateBox
- Prérequis : les packages suivants doivent être installés (avec la commande opkg install):
- kmod-usb-storage
- kmod-usb-storage-extras
- kmod-fs-ext4 (pour une clef formatée en ext3 ou ext4)
- block-mount
- Si vous voulez monter un clef fat32 il faut ajouter ces paquets :
- kmod-fs-vfat
- kmod-nls-cp437
- kmod-nls-iso8859-1
- Verifier que la pirateBox detecte la clef USB : tapez dmesg et chercher un truc du genre
[ 10.780000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 10.920000] uhci_hcd: USB Universal Host Controller Interface driver [ 11.110000] Initializing USB Mass Storage driver... [ 11.120000] usbcore: registered new interface driver usb-storage [ 11.120000] USB Mass Storage support registered. [ 11.140000] scsi0 : usb-storage 1-1:1.0 [ 12.560000] scsi 0:0:0:0: Direct-Access General USB Flash Disk 1100 PQ: 0 ANSI: 0 CCS [ 12.600000] sd 0:0:0:0: [sda] 7876224 512-byte logical blocks: (4.03 GB/3.75 GiB) [ 12.620000] sd 0:0:0:0: [sda] Write Protect is off [ 12.620000] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00 [ 12.640000] sd 0:0:0:0: [sda] No Caching mode page present [ 12.640000] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 12.780000] sd 0:0:0:0: [sda] No Caching mode page present [ 12.780000] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 12.800000] sda: sda1 [ 12.800000] sd 0:0:0:0: [sda] No Caching mode page present [ 12.810000] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 12.810000] sd 0:0:0:0: [sda] Attached SCSI removable disk
- Montez la clef USB:
mkdir -p /mnt/usb
- Pour ext4
mount -t ext4 /dev/sda1 /mnt/usb -o rw,sync
- Pour fat32
mount -t vfat /dev/sda1 /mnt/usb
- Testez:
cd /mnt/usb touch deleteme
Overlay : quesako ?
L'idée est de monter un espace de stockage en 'overlay' : Imaginez que votre système (flash) de base soit un desin, ajoutez par dessus un calque (overlay) d'une plus grande taille. Vous avez votre système accessible, mais si vous voulez y ajouter des programmes, pas de souci, ils s'installeront sur le calque, tout est ainsi ... transparent !
Dans le cas de notre routeur ?
De base l'overlay est le root lui même, donc pas très utile.
- Modifier le fichier /etc/config/fstab : on y ajoute
config 'mount'
option target /overlay
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0
Du coup, au prochain redémarrage, notre overlay pointe vers /dev/sda1 (notre device USB, chemin à adapter en fonction des cas). Un "df" devrait vous donner un "/" et un "/overlay" de la même taille, celle de votre clé USB :
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 1962212 65100 1798716 3% /
/dev/root 1536 1536 0 100% /rom
tmpfs 14600 72 14528 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/sda1 1962212 65100 1798716 3% /overlay
overlayfs:/overlay 1962212 65100 1798716 3% /
Un problème ?
Overlay disabled
Il se peut, site à un sysupgrade que l'overlay refuse de se monter sur le stockage usb. Pour vérifier:
df
si s'affiche un truc du genre:
/dev/sda1 1962212 65100 1798716 3% /tmp/overlay-disabled
Pas de panique ! Il suffit de reinitilaiser le checksum du extroot:
cp /.extroot.md5sum /tmp/overlay-disabled/etc/extroot.md5sum reboot
Overlay mounted in RAM
Il se peut, encore, que votre overlay soit monté en RAM, en gros vosu avez beau modifier un fichier de conf (genre /etc/config/fstab) et au reboot, rien de changé ! C'est simple, le firmware que vous avez flashé est trop gros ! En gros si la taille de l'image sysupgrade est > 3.4 MB, ca risque de planter...
pour vérifier, après avoir flashé le firmware :
root@OpenWrt:~# df -h Filesystem Size Used Available Use% Mounted on rootfs 14.4M 112.0K 14.3M 1% / /dev/root 2.8M 2.8M 0 100% /rom tmpfs 14.4M 148.0K 14.2M 1% /tmp tmpfs 512.0K 0 512.0K 0% /dev root 14.4M 112.0K 14.3M 1% /tmp/root overlayfs:/tmp/root 14.4M 112.0K 14.3M 1% /
L'overlay est monté en /tmp/root -> tmpfs ! En RAM !