1 |
On Sun, 11 Mar 2012 07:27:05 -0400 (EDT) |
2 |
Daddy <daddy@×××××××××××××××××××××.com> wrote: |
3 |
|
4 |
> On March 11, 2012 at 5:09 AM Walter Dnes <waltdnes@××××××××.org> |
5 |
> wrote: |
6 |
> |
7 |
> > This revision makes 2 changes... |
8 |
> > |
9 |
> > A) The removal of udev is now standard instead of optional. |
10 |
> > udev-181 and higher will be pulling in kmod, and anything else that |
11 |
> > kmod depends on. Removing udev will avoid unnecessary cruft on |
12 |
> > your machine. |
13 |
> > |
14 |
> > B) Splitting up step 3) into 3a) and 3b) for greater clarity as |
15 |
> > requested in user feedback. |
16 |
> > |
17 |
> > The usual warnings apply... |
18 |
> > * this is a beta |
19 |
> > * use a spare test machine |
20 |
> > * if you don't follow the instructions correctly, the result might |
21 |
> > be an unbootable linux |
22 |
> > * even if you do follow instructions, the result might be an |
23 |
> > unbootable linux |
24 |
> > |
25 |
> > |
26 |
> > 1) Set up your kernel to support and automount a devtmpfs |
27 |
> > filesystem at /dev |
28 |
> > |
29 |
> > * If you prefer to edit .config directly, set |
30 |
> > CONFIG_DEVTMPFS=y and CONFIG_DEVTMPFS_MOUNT=y |
31 |
> > |
32 |
> > * If you prefer "make menuconfig", the route is as shown below. |
33 |
> > Note that the "Autount devtmpfs..." option won't appear until you |
34 |
> > enable "Maintain a devtmpf..." option. |
35 |
> > |
36 |
> > make menuconfig |
37 |
> > Device Drivers ---> |
38 |
> > Generic Driver Options ---> |
39 |
> > [*] Maintain a devtmpfs filesystem to mount at /dev |
40 |
> > [*] Automount devtmpfs at /dev, after the kernel mounted the |
41 |
> rootfs |
42 |
> > |
43 |
> > Once you've made the changes, rebuild the kernel. |
44 |
> > |
45 |
> > |
46 |
> > 2) Set up for emerging busybox. busybox requires the "mdev" flag in |
47 |
> > this situation. The "static" flag is probably also a good idea. In |
48 |
> > file /etc/portage/package.use add the line |
49 |
> > |
50 |
> > sys-apps/busybox static mdev |
51 |
> > |
52 |
> > Now, "emerge busybox" |
53 |
> > |
54 |
> > |
55 |
> > 3 a) Create /sbin/linuxrc containing at least |
56 |
> > |
57 |
> > #!/bin/busybox ash |
58 |
> > mount -t proc proc /proc |
59 |
> > mount -t sysfs sysfs /sys |
60 |
> > exec /sbin/init |
61 |
> > |
62 |
> > This should be enough for most users. If you have an unusual |
63 |
> > setup, you may need additional stuff in there. Remember to |
64 |
> > "chmod 744 /sbin/linuxrc" to make it executable. |
65 |
> > |
66 |
> > In the bootloader "append" line, include "init=/sbin/linuxrc". If |
67 |
> > you're using lilo remember to re-run lilo to implement the |
68 |
> > changes. If you're using another bootloader, make the equivalant |
69 |
> > initialization. |
70 |
> > |
71 |
> > |
72 |
> > 4) Remove udev from the services list, and replace it with mdev. |
73 |
> > Type the following 2 commands at the command line |
74 |
> > rc-update del udev sysinit |
75 |
> > rc-update add mdev sysinit |
76 |
> > |
77 |
> > |
78 |
> > 5) reboot to your new kernel. You're now running without using |
79 |
> > udev. |
80 |
> > |
81 |
> > |
82 |
> > 6) Remove udev as per the following instructions... |
83 |
> > |
84 |
> > * execute the following command at the commandline |
85 |
> > emerge --unmerge sys-fs/udev |
86 |
> > |
87 |
> > * In file /atc/portage/package.mask, append the line |
88 |
> > sys-fs/udev |
89 |
> > Create the file if it doesn't already exist. You now have a |
90 |
> > totally udev-free machine |
91 |
> > |
92 |
> > -- |
93 |
> > Walter Dnes <waltdnes@××××××××.org> |
94 |
> > |
95 |
> |
96 |
> Having personally long considered Lennart Poettering a 'spawn of the |
97 |
> devil' my question is ... is this your reaction to systemd? |
98 |
|
99 |
|
100 |
No, it's his reaction to the fantastical amount of kitchen-sinking |
101 |
going on surrounding udev. Most specifically, it's the recent |
102 |
"requirement" foisted on the udev-using community to require |
103 |
either /usr to be part of / or to use an initramfs. |
104 |
|
105 |
Walter simply wants to show that mdev is a suitable replacement for |
106 |
udev in simple environments eg embedded, simple desktops without |
107 |
complex hotplug requirements, and servers. |
108 |
|
109 |
Canek will no doubt chip in about how this is the way things are going, |
110 |
it is inevitable, the boot sequence is becoming complex and various |
111 |
other rehashings of what's coming out of udev upstream. |
112 |
|
113 |
However, something needs to be pointed out in that regard. What udev |
114 |
upstream is saying is probably quite true, but only within the limits |
115 |
of the environment in which they work and udev is designed to handle - |
116 |
sophisticated desktops. The three cases I mentioned are perfectly valid |
117 |
use-cases, comprise a large percentage of the Linux installed base, |
118 |
should be catered to and have no need of the sophistication current |
119 |
udev aims to provide. |
120 |
|
121 |
As such, mdev is a good fit and we can add Walter to the long list of |
122 |
people before him who selflessly worked to make our software work |
123 |
better. |
124 |
|
125 |
> |
126 |
> One minor typo to point out: |
127 |
> |
128 |
> /atc/portage/package.mask should be /etc/portage/package.mask |
129 |
> |
130 |
> I just joined this list last week, but might consider sacrificing some |
131 |
> hardware to join your endeavor if you need more testers. |
132 |
|
133 |
|
134 |
Welcome to the list, you'll soon get to know all the personalities |
135 |
here. We have at least one of everything - class clowns, old farts, |
136 |
newbies, voices of reason, influential devs and even the occasional |
137 |
fellow who knows what he's talking about. |
138 |
|
139 |
:-) |
140 |
|
141 |
|
142 |
|
143 |
|
144 |
-- |
145 |
Alan McKinnnon |
146 |
alan.mckinnon@×××××.com |