From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1RQCPn-0008Te-Dg for garchives@archives.gentoo.org; Tue, 15 Nov 2011 06:22:39 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C4E3721C0A6; Tue, 15 Nov 2011 06:22:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 8932921C027 for ; Tue, 15 Nov 2011 06:21:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id C811C1B4015 for ; Tue, 15 Nov 2011 06:21:27 +0000 (UTC) X-Virus-Scanned: by amavisd-new using ClamAV at gentoo.org X-Spam-Score: -2.533 X-Spam-Level: X-Spam-Status: No, score=-2.533 required=5.5 tests=[AWL=0.067, BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] Received: from smtp.gentoo.org ([127.0.0.1]) by localhost (smtp.gentoo.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aSkb0ooojFNo for ; Tue, 15 Nov 2011 06:21:22 +0000 (UTC) Received: from ironport2-out.pppoe.ca (ironport2-out.teksavvy.com [206.248.154.183]) by smtp.gentoo.org (Postfix) with ESMTP id BA39F1B4005 for ; Tue, 15 Nov 2011 06:21:20 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAHgEwk5MCrZm/2dsb2JhbAA+BqlogQaCIBMcUCImJRAUE6M9oCqDUoMJgkZjBIgRjB6FSogHhEg X-IronPort-AV: E=Sophos;i="4.69,513,1315195200"; d="scan'208";a="148001664" Received: from 76-10-182-102.dsl.teksavvy.com (HELO waltdnes.org) ([76.10.182.102]) by ironport2-out.pppoe.ca with SMTP; 15 Nov 2011 01:21:18 -0500 Received: by waltdnes.org (sSMTP sendmail emulation); Tue, 15 Nov 2011 01:21:15 -0500 From: waltdnes@waltdnes.org Date: Tue, 15 Nov 2011 01:21:15 -0500 To: Gentoo Users List Subject: [gentoo-user] Anybody want to beta test Gentoo with mdev instead of udev? Message-ID: <20111115062115.GA3262@waltdnes.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Archives-Salt: 712ae0e6-7f68-4b88-a80f-5d22ac640eee X-Archives-Hash: 6a5c6a5915c756790d9bffc90e14d2d4 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