On Sun, Mar 11, 2012 at 05:09:12AM -0400, Walter Dnes wrote: > This revision makes 2 changes...
> A) The removal of udev is now standard instead of optional. udev-181 > and higher will be pulling in kmod, and anything else that kmod depends > on. Removing udev will avoid unnecessary cruft on your machine. > B) Splitting up step 3) into 3a) and 3b) for greater clarity as > requested in user feedback. > The usual warnings apply... > * this is a beta > * use a spare test machine > * if you don't follow the instructions correctly, the result might be > an unbootable linux > * even if you do follow instructions, the result might be an unbootable > linux Yep, I got the (effectively) unbootable machine: My LVM partitions didn't get mounted. My precaution against it was: (i) Copy my entire (working) root partition to a new partition. (ii) Edit the first line of the new /etc/fstab. (iii) Add a new entry to /etc/lilo.conf. It's handy having a small root partition. :-) > 1) Set up your kernel to support and automount a devtmpfs filesystem at > /dev > * If you prefer to edit .config directly, set > CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y > * If you prefer "make menuconfig", the route is as shown below. Note > that the "Autount devtmpfs..." option won't appear until you enable > "Maintain a devtmpf..." option. > make menuconfig > Device Drivers ---> > Generic Driver Options ---> > [*] Maintain a devtmpfs filesystem to mount at /dev > [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs > Once you've made the changes, rebuild the kernel. > 2) Set up for emerging busybox. busybox requires the "mdev" flag in > this situation. The "static" flag is probably also a good idea. In > file /etc/portage/package.use add the line > sys-apps/busybox static mdev > Now, "emerge busybox" > 3 a) Create /sbin/linuxrc containing at least > #!/bin/busybox ash > mount -t proc proc /proc > mount -t sysfs sysfs /sys > exec /sbin/init > This should be enough for most users. If you have an unusual setup, > you may need additional stuff in there. Remember to > "chmod 744 /sbin/linuxrc" to make it executable. I may have an unusual setup, but I don't think so. I've got my root partition as ext2 on /dev/sda5, and everything else under LVM. Otherwise, pretty standard. > In the bootloader "append" line, include "init=/sbin/linuxrc". If > you're using lilo remember to re-run lilo to implement the changes. If > you're using another bootloader, make the equivalant initialization. How do I know whether my /sbin/linuxrc actually ran? Maybe, I mean how can I be sure my "append = "init=/sbin/linuxrc"" actually worked? > 4) Remove udev from the services list, and replace it with mdev. Type > the following 2 commands at the command line > rc-update del udev sysinit > rc-update add mdev sysinit Done > 5) reboot to your new kernel. You're now running without using udev. Here's where I got problems. None of my LVM partitions got mounted. Here're a few lines of my bootup messages, just before the problem: * Setting up mdev as hotplug agent ... * Populating /dev with existing devices with mdev -s ... * Mounting /dev/pts ... * Mounting /dev/shm ... Enter runlevel: 3 * Setting up system clock using the hardware clock [UTC] * Setting up the Logical Volume Manager * Checking local filesystems /dev/sda5: clean, 6052/655360 files, 180423/2621440 blocks fsck.ext3: No such file or directory while trying to open /dev/vg/usr ..... <and so on, for all my other partitions> > 6) Remove udev as per the following instructions... > * execute the following command at the commandline > emerge --unmerge sys-fs/udev > * In file /atc/portage/package.mask, append the line > sys-fs/udev > Create the file if it doesn't already exist. You now have a totally > udev-free machine Help would be appreciated. > -- > Walter Dnes <waltd...@waltdnes.org> -- Alan Mackenzie (Nuremberg, Germany).