Most recent edit on 2009-05-20 02:11:29 by HarryBo
No differences.
Edited on 2009-05-20 02:11:19 by HarryBo
Additions:
Current Status: v0.9
20/05/09
A huge break, but massive improvements all round! The hard drive I was using decided to die and I didn't have any recent backups, so I ended up starting from scratch yet again. Oh well, here's what's new...
- A WebInterface to allow simple online configuration, monitoring and control.
- Much more streamlined boot process. Slackware 12.0 again, just more stripped down and organised.
- SqueezeCenter 7.3.2
- All SlimCar configuration now in /etc/slimcar.conf
- Extensively tested offline, almost ready to go in-car - expect an update soon ;)
- The Installer still needs work, but everything else is pretty much done production-ready.
- Kernel 2.6.18.8 - no udev or modules and minimal hardware support.
Deletions:
Current Status: v0.51
SqueezeCenter 7.0.
Kernel 2.8.18.8 - no udev or modules and minimal hardware support.
Edited on 2008-07-01 03:31:55 by HarryBo
Additions:
~-Configuration consolidated to a single file - /etc/slimcar/config
Deletions:
~-Configuration consolidated to a single file - /etc/slim/config
Edited on 2008-07-01 03:29:01 by HarryBo
Additions:
Current Status: v0.51
SqueezeCenter 7.0.
VIA EPIA support.
Syncs with MasterLibrary when connected to home network.
Boot time just under 40 seconds including POST.
Single config file for all required settings.
Edited on 2008-07-01 03:26:58 by HarryBo
Additions:
~-I'm calling this version 0.51, in the long OSS tradition of randomly advancing the number when I feel like it!
Edited on 2008-07-01 03:26:09 by HarryBo
Additions:
~-Completely redeveloped on a new base (Slackware 12.0). This made it easier to get things working with SqueezeCenter (SlimDevices' new name for SlimServer), which requires MySQL. There's a lot more crap floating around in the filesystem (around 230MB total). Hopefully this can be reduced, but hard drive installation is required anyway.
Deletions:
~-Completely redeveloped on a new base (Slackware 12.0). This made it easier to get things working with SqueezeCenter (SlimDevices' new name for SlimServer), which requires MySQL. There's a lot more crap floating around in the filesystem (around 230MB total). Hopefully this can be reduced, but hard drive installation is required anyway.
Edited on 2008-07-01 03:24:09 by HarryBo
Additions:
~-Configuration consolidated to a single file - /etc/slim/config
Edited on 2008-07-01 02:45:11 by HarryBo
Deletions:
Current Status: v0.5: SqueezeCenter 7.0. EPIA support. Syncs with MasterLibrary when connected to home network. Boot time just under 40 seconds including POST - nearly 10 of this is starting SqueezeCenter!
Edited on 2008-07-01 02:21:53 by HarryBo
Additions:
Current Status: v0.5: SqueezeCenter 7.0. EPIA support. Syncs with MasterLibrary when connected to home network. Boot time just under 40 seconds including POST - nearly 10 of this is starting SqueezeCenter!
01/07/08
After a rather huge break that involved me getting a driving license and a car, development has resumed ;)
Here's a brief summary of what's changed:
- Completely redeveloped on a new base (Slackware 12.0). This made it easier to get things working with SqueezeCenter (SlimDevices' new name for SlimServer), which requires MySQL. There's a lot more crap floating around in the filesystem (around 230MB total). Hopefully this can be reduced, but hard drive installation is required anyway.
- I'm using a 600MHz VIA EPIA PD for testing purposes, with a 250GB IDE hard drive. No CompactFlash.
- Kernel 2.8.18.8 - no udev or modules and minimal hardware support.
- SqueezeCenter 7.0 against MySQL 5.0.21.
Deletions:
Current Status: 0.12: Booting from hard drive, CompactFlash abandoned. SlimServer working as expected, as is Rsync. Boot times are acceptable. Priority now is on integrated SlimServer 6.5.1 (with MySQL support).
Edited on 2007-01-31 00:35:34 by HarryBo
Additions:
28/01/07
Woosey won an EPIA board on eBay and has buggered off to New Zealand, leaving the board with me ;) Good news - it runs SlimCar with our EPIA-prepared kernel. Performance is fine - this is an 800MHz Eden chip.
Edited on 2007-01-22 10:09:27 by HarryBo
Additions:
Spent some of the weekend laying down the groundwork for the installer:
Deletions:
Spent some of the weekend laying down the groundwork for the installer
Edited on 2007-01-22 10:09:14 by HarryBo
Additions:
22/01/07
Spent some of the weekend laying down the groundwork for the installer
- Recompiled PHP5 on development box to include ncurses library.
- Learnt the basics of ncurses (easier than expected!) and developed the application framework - preset window areas, text wrapping, menu system (using SimpleXML).
- Started work on the disk management functionality - harnessing /dev/disks/by-id and fdisk to get as much disk/partition information as possible, to aid target selection for installer.
Edited on 2007-01-20 01:30:38 by HarryBo
Additions:
18/01/07
14/01/07
13/01/07
08/09/06
07/09/06
06/09/06
05/09/06
04/09/06
03/09/06
02/09/06
31/08/06
Deletions:
18/01/07
14/01/07
13/01/07
08/09/06
07/09/06
06/09/06
05/09/06
04/09/06
03/09/06
02/09/06
31/08/06
Edited on 2007-01-19 10:33:49 by HarryBo
Additions:
~-SlimCar 0.1 was demonstrated at the TA meet. We had some teething trouble which (we think) was caused by a database problem, but on the whole it worked pretty well!
Deletions:
~-SlimCar 0.1 was demonstrated at the TA meet. We had some teething trouble which (we think) was caused by a database problem, but on the whole it worked pretty well! Take a look at our DevPics for some evidence of our ghetto installing...
Edited on 2007-01-19 09:12:28 by HarryBo
Additions:
~-hdparm used to set hard drive parameters on boot up. With the built in test, throughput was increased from 3.5MB/s to around 59MB/sec. This makes for faster Rsync - never a bad thing!
- Default settings are ATA 100, DMA etc - this will probably end up as an installer option.
- Many configuration files moved to /etc/slim (SlimServer preferences file, network settings etc) - this should make the installer easier to write and is more logical.
Deletions:
~-hdparm used to set hard drive parameters on boot up. With the built in test, throughput was increased from 3.5MB/s to around 59MB/sec. This makes for faster Rsync - never a bad thing! Default settings are ATA 100, DMA etc - this will probably end up as an installer option.
- Many configuration files moved to /etc/slim (SlimServer preferences file, network settings etc) - this should make the installer easier to write and is more logical.
Edited on 2007-01-19 09:11:49 by HarryBo
Additions:
Current Status: 0.12: Booting from hard drive, CompactFlash abandoned. SlimServer working as expected, as is Rsync. Boot times are acceptable. Priority now is on integrated SlimServer 6.5.1 (with MySQL support).
18/01/07
Lots of improvements!
- New kernel compiled, including EPIA support (we hope) and removing absolutely everything else - kernel size is just over 1MB with no modules required.
- Version stepped up to 0.12. (0.11 was an interim kernel that included XFS, JFS and FAT support). CompactFlash support has been completely abandoned.
- Startup scripts revised to only allow a fsck on the music partition when connected to the network (ie, for a sync operation). It was decided that always doing an fsck in this situation would be more sensible than "occasionally" doing one when the system is deployed in a car. SlimCar now runs an fsck then Rsync.
- hdparm used to set hard drive parameters on boot up. With the built in test, throughput was increased from 3.5MB/s to around 59MB/sec. This makes for faster Rsync - never a bad thing! Default settings are ATA 100, DMA etc - this will probably end up as an installer option.
- Boot times improved. On test hardware (Athlon 2200+) the Linux boot, from GRUB to login: prompt, takes 7-8 seconds.
- Many configuration files moved to /etc/slim (SlimServer preferences file, network settings etc) - this should make the installer easier to write and is more logical.
- Various files that aren't required have been removed. More effort needs to be made towards stripping SlimCar down to the bare minimum but it's getting leaner every time...
14/01/07
- SlimCar 0.1 was demonstrated at the TA meet. We had some teething trouble which (we think) was caused by a database problem, but on the whole it worked pretty well! Take a look at our DevPics for some evidence of our ghetto installing...
13/01/07
- After a large break, SlimCar development has resumed. There's a TalkAudio meet tomorrow and Woosey would like to have a prototype in his car.
- CompactFlash has been abandoned. Initially, we chose to use CF because it enables preference and settings to be edited by putting the CF card in a PC. After some thought, we decided to handle all of the settings with an Installer, thus allowing SlimCar to boot from a hard drive. Necessary changes were made, and boot time is significantly faster.
- Another TA user has expressed an interest in running SlimCar, backed up by SlimServer running on a Mac at home. Should be feasible...
Deletions:
Current Status: Booting from CompactFlash. SlimServer working as expected, as is Rsync. Too slow to boot though!
Edited on 2006-09-08 21:09:31 by HarryBo
Additions:
~-You can find photos of the development hardware here.
Edited on 2006-09-08 20:16:28 by HarryBo
Additions:
08/09/06
Woosey kindly supplied me with another CF2IDE adapter. He's a star ;)
Got SlimCar working again - BusyBox and uClibc. Took a little while because for some reason nodes for hdc and hdd were not being created in /dev/! Fixed that, remade the image, and it works fine. Boot time is marginally faster - smaller image and quicker init (less stuff going on)... but still far from quick enough. CompactFlash may have to be abandoned if I can't make it run quicker than this, which isn't ideal.
Edited on 2006-09-07 23:19:30 by HarryBo
Additions:
07/09/06
Rebuilt system from scratch on a BusyBox/uClibc base. This involved recompiling Perl and then re-stripping both Perl and SlimServer. Got it all down to an image size of 80 megabytes (a mere 25megs compressed, compared to 37 for the LFS system) and then, when it came to the first test... the CF2IDE adapter I've been using broke! In a word: pants :( Development is stalled until I can get hold of another one.
Oldest known version of this page was edited on 2006-09-06 19:09:01 by HarryBo []
Page view:
Project Status
This page details the current status of the project. It also acts something like a ChangeLog and something like a development blog. Newest changes are at the top.
Current Status: Booting from
CompactFlash.
SlimServer working as expected, as is
Rsync. Too slow to boot though!
06/09/06
- Noticed some problems regarding the way the database is created. For some reason, some files are added with the correct /mnt/music path, whereas others have ignored the symlink and have the real path to the files. This means the database is not portable (you get "file not found errors" for some tracks) and, as such, is a big problem! Hopefully the Slim Devices Forum will yield an answer... http://forums.slimdevices.com/showthread.php?t=27104∞ - Now solved - you just have to make sure that there aren't any playlists containing the old paths.
- Now considering abandoning LFS and building SlimCar from scratch with a BusyBox/uClibc system. This may be the way to go for an even more stripped-down OS.
05/09/06
- Fixed CompactFlash image, as well as SysLinux config etc. SlimCar now boots correctly. After more fiddling with paths and so on, the ConfigFiles issue is now resolved - please see that page for more information.
- Switched the development hardware from a PII 350 to a Duron 1GHz. Not really important, but mainly to see if the extra CPU power was beneficial during the boot process, where it appears that the GZIP decompression of the filesystem image is the most time-consuming part - this alone takes in the region of a minute. Unfortunately, the Duron system is barely any quicker than the PII!
- Swapped the 10 gigabyte music drive for a larger 80 gigabyte model. This lets me develop the system with approximately 3/4 of my collection available, and is a more realistic test of what SlimCar can handle. Rsync only synchronises at an average of 2-3 megabytes/second though. This may be down to the cheap Realtek 8139c network card I've been using or perhaps it's caused by fragmentation on my MasterLibrary. Either way, it's not a big deal when you've done the initial sync.
- At this point, SlimCar works as you would expect. It maintains it's own preferences file, allows you to define Rsync settings and IP addressing (see ConfigFiles) and the paths are mostly finalised (see PathConfig). All the remains is to strip it down and tweak certain aspects of it. At present, the whole OS is roughly 100 megabytes, which makes an image of around 38 megabytes. The goal is to reduce this to an image size of 20 megabytes. I'm not yet certain how feasible this is and it calls for much more research into certain libraries, Perl modules etc, but size reduction will benefit boot times as well as allowing the use of smaller CompactFlash cards - currently it all fits quite nicely, with a kernel and so on, on a 48 megabyte card.
04/09/06
- Created this Wiki - all updates below are taken from a thread on TalkAudio.
- Decided that it would be better to store playlists on the CompactFlash card. This means it's nice and easy to manage the music drive, as everything on it is music. One side effect of this is that the SlimServer database (.slimserversql.db) is now stored with the music files and not with the playlists - ie, it can be found in the root of /mnt/music instead of /mnt/playlists. This means that the configuration of the MasterLibrary had to be altered slightly but moving the database file makes more sense than writing a file that could be several megabytes (HarryBo's is nearly 9megs at present) to the CompactFlash card - which is already likely to be full.
- Created initial CompactFlash image and attempted boot. There were some minor issues with incorrect paths, bad symlinks and so on, but most of it works. The only major issue to be sorted now is that of the ConfigFiles and adding in some Perl modules I had removed by accident. This meant SlimServer could not start, but as it was 2AM, I had to go to bed...
03/09/06
- SlimServer startup script finished. Setup to place PID, log, prefs etc in /var/slim.
- Abandoned the Shuttle for a semi-antique i440BX Pentium II 350, as I couldn't get the Shuttle to cooperate with my CompactFlash-to-IDE adapter. Very slow startup but most of it is the POST etc. Unavoidable at this stage, and it was free.
- Wrote startup "sync" script. Essentially, it pings your server (waiting only 1 second for a response) and if it gets a reply, it initiates a sync of both music and playlists. The practical upshot of this is 1 extra second of boot time when you're not syncing (ie: you're using it in the car), but that's the quickest I could do it.
- First major unforeseen hurdle - the full path to each song is hardcoded for each entry in the database. This means that to share a database/library across two machines, you need all of the paths to be the same. I have elected to use /mnt/music and /mnt/playlists (this also contains the .slimserversql.db database file). With judicious links of symlinks at both ends, you can convince both your MasterLibrary and SlimCar that the database and library are where they should be. By putting the database in with the playlists, you can have it picked up by Rsync easily.
- Very important milestone, as this proves that you can have the same library/database on two machines (or more, for that matter) and only need to do rescans on one. This effectively means all other issues (getting it onto CompactFlash etc) come down to packaging/distribution issues.
- Currently using a 10 gigabyte hard drive for the library (less than 10% of the total!). Works ok, but obviously there are thousands of songs in the database that it can't find. Good enough for proof-of-concept though!
02/09/06
- LFS setup finished.
- Performed initial stripping/removal of files as per one of the LFS Hints.
- Boot time in the region of 25-27 seconds on the Shuttle board.
- Began writing boot time script for SlimServer.
31/08/06
- Began compilation/installation of LinuxFromScratch as per the LFS Book, on a Shuttle board borrowed from Woosey - nF2, 512megs DDR333, Athlon XP2100+.
CategoryProject