On Nov 15, 2011 1:24 PM, wrote: > > After a recent thread, about udev developers wanting /usr on the same > partition as / (or else requiring initramfs), it was pretty obvious > that 90%+ of the users here strongly disliked the idea. I went around > asking on various lists if it was possible to run Gentoo without udev. > After some research, and various unrelated delays, I've come up with a > working Gentoo without udev. It turns out that busybox's mdev > implementation is sufficient for my needs. I do the usual email, web > surfing, including Youtube. I'm listening to Live365.com as I type this > email, so Flash works just fine. Contrary to the FUD I've heard, X > works just fine, thank you, without an xorg.conf. Modern flatscreens > with EDID info are set up automatically. I suppose that old CRT > monitors without EDID info might require xorg.conf, but that's "exotic > hardware" nowadays. The only change I notice is somewhat faster bootup. > > The purpose of this email is to ask adventurous people here to beta > test my approach to a udev-less Gentoo. If we don't find any > showstopper problems, we can think about requesting Gentoo developers to > support an mdev-based profile. It would help the cause if a large > number of testers can report that it works for them. The instructions > for a udev-ectomy follow below. Thanks to Zac Medico and others on the > Gentoo developers' list for their helpful hints and pointers on how to > do this. I couldn't have figured this out by myself. > > 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, there are 2 items to change > > A) It appears that there may be an mdev bug in older versions of > busybox. To avoid that bug, keyword busybox-1.19.2 in > /etc/portage/package.keywords E.g. if you're using 32-bit Gentoo on > Intel, the incantation is... > > =sys-apps/busybox-1.19.2 ~x86 > > Change the "~x86" to reflect your architecture, etc. > > B) 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) In the bootloader append line, include "init=/sbin/linuxrc" where > the file /sbin/linuxrc consists of *AT LEAST*... > > #!/sbin/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. If you're using lilo remember > to re-run lilo to implement the changes. > > 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) ***THIS STEP IS OPTIONAL*** This is only to alay any suspicion that > udev is still in use. udev is pulled in by virtual/dev-manager, > which in turn is pulled in by the kernel. > * cd /usr/portage/virtual/dev-manager > * Make a backup copy of dev-manager-0.ebuild > * Edit dev-manager-0.ebuild to include "sys-apps/busybox" as one option > in RDEPEND, like so... > > RDEPEND="|| ( sys-fs/udev > sys-fs/devfsd > sys-apps/busybox > sys-fs/static-dev > sys-freebsd/freebsd-sbin )" > > I had really wanted to use "sys-apps/busybox[mdev]", but an EAPI-0 > ebuild can't handle that syntax. > > * execute the following 3 commands at the commandline > ebuild dev-manager-0.ebuild digest > emerge -1 dev-manager > 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 > Sounds nice! However, my Gentoo systems are all virtual servers (DomU VMs on XenServer). So, the hardware devices are static. Will switching over to mdev give any benefits? I even am toying around with the idea of having a completely static /dev, but still can't find any guide/pointers yet. (Apologies if my email is OOT) Rgds,