Ik heb hier een Linksys - NSLU2 / Slug staan. Daar heb ik Debian (Etch) op draaien via een externe USB-harddisk. Dat werkt allemaal als een tierelier, incl. NFS, Samba, CUPS en Sane over mijn huisnetwerk.
Nu heb ik nog het volgende probleem waar ik niet uit kom:
Als ik een tweede USB-schijf aan het apparaat hang dan start de boel niet altijd op. Dat is een bekend probleem en komt omdat bij opstarten van het apparaat telkens opnieuw en min of meer toevallig bepaald wordt wat /dev/sda en /dev/sdb wordt. En aangezien rootfs op /dev/sda1 staat gaat het natuurlijk mis als /dev/sda opeens /dev/sdb is:
http://www.nslu2-linux.org/wiki/Debian/TroubleShooting
Er zouden diverse oplossingen mogelijk moeten zijn, maar ik kom er niet uit. Ik heb het volgende vergeefs geprobeerd:
1) Ik mount de filesystems via fstab al a.h.v. labels (heb ook UUID's geprobeerd):
http://www.nslu2-linux.org/wiki/HowTo/MountDisksByLabel
Mijn /etc/fstab:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda1
/dev/disk/by-uuid/b61f1802-6319-4722-8d87-186b4dc7553b / ext3 defaults,errors=remount-ro 0 1
#/dev/sda2
/dev/disk/by-uuid/ec23fa19-7af3-468a-af6a-9417320bbb90 /mnt/data ext3 defaults 0 0
#/dev/sda3
UUID=f33a6a3a-e42f-4bac-9cff-cd88c2ed0b0d none swap sw 0 0
#/dev/sdb1
UUID=7b6d8ec4-0656-4f9f-b65c-c72b01da63a5 /mnt/Seadisk ext3 defaults 0 0
2) Ook geef ik via initrd inmiddels de rootfs-UUID mee:
cat /etc/initramfs-tools/conf.d/my-root-device-hack
ROOT=/dev/disk/by-uuid/b61f1802-6319-4722-8d87-186b4dc7553b
Volgens de documentatie zou met name [2] toch echt moeten werken, maar helaas start het apparaat nog steeds niet altijd op als er twee USB-schuiven aanhangen.
Er rest nog een derde (laatste?) mogelijkheid (waar ik zo mijn twijfels over heb, want die tweede oplossing via initrd is volgens mij niet wezenlijk anders) en dat is expliciet een root parameter meegeven aan de bootloader m.b.v. APEX. Maar aangezien daarvoor ook weer geflashed moet worden vind ik het nogal tricky want de documentatie erover snap ik niet goed:
http://www.nslu2-linux.or...n/ChangeKernelCommandLine
Heeft iemand al eens met dit bijltje gehakt? Of het hierboven beschreven probleem op een andere manier opgelost?
Nu heb ik nog het volgende probleem waar ik niet uit kom:
Als ik een tweede USB-schijf aan het apparaat hang dan start de boel niet altijd op. Dat is een bekend probleem en komt omdat bij opstarten van het apparaat telkens opnieuw en min of meer toevallig bepaald wordt wat /dev/sda en /dev/sdb wordt. En aangezien rootfs op /dev/sda1 staat gaat het natuurlijk mis als /dev/sda opeens /dev/sdb is:
http://www.nslu2-linux.org/wiki/Debian/TroubleShooting
Er zouden diverse oplossingen mogelijk moeten zijn, maar ik kom er niet uit. Ik heb het volgende vergeefs geprobeerd:
1) Ik mount de filesystems via fstab al a.h.v. labels (heb ook UUID's geprobeerd):
http://www.nslu2-linux.org/wiki/HowTo/MountDisksByLabel
Mijn /etc/fstab:
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda1
/dev/disk/by-uuid/b61f1802-6319-4722-8d87-186b4dc7553b / ext3 defaults,errors=remount-ro 0 1
#/dev/sda2
/dev/disk/by-uuid/ec23fa19-7af3-468a-af6a-9417320bbb90 /mnt/data ext3 defaults 0 0
#/dev/sda3
UUID=f33a6a3a-e42f-4bac-9cff-cd88c2ed0b0d none swap sw 0 0
#/dev/sdb1
UUID=7b6d8ec4-0656-4f9f-b65c-c72b01da63a5 /mnt/Seadisk ext3 defaults 0 0
2) Ook geef ik via initrd inmiddels de rootfs-UUID mee:
cat /etc/initramfs-tools/conf.d/my-root-device-hack
ROOT=/dev/disk/by-uuid/b61f1802-6319-4722-8d87-186b4dc7553b
Volgens de documentatie zou met name [2] toch echt moeten werken, maar helaas start het apparaat nog steeds niet altijd op als er twee USB-schuiven aanhangen.
Er rest nog een derde (laatste?) mogelijkheid (waar ik zo mijn twijfels over heb, want die tweede oplossing via initrd is volgens mij niet wezenlijk anders) en dat is expliciet een root parameter meegeven aan de bootloader m.b.v. APEX. Maar aangezien daarvoor ook weer geflashed moet worden vind ik het nogal tricky want de documentatie erover snap ik niet goed:
http://www.nslu2-linux.or...n/ChangeKernelCommandLine
Heeft iemand al eens met dit bijltje gehakt? Of het hierboven beschreven probleem op een andere manier opgelost?