Stock Configuration (Home Media CE)

From NAS-Central Iomega Wiki
Jump to: navigation, search


This page documents the default configuration of the iomega Home Media Network Hard Drive Cloud Edition. It is based on information obtained from an analysis of the 2000 GB version.

Basic Hardware Data


The system contains a two-core ARM CPU:

 root@hmnhd-TI1S0O:/# cat /proc/cpuinfo
 Processor       : ARMv6-compatible processor rev 5 (v6l)
 processor       : 0
 BogoMIPS        : 239.20
 processor       : 1
 BogoMIPS        : 239.20
 Features        : swp half thumb fastmult edsp java
 CPU implementer : 0x41
 CPU architecture: 7
 CPU variant     : 0x0
 CPU part        : 0xb02
 CPU revision    : 5
 Hardware        : Oxsemi NAS
 Revision        : 0000
 Serial          : 0000000000000000


The device contains 256 MB RAM, so everything is as advertised :-)

 root@hmnhd-TI1S0O:/# cat /proc/meminfo
 MemTotal:         255652 kB
 MemFree:           26860 kB
 Buffers:            4660 kB
 Cached:           150192 kB
 SwapCached:            0 kB
 Active:            48304 kB
 Inactive:         131940 kB
 Active(anon):      27544 kB
 Inactive(anon):        0 kB
 Active(file):      20760 kB
 Inactive(file):   131940 kB
 Unevictable:           0 kB
 Mlocked:               0 kB
 SwapTotal:        524280 kB
 SwapFree:         524280 kB
 (output truncated)

Operating System

