* [gentoo-user] Anybody want to beta test Gentoo with mdev instead of udev?
@ 2011-11-15 6:21 99% waltdnes
0 siblings, 0 replies; 1+ results
From: waltdnes @ 2011-11-15 6:21 UTC (permalink / raw
To: Gentoo Users List
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
--
Walter Dnes <waltdnes@waltdnes.org>
^ permalink raw reply [relevance 99%]
Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2011-11-15 6:21 99% [gentoo-user] Anybody want to beta test Gentoo with mdev instead of udev? waltdnes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox