PDA

View Full Version : knoppix_dir and module_dirs



78be6b9f
08-06-2006, 07:42 PM
i've been trying to merge two different knoppix versions, namely 402 and 501, on a single multi-boot dvd. i've rebased root directories on the dvd for each distribution to a separate unique one and tried booting with an apropriate 'knoppix_dir' parameter at the isolinux prompt. 402 boots sucessfully, but 501 fails. i've tracked down the problem to "cloop.ko" module loading section in the linuxrc startup script. when enumerating devices in search of the cdrom media the 'FOUND_KNOPPIX' variable gets properly set pointing to '/dev/hdc' but then is reset upon failure to load 'cloop.ko'. the 'module_dirs' variable is not 'knoppix_dir' dependant and since the cloop module for 501 has been moved out of the initrd filesystem it fails to find the module file. was it in any way intentional or is more of a bug ?

tr
08-14-2006, 03:44 PM
You can use different kernels but you must have kernel specific cloop.ko and unionfs.ko files, too. You can do it in a very simple way.

Just make so many modules directories with different names under /KNOPPIX, e.g. /KNOPPIX/modules_402 and /KNOPPIX/modules_501. Then place corresponding modules under those directories.

Then you must tell to the kernel where these modules can be found. You must modify linuxrc file. This is what you have in Knoppix 5.0.1:

MODULE_DIRS="/cdrom/KNOPPIX/modules /cdrom2/KNOPPIX/modules /modules /modules/scsi"

Change the directory to the same name where your modules dwell, e.g.:

MODULE_DIRS="/cdrom/KNOPPIX/modules_402 /cdrom2/KNOPPIX/modules_402 /modules /modules/scsi"


Was this what you were asking? But if you really want to have two different /KNOPPIX images (e.g. /KNOPPIX1 and /KNOPPIX2) to hold different Knoppix versions, I don't know if this is enough. I have always used one compressed /KNOPPIX image and have never tried your idea. And believe it or not, my image is about 3 Gt (no 2 gig limit existing any more with new Debian programs).

-tapsa-

78be6b9f
08-18-2006, 11:39 PM
that is absolutely true. but the problem is not the very solution but the reason for it.

for the 402 version the modules, including the essential cloop.ko, were contained in the initial ramdisk filesystem, in "/modules" directory, and NOT in the cd directory tree on the iso9660 filesystem. it was enough to pass the "knoppix_dir=/KNOPPIX1" parameter to kernel at startup to make the distribution boot properly from a different directory. there was no need to modify the "linuxrc" script, because it parses the kernel command line on its own, it reads the "knoppix_dir" parameter and adjust its internal variables accordingly. the default "module_dirs", just as you've quoted it, contains the "/modules" search path, so it loads the files contained in the initial ramdisk.

but for the 501 version, the boot-critical modules have been moved out of the initial ramdisk and placed directly on the cd filesystem. the "module_dirs" is not "knoppix_dir"-aware, the path is hardwired to "KNOPPIX". so this version fails to boot from a different directory. if one would set "module_dirs" to
MODULE_DIRS="/cdrom/$knoppix_dir/modules /cdrom2/$knoppix_dir/modules /modules /modules/scsi"
instead, it would work as well.