We Got Served Forums: Anyone else exploring the Intel SS4200-E? - We Got Served Forums

Jump to content



  • (4 Pages) +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Anyone else exploring the Intel SS4200-E? EMC SOHO/Lifeline Linux distro on IDE flash module

#1
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09
Have been playing around with my Intel SS4200-E. It's the same hardware as Scaleo, with addition of a 256MB IDE flash drive containing an embedded Linux distribution from EMC (branded as "EMC Lifeline", but referred to internally as "EMC SOHO environment").

The SOHO Environment
The SOHO environment is uClibc based, and runs Linux kernel 2.6.19.2 (not sure whether it's SMP capable, but it looks like some other users have upgraded the CPU to dual core, so maybe someone else will post findings). The web interface is a bunch of server-side Javascript (similar to ASP and PHP. It's called EJScript) running within the embedThis Appweb Server.

To make hacking the box more fun, most of the actual configuration work is done in a compiled C library that manipulates about a score of different XML files that include and override each other in undocumented ways. The XML files configure the usual Free Software *NIX stuff (software RAID, LVM, Samba, etc.) using a process called "executord", which is also undocumented (as far as Google is concerned).

The SSH daemon is installed but not started by default. To enable it log in to the serial console and start it from there (e.g. /usr/sbin/sshd -D &).

Console Access
Someone was nice enough to document the pinout for the serial header on the motherboard. It's a standard Intel serial header, so any DB9 header in the parts bin (e.g. from an old motherboard) will work and there is a DB9-sized knockout in the case above the header for your convenience.

The BIOS is redirected to the serial port at 115200 bps 8n1 and is a standard PC BIOS (all the usual options). The SOHO environment has a login console on the serial port (also at 115200 bps). The username is root, and the password is easily guess-able. Seems to be in the form of soho + web interface password (so if web interface password is "v_secure" then the console would be sohov_secure). When the system is first installed it has no web interface password, so the password for the serial console is just soho. Logging in dumps you into the Busybox shell with the usual *NIX utilities.

