Stock Configuration (Home Media CE)
Contents
Information
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
CPU
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
Memory
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 5.0.6 root@hmnhd-TI1S0O:/# cat /proc/version Linux version 2.6.31.14 (soho@bsoho089.lss.emc.com) (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
sda
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 3.0.9.36172 ships with Linux 2.6.31.14
Boot process
U-Boot
On powerup the SoC loads and runs U-Boot from harddisk. Or maybe the SoC loads the 'Stage-1 Bootloader', which loads U-Boot.
Kernel
U-Boot loads one of the two uImage kernels, the only uImage initrd, and starts the kernel.
initrd
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/initrd_bootstrap.sh (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'