Building *nix from scratch

Associate
Joined
10 Jul 2006
Posts
2,423
Basically, I am getting an O2 Joggler for an NAS/Print Server/Alarm Clock/Video & Music Player/Internet browser.

I thought this would be a good time to learn how to do things from scratch, but have no idea where to start.

Hardware specifications: (personally I think these are wrong but will see when it arrives)
Code:
Based on Intel's Poulsbo/US15W mobile chipset.
CPU: 1.3GHz Intel Z520 Single-Core, Hyper-threaded, Atom CPU
Chipset: Intel US15W (400/533MHz FSB)
Graphics: Intel GMA500 (with hardware acceleration for H.264, MPEG2, MPEG4, VC1, WMV9)

Storage:
512MB RAM (NOT user upgradable - not easily anyway)
1GB internal filesystems (soldered, non removable)
1MB EFI bootloader and nonvolatile parameters (socketed)

Network Features:
Wired Gigabit Ethernet. Realtek RTL8111C
WiFi B/G/N based on the Ralink RT2870 chipset (connected to the internal USB port).

Audio: IDT STAC9202X5 Audio with 2 speakers and a 3.5mm headphone jack

USB (High Speed USB 2.0 Ports):
1 x external.
1 x internal (+2 with soldering).

Power: 5v DC
Screen: 7in Sharp LQ070Y3LG4A 800x480 LCD, 16m colour (24-bit), LED backlit, capacitative touch-screen

Given that there is no real hard drive, the OS is going to have to be run from a USB memory stick so it needs to be as small as possible so thats why I thought I'd build from scratch, that way I'd only install what I need. I was thinking of running without a swap drive aswell so everything is in RAM.

I was hoping to get around 10-12MB/s for transferring files over my 100Mbps network.

Any pointers on where to start?

I assume it works something like this:
You find a base eg. Debian (this has a load of inbuilt drivers right?)
Install a UI like GNOME

....errr...and now Im stuck.
 
Where are you getting your joggler from and how much? I thought stocks where all gone!

Bought second hand :)


Those are correct, why do you doubt? I've checked ;-)

Didn't think it had wireless-n...or an gigabit ethernet port - even if it cant use the throughput.

Correct, the wired ethernet has no hardware MAC, you have to set it on boot, it's a little weird. Also the chip is not great and will not really sustain 100Mb/s with the little CPU.

Interesting about the wired ethernet. Also interesting that you think the CPU can't manage sustained 100Mb/s....didn't realise it was that poor of a CPU. Is it a CPU intensive task?
 
I've been doing some reading about the Intel GMA500 graphics card at it appears there are a lot of issues with the drivers for linux and the 2D/Video acceleration. It appears that the EMGD is the best at the moment.

MeeGo appears to have the best driver at the moment...I think Intel is is actually talking to them.

If I was to build from debian, is there anyway to get the MeeGo driver or are they not compatible?
 
Received the device today and am doing some testing as we speak.

Preliminary results don't seem bad at all.

Transferring data to and from the device doesn't seem to send the CPU over 50% (normally around 30%) usage. This is just with a Ubuntu 10.10 image from here: http://joggler.exotica.org.uk/ubuntu/ and just right clicking on the folder and sharing it....is that doing Samba but with a UI?

Currently I am testing with transferring files from and to the USB stick that has Ubunutu on it, I will need to test with a USB hub too.

Anyone know how I can do some accurate speed tests?

EDIT:

System Monitoring shows about 11.6MiB in/out on Ubuntu....although the USB drive which has an LED indicator is doing some strange things when transferring the files which may indicate they aren't being read/written from the drive maybe? Can't see a massive change in RAM either.
 
Last edited:
Thats not bad at all, although I suspect your system is using your ram as an IO buffer, check the throughput doesn't die after a few 100MBs. Also use cat /proc/meminfo to see your memory usage, Look at the "Cached" section.

I don't know about the UI file sharing, I guess it's making a samba share.

For a good tool to check disk writing, use iotop. I think it's in the default ubuntu repositories.

Problem is that I only have a 4GB drive so can't test fully. Will have to get a USB hub to test.
 
Try grab a powered hub, so that you have the option to give it extra juice if you have lots of devices trying to suck up the 500ma. Other than that... I have this one, and it works very well.

There is a sticker on the back with the serial number/mac address. Remove that, reveal 4 screws. Then I think there are a few more screws on the case, and then it's a matter of prying the case + LCD apart. It's not too hard to do, and both parts are fairly sturdy. There may be a better explanation with pictures/video somewhere if you are unsure.

I'm sure one without power will be fine. The USB hard drive has a power brick with it.
 
Right, from my tests everything seems OK speed with me. All my clients are wireless and get half decent speeds.

What I want to do now is get the OS sorted. Here's what I want:

-Samba File Sharing
-CUPS print server
-SSH and remote desktop so I can sort any issues out if i need to.
-Alarm Clock to wake me up. - decent interface for it
-Ability to browse and play music - decent interface for it
-Ability to browser internet - decent interface for it
-Ability to play videos with hardware acceleration? - decent interface for it
-Some sort of way to keep up with sports scores - goal flashes etc....

I know the video acceleration may not actually be possible yet/ever.

Can another recommend me an OS based on what I said or should I try building one from scratch? Any ideas for the interface?

If I were to try building one from say a Debian base (purely because Ubuntu is based on it) is it possible to build everything on my main people and then try it out on the joggler. Ie build the image on my laptop then put it on USB and try and boot?

Thanks.
 
Just got a USB hub thingy from poundland and it aint looking good speed wise. Ubuntu is take far longer to load and is going DOG slow.

...not the greatest start.

Just reading from the boot USB drive without USB Hub:
Cached: 490MB/s
Buffered: 23MB/s

WITH USB Hub
Cached : < 1MB/s
Buffered: < 1MB/s

....oh crap.

EDIT:

This might be down to the actual hub...possible 1.1 spec as the speeds were around 1MB/s.
 
Last edited:
What does it mean if I have access to a "kernel **some version number** config with patches"?

Is that the sort of thing I need?....looking at the files it looks like a load of fixes for the hardware, so that must be good right?
 
Well it's one huge patch. Normally the way to do it is individual small patches.

Have a look at the meego 1.1 kernel sources from here.

You'll find 64 individually named patches with a descriptive name and a version etc..

for example, linux-2.6.35-mrst_max3110-Make-the-IRQ-option-runtime.patch

Ah right I see where you are coming from now.

So what are these kernel things then? Can I download debian, chuck these things ontop and have it working with my hardware?....or is it not as simple as that.

Also, working on the Joggler is cumbersome. Is it possible to do this on my main machine and then create an image that I just copy onto a flash drive and install that way...or will it not work like that? Is that what the Mic2 tool you posted is for?
 
Some links for anyone reading in:


I've done some research and decided to use XBMC for my front end as it offers the best support for the features I want (plugins) and user interface (touch screen) and is pretty damn snappy (if you make some mods)
 
Back
Top Bottom