Boot Process
  • Power on
  • BIOS loads GRUB from MBR on IDE DOM
    • Western Digital 1TB SATA disks disrupt the boot order and prevent the BIOS from booting the DOM (they insert themselves before all other boot devices) whenever a USB, IDE, or SATA drive is changed from the previous boot. Can remedy this by entering the the BIOS to change move the DOM back to the top of the list
    • Seagate drives don't do this

  • GRUB loads, can be interrupted to change kernel options
    • Choices are SOHO or SOHORecovery (the latter adds the "recover" option to the kernel parameters)
    • Default is SOHO
    • Note that SOHORecovery does not configure the serial console at all so you will not be able to see what is going on (missing "console=ttyS0,115200", which can be added from GRUB itself if you want to try it). Haven't myself tried it, so I don't know what SOHORecovery does

  • Kernel loads and runs /linuxrc from the initrd
  • Initrd does various things (this is custom, not based on any other distribution I've used)
    • Mounts /proc and /sys
    • Creates three loop devices (/dev/loop[0-2])
    • Mounts config, apps, and oem loopback images from the images directory on the DOM (by calling mount_images.sh)
    • Symlinks the apps image for /bin, /lib, /sbin, and /usr
    • Creates some other directories and mountpoints on the root filesystem
    • Pivots to the new root
    • Calls /usr/local/cfg/initrd_bootstrap.sh (this is actually on the "apps" loop filesystem) from within the initrd environment
    • Blinks the LEDs (/sbin/blink boot)

  • Busybox /sbin/init starts and loads /etc/inittab, which includes some non-standard bits
    • Remount / read-write
    • Mount /proc
    • Bring up loopback network interface (lo)
    • Start the system logger
    • Invokes /etc/init.d/rcS
    • Also does the usual stuff (start consoles, etc.)

  • /etc/init.d/rcS does not follow the usual rc-scripts process
    • Blindly starts all scripts that glob to /etc/init.d/S??* in lexical order
    • Starts urandom, configures eth0, netplugd, samba, fakes starting of sshd (the actual execution of sshd is commented out), and finally executord (via /sbin/executord -c /usr/local/cfg/sohoConfig.xml)
    • Ignores runlevel directories /etc/rc[0-5].d

  • Executord seems to be a proprietary init-like daemon that spawns the web interface and services that are configured by the Web interface. Its XML configuration file format is not documented anywhere Google can find

File Locations
  • Bootloader (GRUB) configuration: /boot/grub/menu.lst
  • XML configuration files for executord: /usr/local/cfg/
  • Document root for web server: /usr/local/appweb/sohoWebContent/

Contents of DOM
The loopback files in the /images/ directory are mounted by initrd.
  • /images/apps is cramfs mounted read-only as /mnt/apps (it's effectively /this due to symlinks created by the initrd)
  • /images/config is ext2 mounted read-write as /etc (contains system settings)
  • /images/oem is cramfs mounted read-only as /oem (contains Intel branding)

The DOM itself is /dev/hda1 and contains an ext2 filesystem mounted read-write as /boot

Observations
  • This is a neat box. Bravo to Intel for designing an open system with such excellent performance (and potential). Even if some assembly is required I am excited to have this run something less thirsty than Windows (WHS)
  • The SOHO environment has potential to be great with the addition (or simply enabling) additional services like rsync and SSH
  • Am interested (though not in any immediate sort of way) to bootstrap Optware or a full distro chroot (e.g. debootstrap) to support additional services that SOHO lacks: e.g. transmission (Bittorrent), SqueezeCenter, tftpd, dovecot (IMAP), asterisk, etc. should be possible.
  • The hardware is similar to the x86 based QNap TS-509, though it the SOHO environment uses uclibc instead of full libc so SS4200/Scaleo can't just use the ts509 Optware feed
  • If you manage to wreck your SOHO installation on the DOM (make backups!) you can download the EmcImager from Intel and get back to factory default state (though the EmcImager contains an older version of SOHO than the most recent, so it will also be necessary to upgrade the firmware after imaging it). It's a pain, but it does work


Other findings, thoughts, ideas?
1

#2
User is offline   Bodog (WGS) 

  • Advanced Member
  • PipPipPip
  • View gallery
  • Group: Moderators
  • Posts: 1,243
  • Joined: 17-January 08
  • Gender:Male
  • Location:Sydney, Australia
  • Interests:Windows Home Server
are you thinking of using it as a WHS system?

(won't get far with all that Linux @$!@$@$ on it though) :P
0

#3
User is offline   Andy H 

  • Member
  • PipPip
  • Group: Members
  • Posts: 47
  • Joined: 02-January 09
  • Gender:Male
  • Location:Rochdale UK
Hmmm, this interests me at the moment as I've "gained" access to a couple of old(er) DOM modules through DVR teardowns at work but as of yet I've no idea how to image them.

Is there a generic imaging app or would it be manufacturer specific?
0

#4
User is offline   dodor 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 20-January 09
Ok so I was able to install WHS on this box without a Monitor connected or even any thing connected to the serial port
see the Slipstreaming tutorials on this site.
0

#5
User is offline   GaMeR (WGS) 

  • Advanced Member
  • PipPipPip
  • View gallery
  • Group: Moderators
  • Posts: 2,733
  • Joined: 17-January 08
  • Gender:Male
  • Location:Netherlands, Leiderdorp

View PostBodog (WGS), on Feb 5 2009, 05:45 AM, said:

are you thinking of using it as a WHS system?

(won't get far with all that Linux @$!@$@$ on it though) :P


I was actually thinking if it was a sales pitch :)

But looking at the hardware I think it could be a nice WHS.
0

#6
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09

View PostGaMeR (WGS), on Feb 11 2009, 04:37 AM, said:

I was actually thinking if it was a sales pitch :)

But looking at the hardware I think it could be a nice WHS.

This system is designed for WHS so it works rather well with Windows-- like dodor (below) I was successful loading WHS on it today using a slipstreamed USB flash drive.

Wanted to test whether Windows could make the system enter suspend (ACPI S3) as Linux cannot do it successfully. Windows will not attempt to suspend the system, which is not a surprise as the CPU is a Celeron. Was testing this because the dmesg output from the Linux kernel identifies that the CPU does support S3. Not sure whether this is due to is missing/mistaken magic in the kernel, an error in the way this CPU identifies its capabilities, or something else entirely (maybe BIOS?).

Will replace the CPU with an Core2 Duo (others report success with Allendale dual core CPUs in Scaleo/SS4200, and these definitely support S3). Will see whether a different CPU enables suspend.
0

#7
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09

View Postjames@utopia, on Feb 15 2009, 02:31 AM, said:

Wanted to test whether Windows could make the system enter suspend (ACPI S3) as Linux cannot do it successfully. Windows will not attempt to suspend the system, which is not a surprise as the CPU is a Celeron. Was testing this because the dmesg output from the Linux kernel identifies that the CPU does support S3. Not sure whether this is due to is missing/mistaken magic in the kernel, an error in the way this CPU identifies its capabilities, or something else entirely (maybe BIOS?).

Need to revise my analysis: Suspend was also not available because WHS uses a generic VESA driver for the 82945G video adapter. After installing the Windows XP video driver for the 945G from Intel the Suspend feature became available (and works well). Unfortunately I discovered this after upgrading the CPU to an E2220, so I cannot say for sure whether the standard Celeron 420 CPU would also work this way.

Maybe someone else can comment?
0

#8
User is offline   dlong 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 6
  • Joined: 07-February 09
For those that want to get into the EMC SOHO environment without having to build the serial cable -- you can enable SSH via http://device/support.html

-d
0

#9
User is offline   dlong 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 6
  • Joined: 07-February 09
Does anyone know why there are multiple (say 33) lines of
/usr/sbin/appweb -r /usr/local/appweb -f appweb.conf

or 8 lines of
/usr/local/twonky/twonkymediaserver -inifile /mnt/soh

or 8 lines of
/usr/sbin/upnpd -webdir /etc/upnpd/web

or 4 lines of
/usr/local/mt-daapd/bin/mt-daapd -f -m -c /mnt/soho_s

?

Note that I am only running 2-4 instance of a browser pointed to the ss4200. And am not using the any media related software at all -- I don't have anything that receive a media stream or plays/download itunes. So the question is why are there multiple instances of these applications running?

Thanks,

-d
0

#10
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09

View Postdlong, on Feb 19 2009, 08:59 PM, said:

So the question is why are there multiple instances of these applications running?

Because that is how top reports multiple threads in Linux.
0

#11
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09
ACPI S3 in Linux

Suspend works OK in WHS, but cannot make it work in Linux yet. Installed generic Debian 5 release (kernel 2.6.26) and enabled PM_TRACE debugging. System appears to enter suspend fine but does not resume: it powers on and fans settle down, but no serial console or network services. Surprisingly, the system does respond to ping requests after resume.

dmesg after enabling /sys/power/pm_trace (this happens regardless of quirks used: have tried many combinations)
[	1.126211]   Magic number: 0:657:167
[	1.126211]   hash matches drivers/base/power/main.c:174
[	1.126211]   hash matches device PNP0000:00


Anyone else have more success with Linux suspend/resume on this hardware? Different kernel versions or debugging ideas?
0

#12
User is offline   dlong 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 6
  • Joined: 07-February 09

View Postjames@utopia, on Feb 21 2009, 12:37 PM, said:

Because that is how top reports multiple threads in Linux.


Is that also how 'ps' reports multiple threads in Linux?

Thanks,

-d
0

#13
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09
Answering my own question: suspend can be made to work on SS4200-E. Had success with kernel 2.6.28.7 and the acpi_sleep=s3_bios plus test_suspend=mem parameters on the kernel command line (GRUB). Not sure why it is necessary to do the brief suspend + RTC wakeup cycle during boot, but the system will not resume without it (this is what the test_suspend parameter initiates).
  • The serial console becomes corrupted after resume and displays a flow of garbage characters until it is reset (e.g. kill -9 $(pidof getty login) from an SSH session)
  • Because the kernel does not have vbetool functionality there is no way to prevent the video console from getting corrupted during the test_suspend cycle. This means the BIOS will be unavailable when the system is rebooted (need a cold boot to re-initialize the video card so the BIOS redirection works).
  • At least the AHCI module (called "ahci") needs to be removed before suspend and re-inserted after restore. Maybe other modules need this as well (e.g. USB HCI), but I've not tested any other system functions (why connect a keyboard anyway?)

Looks like ACPI suspend/power is an area rapidly evolving within the kernel, so hopefully booting will be cleaner in the near future.
0

#14
User is offline   dlong 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 6
  • Joined: 07-February 09
I replaced the 512 MB stick with a 2 GB PC2-6400 (part of OCZ2P8004GK pk) and checked /proc/meminfo and it only shows 906556 kB (~ 1 GB). Anyone else with 2 GB stick installed with the default EMC OS load check and see if they see 2 GB? James, do you have 2 GB and if so, how much does it show (FreeBSD?) ? Or windows for that matter?

I know that the Intel HWL states 1 GB max ...

Thanks,

-d
0

#15
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09

View Postdlong, on Mar 5 2009, 11:03 PM, said:

I replaced the 512 MB stick with a 2 GB PC2-6400 (part of OCZ2P8004GK pk) and checked /proc/meminfo and it only shows 906556 kB (~ 1 GB). Anyone else with 2 GB stick installed with the default EMC OS load check and see if they see 2 GB? James, do you have 2 GB and if so, how much does it show (FreeBSD?) ? Or windows for that matter?

I know that the Intel HWL states 1 GB max ...

Thanks,

-d

I have a 2GB DIMM. 1GB (what you are seeing) visible in EMC Lifeline. 2GB visible in any other OS (e.g. WHS, Linux)
0

#16
User is offline   dlong 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 6
  • Joined: 07-February 09

View Postjames@utopia, on Mar 26 2009, 09:44 AM, said:

I have a 2GB DIMM. 1GB (what you are seeing) visible in EMC Lifeline. 2GB visible in any other OS (e.g. WHS, Linux)


Interesting. I wonder what that saves them?

-d
0

#17
User is offline   james@utopia 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 9
  • Joined: 04-February 09

View Postdlong, on Mar 27 2009, 01:43 PM, said:

Interesting. I wonder what that saves them?

-d

Not much. EMC probably did not compile kernel with HIGHMEM support. It is curious that the GPL source download from EMC and Intel seems to be missing the kernel configuration used to produce the distributed kernel. Hard to know what options were used without it and there is no config in /proc.
0

#18
User is offline   Blue Sherpa 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 1
  • Joined: 17-May 09
Did you guys see much of a performance boost increasing ram or the processor?
0

#19
User is offline   TinyRK 

  • Member
  • PipPip
  • Group: Members
  • Posts: 28
  • Joined: 13-May 09
  • Gender:Male
  • Location:Cheeseland Wisconsin
Can anybody send me a copy/ image of their DOM-Drive, so I can install the EMC software on it?
Thanks
0

#20
User is offline   OsRuS 

  • Newbie
  • Pip
  • Group: Members
  • Posts: 2
  • Joined: 07-December 08

View PostTinyRK, on May 22 2009, 03:04 AM, said:

Can anybody send me a copy/ image of their DOM-Drive, so I can install the EMC software on it?
Thanks


Follow http://www.intel.com/support/motherboards/...b/CS-029094.htm where you can download all the info and files you need to install Intels EMC software onto your DOM. You can then update this to the most recent image via update files available on the intel site here http://downloadcenter.intel.com/Product_Fi...?ProductID=2910

You copy the files onto a USB stick and then reboot pressing the reset button on the rear and the system boot from the USB stick and copies the files onto the DOM. on next reboot, if the bios setting are correct your system will start as a Intel server.
I have tried copying the DOM from one Seimens server onto another to resore it to a Home Server but cant seem to get it to work properly.
I think the Seimens DOM must be formatted it some odd way. I have tried various different programs after booting from an external USB floppy drive but have yet to find one that works.
0

Share this topic:


  • (4 Pages) +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users