PDA

View Full Version : Knoppix - How it works? (Hardware Detection)



victorhooi
11-13-2005, 09:53 AM
heya,

Lots of spare time in the up-coming Christmas holidays, so I thought I'd try my hand at making my own Linux LiveCD from scratch for fun (*not* a Knoppix remaster). Disclaimer: I'm defeinitely not a linux guru, so any help/pointers at all, no matter how basic seeming would be greatly appreciated =).

Firstly, are there any good guides to Knoppix internals, and how it works? Perhaps something similar to the "How Puppy works" guide (link (http://www.goosee.com/puppy/development/howpuppyworks.html)).

Hardware Detection: I know that Knoppix uses RH's Kudzu for this, with it's own hwconfig stuff (sources (http://debian-knoppix.alioth.debian.org/sources/)), but could somebody explain exactly how it's done? Would it be difficult for me to port this to my own liveCD efforts? (Which might be based on a Slack/Gentoo system, not debian - is that a problem?)

USB Memory Sticks: I also noticed that If I insert a usb memory stick after it's booted, Knoppix will automatically detect it, add an fstab entry, mount it, and add a icon to the KDE Desktop. How exactly does it do all of this? What scripts/programs handle this? I looked at the output of dmesg, and the kernel seems to have detected it, but I have no idea how this is done (hotplug?). And what edits the fstab file, and adds the .Desktop icons?

(As a sidenote, when I insert the usb-stick, it's automatically mounted ro, and I have to manually remount it rw as root. Is there a way to have it mount rw automatically).

Window Managers: How does Knoppix handle the starting of different WMs? (i.e., via user boot options such as "knoppix icewm", or "knoppix gnome").

UnionFS: How does Knoppix do this? Which scripts/files should I be specifically looking at?

Ordering Optimisation: Finally, Klaus mentioned something before about how he optimised Knoppix by sorting and ordering files on the CD in a certain way to speed it up - anybody have further information about this?

Thanks,
Victor