New Feature? Configuration for ramdisks/hdd...
Dean Brown
[email protected]
Fri, 19 Jan 2001 08:58:51 -0800
Ralph Stickley wrote:
>
> Adi,
> We are in the process of switching to the new-improved-latest version
> of PeeWee linux. One problem occured which I may have a solution for
> (or you may have a better solution) is trying to build our own unique
> filesystem - one that doesn't match the one built by pwl_target*
> scripts...
>
> If you recall, our system contains the following partitions:
> 1. boot/root partition (ro)
> 2. user partition (rw)
> 3. Ramdisk for /etc
> 4. Ramdisk for /dev
>
> So, using the new target hardware we select the "read only root"
> with multiple ramdisks..
>
> However, the pwl_target* scripts force us to use the /home directory
> as a ramdisk, mirrored from another partition. While this may be a
> good choice, it seems that the configuration tool should not dictate
> the file system (since everything else is configurable).
>
> Anyhow, I have have been hacking on pwl_target* scripts (without GUI
> support yet) for the following:
> ...in some init function for now (will be default parameters)...
> hd_mnt_0=/
> hd_mnt_1=
> ...
> hd_mnt_7=
> rd_mnt_0=
> rd_mnt_1=/dev
> rd_mnt_2=/etc
> rd_mnt_3=/tmp
> ...
> rd_mnt_7=
>
> So, with these variables, I can specify which directories are
> compressed into ramdisk image files and load them at boot time.
> Also, these variables allowed me to remove all of pre-defined
> directories (/etc, /dev, ...) from the pwl_target* scripts. Only the
> initrd directories are built as required to make it boot.
>
> Also, by specifying the partitions, we should be able to boot this
> from a small partition on the development drive...have to work out
> the lilo thing, but this looks like it would work...
>
> Now, using these variables, the scripts build the following:
> ramdisk.1 (compressed image of the $rd_mnt_1 variable)
> ramdisk.2 ( "" 2 "" )
> ramdisk.3 ( "" 3 "" )
> linuxrc (loads ramdisks ramdisk.1 ramdisk.2 ramdisk.3)
> initrd (as configured by linuxrc)
> fstab (filesystem table matches ramdisks as configured)
> rc.init (builds mtab to match the configuration)
> lilo.conf (no change)
>
> So far so good. The files seem to look like the previous files but
> match the configuration for the ramdisks. I copied nearly all of
> your code or the at least the spirit of your code - of course,
> instead of the single 300+ line function, I have lots of little
> functions (sorry, old habits die hard :)
>
> Still to do:
> 1. make this system boot
> -- have to build the ld.so.cache thing too
> 2. verify the size thing
> 3. add support for configured hard drive partitions
> 4. add the parameter setups
> 5. rework the other target devices that require ramdisks
>
> And some questions:
> Is there some reason that /var is linked under /dev ?
>
> Does the initrd use the same fstab (why is fstab built twice in the
> build_ro_root function ?)
>
> Is the /home directory mirrored from a partition a common/desirable
> thing to do ?
> -- I'd need to define someway to specify that ramdisk=/home is not
> compressed by pwlconfig but copied at boot time from some other
> configured partition
I've modified the scripts to remove the /home partition and just leave
it in with the root fs. In my case I want the /home directory structure
to be read only in order to eliminate any possibility of the application
getting trashed. For permanent writable store, I create custom symbolic
links that point to the last partition that I mount as read write. What
you have described looks like it goes a long ways towards being able to
implement what I need in a generic fashion.
> Your thoughts ? Is this interesting or just something we need ?
> I'll try to get a system to boot today and send you a copy - or
> anyone else who is very brave, let me know...(of course, I'm out to
> BIOS world next week, so we can just let the code fester for a while
> :)
--
Dean Brown
---------------------------------------------------
See the list archives at http://adis.on.ca/archives/
See the PWL homepage at http://peeweelinux.com
---------------------------------------------------