DroboFS firmware - droboports/droboports.github.io GitHub Wiki
Uname
# uname -a
Linux DroboFS 2.6.22.18 #1 Wed May 22 16:43:02 PDT 2013 armv5tejl GNU/Linux
# cat /proc/version
Linux version 2.6.22.18 (root@jwinfield01) (gcc version 4.2.0 20070413 (prerelease)) #1 Wed May 22 16:43:02 PDT 2013
Libraries
# /lib/libc-2.5.so
GNU C Library stable release version 2.5, by Roland McGrath et al.
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.2.0 20070413 (prerelease).
Compiled on a Linux >>2.6.17-12-generic<< system on 2007-10-15.
Available extensions:
crypt add-on version 2.1 by Michael Glad and others
GNU Libidn by Simon Josefsson
GNU libio by Per Bothner
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Native POSIX Threads Library by Ulrich Drepper et al
Support for some architectures added on, not maintained in glibc core.
BIND-8.2.3-T5B
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
# grep "^GLIBCXX" /usr/lib/libstdc++.so.6.0.9
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_FORCE_NEW
GLIBCXX_3.4.9
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4
GLIBCXX_3.4.5
GLIBCXX_3.4.1
GLIBCXX_3.4.4
GLIBCXX_3.4.2
GLIBCXX_3.4.3
# grep "^GLIBC" /usr/lib/libgcc_s.so.1
GLIBC_2.0
GLIBC_2.4
GLIBC_2.0
# ls -la /lib/
drwxr-xr-x 4 root root 0 Mar 12 2010 .
drwxr-xr-x 16 root root 0 Jan 1 1970 ..
-rwxr-xr-x 1 root root 143016 Jan 20 2009 ld-2.5.so
lrwxrwxrwx 1 root root 9 May 22 2013 ld-linux.so.3 -> ld-2.5.so
-rwxr-xr-x 1 root root 14419 Jan 20 2009 libanl-2.5.so
lrwxrwxrwx 1 root root 13 May 22 2013 libanl.so.1 -> libanl-2.5.so
lrwxrwxrwx 1 root root 24 May 22 2013 libavahi-common.so -> libavahi-common.so.3.5.1
lrwxrwxrwx 1 root root 24 May 22 2013 libavahi-common.so.3 -> libavahi-common.so.3.5.1
-rwxr-xr-x 1 root root 156128 Mar 9 2010 libavahi-common.so.3.5.1
lrwxrwxrwx 1 root root 22 May 22 2013 libavahi-core.so -> libavahi-core.so.6.0.1
lrwxrwxrwx 1 root root 22 May 22 2013 libavahi-core.so.6 -> libavahi-core.so.6.0.1
-rwxr-xr-x 1 root root 692659 Mar 9 2010 libavahi-core.so.6.0.1
lrwxrwxrwx 1 root root 13 May 22 2013 libblkid.so -> libblkid.so.1
lrwxrwxrwx 1 root root 15 May 22 2013 libblkid.so.1 -> libblkid.so.1.0
-rwxr-xr-x 1 root root 162142 Dec 15 2009 libblkid.so.1.0
-rwxr-xr-x 1 root root 7669 Jan 20 2009 libBrokenLocale-2.5.so
lrwxrwxrwx 1 root root 22 May 22 2013 libBrokenLocale.so.1 -> libBrokenLocale-2.5.so
-rwxr-xr-x 1 root root 1481034 Jan 20 2009 libc-2.5.so
lrwxrwxrwx 1 root root 19 May 22 2013 libcharset.so -> libcharset.so.1.0.0
lrwxrwxrwx 1 root root 19 May 22 2013 libcharset.so.1 -> libcharset.so.1.0.0
-rwxr-xr-x 1 root root 28741 Mar 12 2010 libcharset.so.1.0.0
-rwxr-xr-x 1 root root 192366 Jan 20 2009 libcidn-2.5.so
lrwxrwxrwx 1 root root 14 May 22 2013 libcidn.so.1 -> libcidn-2.5.so
lrwxrwxrwx 1 root root 15 May 22 2013 libcom_err.so -> libcom_err.so.2
lrwxrwxrwx 1 root root 17 May 22 2013 libcom_err.so.2 -> libcom_err.so.2.1
-rwxr-xr-x 1 root root 28816 Dec 15 2009 libcom_err.so.2.1
-rwxr-xr-x 1 root root 26660 Jan 20 2009 libcrypt-2.5.so
lrwxrwxrwx 1 root root 18 May 22 2013 libcrypto.so -> libcrypto.so.0.9.8
-rwxr-xr-x 1 root root 1558687 Apr 9 2010 libcrypto.so.0.9.8
lrwxrwxrwx 1 root root 15 May 22 2013 libcrypt.so.1 -> libcrypt-2.5.so
lrwxrwxrwx 1 root root 11 May 22 2013 libc.so.6 -> libc-2.5.so
lrwxrwxrwx 1 root root 18 May 22 2013 libdaemon.so -> libdaemon.so.0.5.0
lrwxrwxrwx 1 root root 18 May 22 2013 libdaemon.so.0 -> libdaemon.so.0.5.0
-rwxr-xr-x 1 root root 61009 Mar 9 2010 libdaemon.so.0.5.0
-rwxrwxr-x 1 root root 1492066 Mar 9 2010 libdb-4.8.so
lrwxrwxrwx 1 root root 12 May 22 2013 libdb-4.so -> libdb-4.8.so
lrwxrwxrwx 1 root root 12 May 22 2013 libdb.so -> libdb-4.8.so
-rwxr-xr-x 1 root root 14593 Jan 20 2009 libdl-2.5.so
lrwxrwxrwx 1 root root 12 May 22 2013 libdl.so.2 -> libdl-2.5.so
lrwxrwxrwx 1 root root 11 May 22 2013 libe2p.so -> libe2p.so.2
lrwxrwxrwx 1 root root 13 May 22 2013 libe2p.so.2 -> libe2p.so.2.3
-rwxr-xr-x 1 root root 89145 Dec 15 2009 libe2p.so.2.3
lrwxrwxrwx 1 root root 17 May 22 2013 libexpat.so -> libexpat.so.1.5.2
lrwxrwxrwx 1 root root 17 May 22 2013 libexpat.so.1 -> libexpat.so.1.5.2
-rwxr-xr-x 1 root root 320353 Mar 9 2010 libexpat.so.1.5.2
lrwxrwxrwx 1 root root 14 May 22 2013 libext2fs.so -> libext2fs.so.2
lrwxrwxrwx 1 root root 16 May 22 2013 libext2fs.so.2 -> libext2fs.so.2.4
-rwxr-xr-x 1 root root 806302 Dec 15 2009 libext2fs.so.2.4
-rwxr-xr-x 1 root root 44863 Jan 20 2009 libgcc_s_softfp.so.1
lrwxrwxrwx 1 root root 19 May 22 2013 libgcrypt.so -> libgcrypt.so.11.5.3
lrwxrwxrwx 1 root root 19 May 22 2013 libgcrypt.so.11 -> libgcrypt.so.11.5.3
-rwxr-xr-x 1 root root 1407533 Mar 9 2010 libgcrypt.so.11.5.3
lrwxrwxrwx 1 root root 21 May 22 2013 libgpg-error.so -> libgpg-error.so.0.5.0
lrwxrwxrwx 1 root root 21 May 22 2013 libgpg-error.so.0 -> libgpg-error.so.0.5.0
-rwxr-xr-x 1 root root 42225 Mar 9 2010 libgpg-error.so.0.5.0
lrwxrwxrwx 1 root root 17 May 22 2013 libiconv.so -> libiconv.so.2.5.0
lrwxrwxrwx 1 root root 17 May 22 2013 libiconv.so.2 -> libiconv.so.2.5.0
-rwxr-xr-x 1 root root 1193953 Mar 12 2010 libiconv.so.2.5.0
lrwxrwxrwx 1 root root 20 May 22 2013 libipworksssl.so -> libipworksssl.so.8.0
lrwxrwxrwx 1 root root 20 May 22 2013 libipworksssl.so.8 -> libipworksssl.so.8.0
-rwxr-xr-x 1 root root 2289540 Apr 9 2010 libipworksssl.so.8.0
-rwxr-xr-x 1 root root 739248 Jan 20 2009 libm-2.5.so
-rwxr-xr-x 1 root root 22183 Jan 20 2009 libmemusage.so
lrwxrwxrwx 1 root root 11 May 22 2013 libm.so.6 -> libm-2.5.so
-rwxr-xr-x 1 root root 96602 Jan 20 2009 libnsl-2.5.so
lrwxrwxrwx 1 root root 13 May 22 2013 libnsl.so.1 -> libnsl-2.5.so
-rwxr-xr-x 1 root root 37742 Jan 20 2009 libnss_compat-2.5.so
lrwxrwxrwx 1 root root 20 May 22 2013 libnss_compat.so.2 -> libnss_compat-2.5.so
-rwxr-xr-x 1 root root 22010 Jan 20 2009 libnss_dns-2.5.so
lrwxrwxrwx 1 root root 17 May 22 2013 libnss_dns.so.2 -> libnss_dns-2.5.so
-rwxr-xr-x 1 root root 49532 Jan 20 2009 libnss_files-2.5.so
lrwxrwxrwx 1 root root 19 May 22 2013 libnss_files.so.2 -> libnss_files-2.5.so
-rwxr-xr-x 1 root root 22903 Jan 20 2009 libnss_hesiod-2.5.so
lrwxrwxrwx 1 root root 20 May 22 2013 libnss_hesiod.so.2 -> libnss_hesiod-2.5.so
-rwxr-xr-x 1 root root 48892 Jan 20 2009 libnss_nis-2.5.so
-rwxr-xr-x 1 root root 58241 Jan 20 2009 libnss_nisplus-2.5.so
lrwxrwxrwx 1 root root 21 May 22 2013 libnss_nisplus.so.2 -> libnss_nisplus-2.5.so
lrwxrwxrwx 1 root root 17 May 22 2013 libnss_nis.so.2 -> libnss_nis-2.5.so
lrwxrwxrwx 1 root root 22 May 22 2013 libparted-1.9.so.0 -> libparted-1.9.so.0.0.0
-rwxr-xr-x 1 root root 953929 Sep 4 2009 libparted-1.9.so.0.0.0
lrwxrwxrwx 1 root root 22 May 22 2013 libparted.so -> libparted-1.9.so.0.0.0
-rwxr-xr-x 1 root root 7889 Jan 20 2009 libpcprofile.so
-rwxr-xr-x 1 root root 125515 Jan 20 2009 libpthread-2.5.so
lrwxrwxrwx 1 root root 17 May 22 2013 libpthread.so.0 -> libpthread-2.5.so
-rwxr-xr-x 1 root root 76017 Jan 20 2009 libresolv-2.5.so
lrwxrwxrwx 1 root root 16 May 22 2013 libresolv.so.2 -> libresolv-2.5.so
-rwxr-xr-x 1 root root 38251 Jan 20 2009 librt-2.5.so
lrwxrwxrwx 1 root root 12 May 22 2013 librt.so.1 -> librt-2.5.so
lrwxrwxrwx 1 root root 16 May 22 2013 libscew.so -> libscew.so.1.0.2
lrwxrwxrwx 1 root root 16 May 22 2013 libscew.so.1 -> libscew.so.1.0.2
-rwxr-xr-x 1 root root 124463 Jan 19 2010 libscew.so.1.0.2
-rwxr-xr-x 1 root root 12624 Jan 20 2009 libSegFault.so
lrwxrwxrwx 1 root root 15 May 22 2013 libssl.so -> libssl.so.0.9.8
-rwxr-xr-x 1 root root 315087 Apr 9 2010 libssl.so.0.9.8
lrwxrwxrwx 1 root root 14 May 22 2013 libtalloc.so -> libtalloc.so.1
-rwxr-xr-x 1 root root 94285 Feb 5 2010 libtalloc.so.1
lrwxrwxrwx 1 root root 11 May 22 2013 libtdb.so -> libtdb.so.1
-rwxr-xr-x 1 root root 116364 Feb 5 2010 libtdb.so.1
-rwxr-xr-x 1 root root 33815 Jan 20 2009 libthread_db-1.0.so
lrwxrwxrwx 1 root root 19 May 22 2013 libthread_db.so.1 -> libthread_db-1.0.so
-rwxr-xr-x 1 root root 13428 Jan 20 2009 libutil-2.5.so
lrwxrwxrwx 1 root root 14 May 22 2013 libutil.so.1 -> libutil-2.5.so
lrwxrwxrwx 1 root root 14 May 22 2013 libuuid.so -> libuuid.so.1.2
lrwxrwxrwx 1 root root 14 May 22 2013 libuuid.so.1 -> libuuid.so.1.2
-rwxr-xr-x 1 root root 71625 Sep 4 2009 libuuid.so.1.2
lrwxrwxrwx 1 root root 16 May 22 2013 libwbclient.so -> libwbclient.so.0
-rwxr-xr-x 1 root root 100365 Sep 9 2009 libwbclient.so.0
lrwxrwxrwx 1 root root 15 May 22 2013 libz.so -> libz.so.1.2.3.4
lrwxrwxrwx 1 root root 15 May 22 2013 libz.so.1 -> libz.so.1.2.3.4
-rwxr-xr-x 1 root root 82124 Apr 9 2010 libz.so.1.2.3.4
drwxr-xr-x 2 root root 0 Jan 20 2009 modules
drwxr-xr-x 2 root root 0 Mar 12 2010 vfs
# ls -la /usr/lib/
drwxr-xr-x 2 root root 0 Nov 9 11:41 .
drwxr-xr-x 6 root root 0 Nov 9 11:41 ..
lrwxrwxrwx 1 root root 13 May 22 2013 libgcc_s.so -> libgcc_s.so.1
-rw-r--r-- 1 root root 65824 Jan 20 2009 libgcc_s.so.1
lrwxrwxrwx 1 root root 18 May 22 2013 libstdc++.so -> libstdc++.so.6.0.9
lrwxrwxrwx 1 root root 18 May 22 2013 libstdc++.so.6 -> libstdc++.so.6.0.9
-rwxr-xr-x 1 root root 1196727 Jan 20 2009 libstdc++.so.6.0.9
Partitions and filesystems
# cat /proc/partitions
major minor #blocks name
31 0 3072 mtdblock0
31 1 21504 mtdblock1
31 2 2048 mtdblock2
8 0 17179869184 sda
8 1 17174804671 sda1
8 2 3906250 sda2
# cat /etc/fstab
proc /proc proc defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / jffs2 rw 0 0
proc /proc proc rw 0 0
devpts /dev/pts devpts rw 0 0
none /sys sysfs rw 0 0
/dev/shm /dev/shm tmpfs rw 0 0
/dev/mtdblock/2 /var jffs2 rw 0 0
/dev/sda1 /mnt/DroboFS ext3 rw,noatime,nodiratime,data=ordered 0 0
tmpfs /tmp tmpfs rw 0 0
/dev/sda1 /root ext3 rw,noatime,nodiratime,data=ordered 0 0
/dev/sda1 /home ext3 rw,noatime,nodiratime,data=ordered 0 0
Note: There is no tmpfs on /tmp. Shares created using the Dashboard are located under /mnt/DroboFS/Shares
.
Layout of flash memory
/dev/mtdblock/0
is not a partition ('mount -t jffs2' fails), maybe kernel?/dev/mtdblock/1
is mounted by the boot loader, and contains the root partition./dev/mtdblock/2
is mounted from/etc/init.d/enable_var
.
How to dump the flash memory (/dev/mtdblock)
In an SSH session as root:
# dd if=/dev/mtdblock/0 of=/mnt/DroboFS/Shares/Public/mtdblock0
6144+0 records in
6144+0 records out
# dd if=/dev/mtdblock/1 of=/mnt/DroboFS/Shares/Public/mtdblock1
43008+0 records in
43008+0 records out
# dd if=/dev/mtdblock/2 of=/mnt/DroboFS/Shares/Public/mtdblock2
4096+0 records in
4096+0 records out
mtdblock0
is 3145728 bytes (3 MB), mtdblock1
is 22020096 bytes (21 MB), and mtdblock2
is 2097152 bytes (2 MB).
Mount sequence
/sys
and/dev/shm
are mounted from/etc/init.d/rcS
./proc
and/dev/pts
are in/etc/fstab
.mount -a
is called from/etc/init.d/rcS
./dev/sda1
is mounted by/usr/bin/nasd
, using the script/etc/init.d/mount_fs
.nasd
is called from/etc/init.d/rcS
.
Reading the DroboFS serial number
The serial number of the FS is contained in the file /sys/bus/dri_dnas_fake_bus/drivers/dri_dnas_scsi/serial