Lite Linux Distros for a Digital Picture Frame?
bwy asks: "I'm building a digital picture frame, inspired by a story here at Slashdot. Currently, I'm using Red Hat 9 with GDM autologin, icewm, and a slideshow program autostarting. I've installed code to hide the mouse pointer and the 'powerswitch' kernel module to allow the frame to run a proper shutdown (instead of a suspend) when the ATX power switch is pressed. The hardware is an EPIA 5000 with a laptop drive. I think this is overkill, however, and I am a purist. Is there a lightweight distribution that is EPIA friendly? Such a distro shouldn't install GCC, so I'll need all the software as binaries. How would I go about booting from a ramdisk? This would make the 'powerwitch' kernel mod not so important since there is no worry of corrupting the file system." Does anyone have distribution suggestions, or pointers to other information that might be helpful for such a project?
"Such a distro shouldn't install GCC, so I'll need all the software as binaries."
Just get yourself another machine with a toolchain to build the binaries you need from source, particularly if you plan on taking binaries from untrusted sources.
Of course someone could give you dodgy code, but it's a lot less likely to happen, and at least you've got a fighting chance of checking the code for suspicious function calls etc.
Shouldn't you begin with embedded linux instead of redhat?
The main reason for using Gentoo was that it let me decide exactly what to install. No servers in the background, no rxtra nothing. I was thinking of just deleting gcc and the source after I was done but I never got around to it, thinking I might need it later.
Money for nothing, pix for free
I'd recommend building yourself a simple "run from RAM" setup using Knoppix (or something similar), and install it on a CompactFlash card.
CompactFlash has several data transfer modes, one of which is essentially IDE.
Yes, you can take one of those ultra-cheap PCMCIA->CompactFlash adaptors, rip it apart and solder on a parallel IDE cable (google for it, it's common), and plug it right into your motherboard. I just googled for it myself, and found that CompactFlash-IDE adaptors are now being sold, so you don't even need to get your soldering iron out.
Now you've eliminated the hard drive, so you don't have to worry about the various issues associated with them, and you've eliminated the issue with powering off the device while it's running.
- Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
since you are concerned about the mouse pointer, I presume you are running a full X implementation. Have you considered running this as a framebuffer applicaiton, and not loading X? fbv, fbi and DFBSee are all projects on Freshmeat that may provide you a way to bypass the running of X.
You could also do bootable CD-RWs that you can update the contents of your image library at any time, with any cdrw capable computer.
Just a couple thoughts to kick around.
-Rusty
You never know...
If your On-board NIC supports it, run everything on another PC with BOOTP/NFS if you really want to. You'd be able to change everything on the fly.
Mind you, if everything's setup already, i'd just let it be.
Bye!
Red Hat seems really stuffy for this kind of thing...
.. one uses Pebble (http://www.nycwireless.net/pebble/) and the other gentoo.
I have some teeny boxes (Soekris 4501 and EPIA something)
I'm not sure if Pebble has GUI or X stuff, but it is based on Debian. It is actually optimized for wireless use. It runs read-only off the CF card so it is safe to just cut the power. You can probably hammer that into shape.
Gentoo is something else I'm playing with, using distcc for compiling (i.e., no compiling on the local host, just over the network). The supercoolness of Gentoo is that you can build your own custom profile with all the settings and packages just the way you like them, and reinstall the whole thing from scratch whenever you want. Throw in a wireless card so you can pull the images off a server as well as locally and you've got a cool project.
Take any one of the single floppy rescue bootdisks.
Add a copy of "zgv" (statically compiled, or you'll need to include vgalib and jpeglib)
Write a script that launches zgv with the appropriate parameters. Once you know it works, reinstall lilo so that your script gets run as init.
Total footprint will be perhaps two meg. Make an 'installer' for Linux or windows that dumps this at the start of a bootable CD and then lets the user fill the rest with pictures?
If you really have to have the fancy screen-merges and stuff, you can make up a system with JUST the linux kernel, XFree86, xscreensaver, and the very few libs that these depend on, basically the same way.
455fe10422ca29c4933f95052b792ab2
What you probably want to do is just never open the disk for read/write access -- make it read only. Then you can turn it off at will with no problems, because the disk is never written to.
You can use minimal Slackware installation without Gnome and KDE. You need only X, Gtk and image viewer like qiv. You don't need even window manager. Simply put images to root window.
:)
There must be only one rw filesystem for images. Use ReiserFS (or any other fs) in sync mode and don't care about proper shutdown anymore
Since there's no binary-only programs, one can use the same do-it-yourself approach almost on any hardware supported by Linux or NetBSD.
Building a picture frame out of a computer more powerful that the early supercomputers.
Next we should make an WiFi enabled toothbrush that can run SETI@Home when idle.
I've been considering building a Digital Picture frame also.
:p)? Anybody have any sugestions, comments, want to tell me I'm an idiot, etc?
I want to be able to insert my CF (SmartMedia, MMC, etc) Card into a "52,000-in-one" USB reader, hit a Transfer button and have the images transfered to my RAID'ed network attached storage (probably a samba share). Then have the option to erase the CF card
Have files renamed based on the EXIF information imbedded in the JPEG headers when they are transfered to the storage server
(for example, 2004-05-25_021544b YYYY-MM-DD_HHmmss and if that already exists append a letter), or perhaps the creation date of the image file depending on how hard it proves to read the EXIF info.
A simple interface to go through the pictures would be nice (not sure exactly what's already out there)
I was thinking something along the lines of Hardware buttons along the bottom of the frame, one each for going forward and back a year, month, day, and then per image.
Also maybe a dial to vary the speed of the slide show mode, and a "bookmark image" button...hrm yeah that'd be nice.
The general idea is to end up with a device that even grandma can use to view her pictures, and stick her camera card in and hit one button to transfer the pictures to a automagically backed up, raid'ed server.
Does this sound doable (without an insane amount of work
Some Rights Reserved, (C) 2004 TheMysteriousFuture
.sig
http://www.geexbox.com
'I am become Shiva, destroyer of worlds'
I chose to use Fedora. I did not load X Windows and instead used fbv from an autologin console. I found it very useful to have lots of console tools (lynx, wget, gcc) available to me. And basically there was no benefit in trying to trim disk usage by a few hundred Meg.
It is a small 50meg linux distro. You could get rid of a lot of the apps and get it down even smaller. Are you including a network connection> you could then use you network drive to store the pictures.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Configure and cross-compile a customised installation using Rock Linux http://www.rocklinux.org/
Tell you what, I have an i-Opener with a USB hub and a 3com USB 10/100 TP NIC, I'll trade you for your setup. If you have an LCD to go with it, that is.
IMO you should look into USB boot capabilities in your hardware. Then you should pick up the cheapest USB flash drive you can find for your system (get it from someplace with a good return policy in case for some reason you can't boot from it) and just stick a linux kernel with autoconfiguration on the flash drive and load it however... lilo, grub, freedos with loadlin, whatever. Then mount root on nfs someplace, you don't need much of linux.
I'd start with Jailbait or M4I, they're both extremely minimal systems that do this kind of thing. Then build the kernel that suits your needs and you're off and running. I'm getting ready to roll my own autoconfiguring kernel for my i-Opener because I want a dramatically newer X server than what comes with M4I and I have a linux system that is always running.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Currently, I'm using Red Hat 9 with GDM autologin...
You can drop GDM and its autologin.
RTF:
man xinit
man su
( hint: su - anon xinit session )
Puppy linux might be what you're looking for (the flash version).. then again maybe it isn't. Your mileage may vary - good luck
I just can't be bothered.
eMoviX/Movix are minidistros which are focused on multimedia display. You can boot and and it'll show audiofiles and movies which are on the same medium. I assume it can also show pictures, but haven't tried it though... I could be interesting as it is rather small and they describe setting up CompactFlash in their tutorials/docs.
http://www.damnsmalllinux.org/
50 meg live cd, based on knoppix/debian
It can be installed on as little as a 250-300MB drive.
At one point they had people who sucessfully installed in on a 486-33? 66? something like that. It has xzgv which should do the picture viewing you want.
get one of these and hook it up to a LCD that has video inputs.
I recently finished putting together a digital picture frame. I bought an old IBM thinkpad from eBay ($10) and a power adapter (another $10 from eBay).
This is a 486 with 2 MB of ram and only a floppy drive. A DOS boot disk boots the machine, sets up a ramdisk, copies the pictures to the ramdisk, and then runs a slideshow with pictures from the ramdisk. Totally silent and heat issues are non-existant.
I haven't had time, but I'm just going to make up a couple of disks with different categories of pictures. A nature disk, family disk, etc. I just have to reboot the machine when I want to a different category. I resize all the pictures to 640X480 (resolution of the screen) so they are pretty small (50k) and I can fit quite a few on a floppy.
My next project will be to wire a timer into the display switch that detects movement. Once movement is detected it switches on the display for a preset time. That way I don't have to worry about the screen being on for the 16 hours a day I'm at work or asleep.
My biggest complaint is that I didn't do my research on the laptop. The passive matrix screen really blows.
What, me worry?
Why the reliance on Linux. FreeDos should fit into 2 Mb, and (according to the interweb) DVPeg will fit into 120k. No network support, but it'll be really simple to set up.
Training monkeys for world domination since 1439
I used Damn Small Linux for my picture frame. I took his debian package list and liberal use of the rm command to strip it down to a command line only version. Then I found a frame buffer picture viewer [with slideshow mode]. The os weighed in at about 20MB, so even a 64MB or 128MB CF card was plenty for a decent amount of pictures (remember to prescale them to screensize to save space). The OS also implements Wireless support for a Symbol CF card Wireless card. Since my target had a two CF slots (one of which was bootable).. With Samba client installed. I made everything work off a FAT filesystem so if I was being lazy I could pop it directly into my WinXP computer or even my digital camera (see note about prescaling the images to size though, saves processor time and disk space!) I could probably scrounge up the disk image if you wanted to start from my work... Though not sure I have the image with the development tools installed still to add/remove stuff. So if you wanted full flexibility you'd want to start from Damnsmall and work back.. Knoppix is definitely your friend here, but I'd start with something already on the small size, so you aren't removing Openoffice etc... -- Matthew
Actually, I think that what he's probably talking about is a ramdisk similar to the ones used by knoppix. Essentially it's a section of memory initialized with a filesystem and mounted as a drive. Kernel initrd (Initial Ramdisk) is basically that in that part of the kernel is uncompressed from an image into a small "ramdisk."
Basically the way you would work this is to have the base kernel/system loaded off a hard-disk/card/CD, and put all your working space in memory. Again, bootCD's often use this approach to have writable "space" even without a physical disk present. And of course, since the RAM is cleared on reboot, so is the RAMdisk.