On Nov 15, 2011 1:24 PM, <waltd...@waltdnes.org> 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,

Reply via email to