Reply by June 8, 20062006-06-08
Thanks everyone for the answers. Very useful info.

-- Pete

Brian Silverman wrote:
> psommerfeld@gmail.com wrote: > > Another question is how small can a functional rootfs be? I am hoping I > > can get it under 20 MB. > > I worked on linux project last year, which may give you some > guidelines... We had a very functional rootfs that fit snuggly into > 4MB (with JFFS2). We kept our app and additional packages (the most > notable large ones were Python and Qt) in a separate partition in flash > - that took up a little over 20MB (also JFFS2, and we got better than > 2:1 compression). > > Of course, it all depends on what you want... > > I'm now again working on a linux project, and I've just the other day > used Busybox to get a minimal rootfs (NOTHING, except init and sh). > It's only 75K. Of course, the caveat is you need glibc, too, and > that's 2MB. > > -bri
Reply by Brian Silverman June 5, 20062006-06-05
psommerfeld@gmail.com wrote:
> Another question is how small can a functional rootfs be? I am hoping I > can get it under 20 MB.
I worked on linux project last year, which may give you some guidelines... We had a very functional rootfs that fit snuggly into 4MB (with JFFS2). We kept our app and additional packages (the most notable large ones were Python and Qt) in a separate partition in flash - that took up a little over 20MB (also JFFS2, and we got better than 2:1 compression). Of course, it all depends on what you want... I'm now again working on a linux project, and I've just the other day used Busybox to get a minimal rootfs (NOTHING, except init and sh). It's only 75K. Of course, the caveat is you need glibc, too, and that's 2MB. -bri
Reply by linnix June 4, 20062006-06-04
larwe wrote:
> psommerfeld@gmail.com wrote: > > > I have some questions about u-boot for a project I'm working on. The uP > > is an ARM9. > > In answer to most of your questions, please refer to > <http://www-128.ibm.com/developerworks/library/pa-migrate2/> which is > an article I wrote last year on related topics. > > It is irksome to run Linux off a write-protected root filesystem. > Possible, yes - with tweaking - but it's much easier just to load the > root filesystem into a RAMdisk and run entirely out of RAM. Faster, > too. > > As far as memory footprint goes, are you asking about flash storage > requirements or RAM requirements? You can fit a fully functional Linux > distribution and applications into 8Mb without difficulty. (The root > filesystem can be compressed, remember. I've implemented turnkey > x86-based Linux devices on a 4Mb CompactFlash). I would suggest 64Mb > RAM, more if you intend to use X. It can be squeezed into less, but > again it's irritating.
There are no set rules for flash vs. ram. Very often, it's a trade off between costs and limitations. Nowadays, flash is sometimes cheaper than ram. There are still many systems with limited ram space, but flash is virtually unlimited. You can compress everything on flash, but need more ram to decompress and run them anyway.
Reply by larwe June 3, 20062006-06-03
Clifford Heath wrote:

> > Semantic gripe: "VFAT" is the name of a Microsoft filesystem driver. > > Ok, it's wrong that linux "mount" uses "-t vfat" then.
The Linux kernel vfat driver is so named because it is compatible with the LFN support in current versions of the Microsoft VFAT driver. The Microsoft driver was originally introduced in Windows for Workgroups 3.11, at which time it was a VxD. When Win95 was released, this VxD was rolled into the master VMM32 VxD under the name "vfat", "Virtual FAT Driver" and LFN support was added. This is a semantic issue but I am old and curmudgeonly, and expected to be colorful.
Reply by Clifford Heath June 3, 20062006-06-03
larwe wrote:
> Semantic gripe: "VFAT" is the name of a Microsoft filesystem driver.
Ok, it's wrong that linux "mount" uses "-t vfat" then.
> ...inexperienced end-users can put the card into a PC
Yes, I thought that was the most sensible way to do it also. Thanks for the confirmation.
Reply by larwe June 3, 20062006-06-03
Clifford Heath wrote:

> > I've implemented turnkey x86-based Linux devices on a 4Mb CompactFlash). > > Did you use VFAT on the CF or a Linux FS? With which bootloader?
Semantic gripe: "VFAT" is the name of a Microsoft filesystem driver. The media format is FAT12, FAT16, or FAT32. I used FAT (12, on such a small card) and SYSLINUX as the loader. A strong side benefit of this approach is that the kernel and rootfs are simply DOS-readable files. This means that inexperienced end-users can put the card into a PC, copy across two new files, and the upgrade is complete.
Reply by Clifford Heath June 3, 20062006-06-03
larwe wrote:
> I've implemented turnkey x86-based Linux devices on a 4Mb CompactFlash).
Did you use VFAT on the CF or a Linux FS? With which bootloader?
Reply by larwe June 2, 20062006-06-02
psommerfeld@gmail.com wrote:

> I have some questions about u-boot for a project I'm working on. The uP > is an ARM9.
In answer to most of your questions, please refer to <http://www-128.ibm.com/developerworks/library/pa-migrate2/> which is an article I wrote last year on related topics. It is irksome to run Linux off a write-protected root filesystem. Possible, yes - with tweaking - but it's much easier just to load the root filesystem into a RAMdisk and run entirely out of RAM. Faster, too. As far as memory footprint goes, are you asking about flash storage requirements or RAM requirements? You can fit a fully functional Linux distribution and applications into 8Mb without difficulty. (The root filesystem can be compressed, remember. I've implemented turnkey x86-based Linux devices on a 4Mb CompactFlash). I would suggest 64Mb RAM, more if you intend to use X. It can be squeezed into less, but again it's irritating.
Reply by Ulf Samuelsson June 2, 20062006-06-02
linnix wrote:
> psommerfeld@gmail.com wrote: >> Hi, >> >> I have some questions about u-boot for a project I'm working on. The >> uP is an ARM9. >> >> I am wondering if it's possible to use u-boot to two things in one >> boot-up: >> - to create a root filesystem on an SD card (I'm not interested in the >> secure digital functionality)
You can use U-boot to store a file system, not to create it. Whether you can use your specific ARM9 or not is depending on if u-boot supports the SD-interface on your chip. If it doesn't then you have to write a driver.
>> - to boot Linux using a Linux kernel image from inside this newly created >> root filesystem
May beed modifications to U-boot, but I know of people that have done such modifications.
>> Another question is how small can a functional rootfs be? I am >> hoping I can get it under 20 MB. > > You can have a bare bone system in 8M or so. But there is not much > you can do other than starting a custom app. >
You can have a complete system with Linux kernel and small file system in 4 MB but you would have very little room for your own application
>> And a final question is: Is it possible to have a read-only >> filesystem? Or do some things (ie. /dev devices) have to be >> read/write? > > No, /dev can be read-only, but /tmp amd /var must be writable.
Yes, in a way, if you use a RAM disk, then the underlying flash image is not writable.
> >> >> Thanks, Pete
-- Best Regards, Ulf Samuelsson ulf@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
Reply by Clifford Heath June 1, 20062006-06-01
linnix wrote:
> No, /dev can be read-only, but /tmp amd /var must be writable.
But can be resident in a mounted ramdisk. I'm about to go down this path also, after painstakingly wiring an IDE cable to a CF socket so I can boot Linux from CF on a PC/104 P133.