Fatdog uses what is called as "humongous initrd" in Puppy Linux term (see here and here).
Basically what it means is that there are only two (2) files needed to boot Fatdog, which is vmlinuz and initrd instead of the usual three (3) (or more): vmlinuz, initrd and base.sfs (puppy.sfs, zdrv.sfs, adrive.sfs etc). The base.sfs file still exists in Fatdog but it is contained within the initrd, thus you can't see it. It also causes initrd's to swell: initrd's size is usually around 3-5 MB but in Fatdog it is about 300 MB because it contains the base.sfs - hence the name "humongous".
Why use humongous inird over Puppy's traditional 3-file setup?
Of course, like anything else, the "faster boot" part depends on your BIOS and your hardware. It is generally faster to use humongous initrd on harddisk frugal install but it isn't always so. Humongous initrd may be slower to boot on other kind of setup / install devices, too (though again, not always). You may have other reasons for preferring the standard 3-file setup:
Fatdog supports converting the humongous initrd back to a small initrd, extracting the base.sfs in the process and reverting to the standard 3-file setup:
If you use last method, please remember to use the basesfs
parameter on your bootloader to tell Fatdog where
to find the basesfs. Usually setting it to basesfs=local
or basesfs=local:/path/to/fd64.sfs will do (or you can
specify the actual device location like basesfs=device:sda7:/path/to/fd64.sfs
- this will be faster since it means Fatdog doesn't have to
search for the basesfs).
Parting words: Will using a small initrd improve boot speed? Perhaps. There is not definite answer. You just need to go a try.
Note: base.sfs is a generic term
for Fatdog's system SFS. The actual filename varies with Fatdog
versions, it is usually called fd64_xxx.sfs
where xxx refers to the version number, e.g. fd64_620.sfs. Starting from Fatdog64 700,
the base sfs is simply named as fd64.sfs;
there is no version number attached anymore.
On Fatdog64 720 onwards, in addition to the standard huge
initrd, Fatdog64 also comes with a small initrd that we dub as nano initrd (the actual filename of this
initrd in the ISO file is initrd-nano), to
save the effort of making a small initrd as explained above.
This small initrd is called "nano" because it is the smallest
variant; it is smaller than what can be produced by the above
manual methods. It is also the least flexible and has least
features and least hardware support: because there is also no
additional drivers in it. You can only use this initrd if you're
certain that (as far as booting is concerned) your hardware is
supported by the kernel without any additional modules.
To work, this nano initrd still needs the huge initrd; in fact,
the only thing it does is to find the location of the huge
initrd and then load it up. However, because the loading is done
by the Linux kernel, this is usually much faster than the
bootloader + BIOS combination. The base sfs loaded by nano
initrd will stay in the memory just like the normal huge initrd.
In order to nano initrd, you need to do two things:
Note: nano initrd is relatively new and is not well
tested and supported. It works, however, some of Fatdog64 tools
(remasters, installers) may not work correctly with it. If you
encounter an unexpected behaviours, please report them in the
forum and we will do what we can to improve the situation.