Correcting a typo pointed out in the earlier post today.

  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


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.

 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.


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


5) reboot to your new kernel.  You're now running without using udev.


6) Remove udev as per the following instructions...

* execute the following command at the commandline
emerge --unmerge sys-fs/udev

* In file /etc/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

-- 
Walter Dnes <waltd...@waltdnes.org>

Reply via email to