OK guys, I've been communicating with Greg KH and I think I'm ready to tackle getting the early userspace stuff to a more functional level than it stands today (quite a commitment there, eh?). Before I get started, I wanted to list the major points I see that need to be done to make sure I'm not duplicating anyone else's efforts, or reinventing something that's already been done. The way I see it, the following things (in no particular order) need to be accomplished: - integrating the configuration and building of "standard" packages into the kernel build process so they can be part of the initramfs (packages like mdadm, lvm2, util-linux, busybox, etc.) - modifying the existing kernel start-up code to either remove, or just disable, code that is being moved into userspace (partition reading, md startup, etc.) - document the entire process and how it is intended to work If I've missed any major points, please speak up. If there are existing documents out there, beyond the initial initramfs specs and formats (which is all I found googling), that describe the way the new boot process is expected to be done... that would be a good start. Basically, I'm here to do whatever I can. Let me know where you think I should start.
Kevin P. Fleming wrote:> > Before I get started, I wanted to list the major points I see that need > to be done to make sure I'm not duplicating anyone else's efforts, or > reinventing something that's already been done. The way I see it, the > following things (in no particular order) need to be accomplished: > > - integrating the configuration and building of "standard" packages into > the kernel build process so they can be part of the initramfs (packages > like mdadm, lvm2, util-linux, busybox, etc.)I think this is not desirable; a lot of these tools are either too big or requires too much library support. They definitely shouldn't be part of the kernel built.> - modifying the existing kernel start-up code to either remove, or just > disable, code that is being moved into userspace (partition reading, md > startup, etc.)The first part is to actually create (small!) userspace equivalents. Everyone seems to agree that the first thing to go should be ipconfig/nfsroot. We have some code for that already in the klibc tarball (as opposed to Greg's integrated patch), but it needs to be turned into a working binary which can use the ip= and nfsrootparameters passed to existing kernels to configure IP and mount the nfsroot. It needs to be a "drop in" replacement before we can remove it from the kernel. This is definitely the #1 priority. -hpa +