The OS appears to be based on Debian Lenny:

 root@hmnhd-TI1S0O:/# cat /etc/debian_version
 root@hmnhd-TI1S0O:/# cat /proc/version
 Linux version ( (gcc version 4.3.2 (crosstool-NG-1.3.1) ) #1 SMP Wed Feb 2 16:59:09 EST 2011

Swap is not provided by a swap partition but by a 512 MB file at /mnt/system/swapfile:

 root@hmnhd-TI1S0O:/# cat /proc/swaps
 Filename                                Type            Size    Used    Priority
 /mnt/system/swapfile                    file            524280  0       -1

Partitioning & File Systems

Partitions and 'unused space'

 root@hmnhd-TI1S0O:/# parted -l
 Model: ATA ST32000542AS (scsi)
 Disk /dev/sda: 2000GB
 Sector size (logical/physical): 512B/512B
 Partition Table: gpt
 Number  Start   End     Size    File system  Name     Flags
  1      33.6MB  21.5GB  21.5GB               primary  raid
  2      21.5GB  2000GB  1979GB               primary


start/sector MD VG LV size mount point content
0 512 Legacy MBR
1 1536 GPT Partition table
34 8736 Stage-1 Bootloader
154 103552 U-Boot
558 At least 608 U-Boot environment
1290 2189216 uImage kernel
16674 2787216 uImage initrd
57080 5 0x69 0xD3 0xAB 0x52 0x31
unknown - not Serial number, not the MAC address, same on all devices
57088 4640 Stage-1 Bootloader (2nd copy)
57208 103568 U-Boot (2nd copy)
58344 2189216 uImage kernel (2nd copy)
/dev/sda1 (65536) md0 md0_vg BFDlv 4GB /boot This volume mainly contains 3 files, apps, config and oem, which are loopmounted on the rootfs. apps contains a (small) linux rootfs, while config contains the contents of /etc. oem contains branding info, and is small (+/-50k).
vol1 16GB /mnt/system Seems to contain all stuff which is not in a bare linux rootfs
/dev/sda2 (42008584) md1 abcdef01_vg lv12345678 rest /mnt/pools/A/A0 Contains the user data

All uImage kernel and initrd images must not be larger than 5700 blocks (2918400 bytes).

Logical volumes

 root@hmnhd-TI1S0O:/# lvdisplay
 --- Logical volume ---
 LV Name                /dev/195084d1_vg/lv31f1fb79
 VG Name                195084d1_vg
 LV UUID                BiT0fL-lbEA-rvaK-H9nQ-fuPA-Akft-cIV1Uj
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                1.80 TB
 Current LE             471804
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:2
 --- Logical volume ---
 LV Name                /dev/md0_vg/BFDlv
 VG Name                md0_vg
 LV UUID                58fZkD-nNrr-n04Q-8xIo-6xra-9Tt7-S0sz9O
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                4.00 GB
 Current LE             1024
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:0
 --- Logical volume ---
 LV Name                /dev/md0_vg/vol1
 VG Name                md0_vg
 LV UUID                QXYKuD-V3v7-jOyp-AAPr-6D3G-dlX5-TMPmEw
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                16.00 GB
 Current LE             4095
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:1

File Systems

 root@hmnhd-TI1S0O:/# df -hP
 Filesystem            Size  Used Avail Use% Mounted on
 rootfs                 50M  2.1M   48M   5% /
 /dev/root.old         6.5M  2.6M  4.0M  39% /initrd
 none                   50M  2.1M   48M   5% /
 /dev/md0_vg/BFDlv     4.0G  453M  3.3G  12% /boot
 /dev/loop0            426M  418M  7.6M  99% /mnt/apps
 /dev/loop1            4.9M  2.2M  2.5M  47% /etc
 /dev/loop2             76K   76K     0 100% /oem
 tmpfs                 125M     0  125M   0% /mnt/apps/lib/init/rw
 tmpfs                 125M     0  125M   0% /dev/shm
 /dev/mapper/md0_vg-vol1   16G  541M   16G   4% /mnt/system
 /dev/mapper/195084d1_vg-lv31f1fb79  1.8T   31M  1.8T   1% /mnt/pools/A/A0
 root@hmnhd-TI1S0O:/# blkid
 /dev/loop0: TYPE="ext2"
 /dev/loop1: UUID="77242e26-8d00-484c-857d-36fc1b481933" TYPE="ext2"
 /dev/loop2: LABEL="Compressed" TYPE="cramfs"
 /dev/sda1: UUID="2d337547-6d8a-5049-359e-6fb0c841fb79" TYPE="mdraid"
 /dev/sda2: UUID="POScTI-2IKH-FHG9-j0KI-TciX-sKbr-dF7xxS" TYPE="lvm2pv"
 /dev/md0: UUID="X4Hifc-yZm3-zcec-uzWs-wviJ-10FH-12X3BM" TYPE="lvm2pv"
 /dev/mapper/md0_vg-BFDlv: UUID="ee73cef0-1900-4b99-ae8f-04c2cb634487" TYPE="ext2"
 /dev/mapper/md0_vg-vol1: UUID="d98fb445-f9ae-4abd-be7f-15b8e9bce7d0" TYPE="xfs"
 /dev/md1: UUID="POScTI-2IKH-FHG9-j0KI-TciX-sKbr-dF7xxS" TYPE="lvm2pv"
 /dev/mapper/195084d1_vg-lv31f1fb79: UUID="dd24c424-75fc-4bb8-948f-cca5bfbdb92d" TYPE="xfs"

Loopback Mounts

 root@hmnhd-TI1S0O:/# losetup -a
 /dev/loop0: [fd00]:32770 (/sysroot/boot/images/apps)
 /dev/loop1: [fd00]:32773 (sysroot/boot/images/config)
 /dev/loop2: [fd00]:32772 (/sysroot/boot/images/oem)

Linux Kernel

The firmware version ships with Linux

Boot process


On powerup the SoC loads and runs U-Boot from harddisk. Or maybe the SoC loads the 'Stage-1 Bootloader', which loads U-Boot.


U-Boot loads one of the two uImage kernels, the only uImage initrd, and starts the kernel.


Initrd contains a script /linuxrc which is executed. It mounts md0 (sda1), loopmounts the files inside (images/apps on sysroot/mnt/apps,images/config on sysroot/etc and images/oem on sysroot/oem), and creates a lot of symlinks and directories to turn sysroot to a 'normal' systemroot. Then / is switched to /sysroot with pivot_root, and finally /usr/local/cfg/ (in the new root) is called to finalize the boot. This script returns, and linuxrc creates a /etc/mtab, and enlarges it's ramfs to 50MB.

It's not clear to me how the system V init from the NAS is initiated. linuxrc just finishes, while I expected a 'exec /sbin/init'