You can download the new version of initrd-archive support @
ftp.psychosis.com /pub/initrd-archive2.diff.gz
It is made against 2.0.33, will patch against it and .32, and probably much lower.
Changes from v1:
rd.c
I boo-boo'ed and left two variables inside an initrd #ifdef. rd code would not compile
if you speced NO initrd support. Fixed...
rd.mkminix.c
Spaced it out pretty. Few more comments. That's it.
rd.untar.c
Did some work arounds for anomilies I ran into making archives with GNU tar.
More definate end of archive check.
Spaced it out all pretty. More comments about limitations, etc.
Moved to simple_strtoul() from my own function.
SEE THE ADDITIONAL REQUIRED PATCH BELOW!
Other files...no changes.
For a HUGH : > description of this feature, search the linux-kernel archives.
Initial post was on the 10th. Please also view the comments at the
begining of the source.
On the list to do:
auto fs ext2 support
do auto fs after invalidating initrd (saves initial required memory)
fix up rd code a bit
This will all be saved for the 2.1 version (no sense beating a dead horse ; >)
I hope to freeze this version and submit it for 2.0.x kernels if their are no bug reports.
(most likey will be rejected, but oh well, gotta try)
from rd.untar.c
/*
* simple_strtoul() does not strip leading spaces (0x20) from the input
* string. The 'real' strtoul does. This patch has been submitted to Linus
* but as of yet it is not in any kernel tree. You must apply this by
* hand if it does not yet exist:
*
* linux-2.0.33/lib/vsprintf.c line 17
* unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base)
* {
* unsigned long result = 0,value;
*
* + while (*cp == ' ') {
* + cp++;
* + }
* if (!base) {
* base = 10;
* if (*cp == '0') {
* base = 8;
*/