View previous topic :: View next topic |
Author |
Message |
rmh3093 Advocate
Joined: 06 Aug 2003 Posts: 2138 Location: Albany, NY
|
Posted: Wed Oct 25, 2006 12:52 am Post subject: |
|
|
vibrokatana wrote: |
Once I get the overall philosophy of the configuration files down, I may devote some time to making a transition tool that would *hopefully* beable to take a sysinit system and dump it into einit and have it work(we can dream cant we ) |
that really isnt necessary, the basics to make gentoo boot are the same to make any other distro boot, and einit works out of the box for the most part, all you have to do it fix your fstab settings and pick a display manager and you will be in a desktop environment, tweak 1 or 2 more lines and your network interface is up, everythying else beyond that is simple _________________ Do not meddle in the affairs of wizards, for they are subtle and quick to anger. |
|
Back to top |
|
|
vibrokatana Guru
Joined: 09 Feb 2006 Posts: 328 Location: o0o0oo
|
Posted: Wed Oct 25, 2006 2:41 am Post subject: |
|
|
Yes but you have to configure it all, it would be interesting to make a script that parsed all that info from the existing configurations and dumped it into the xml file _________________ My Systems - "I suggest the whole thing be coded in whitespace. Henceforth the code will be obscure and functional at the same time." |
|
Back to top |
|
|
micr0c0sm Tux's lil' helper
Joined: 29 Oct 2005 Posts: 148 Location: New York
|
Posted: Wed Oct 25, 2006 2:55 am Post subject: |
|
|
That tool would be extremely useful and appreciated. |
|
Back to top |
|
|
mdeininger Veteran
Joined: 15 Jun 2005 Posts: 1740 Location: Emerald Isles, observing Dublin's docklands
|
Posted: Wed Oct 25, 2006 6:01 am Post subject: |
|
|
vibrokatana wrote: | I dont like the overall philosophy of ditching fstab though, it is still used internally once booted, so giving it the cold shoulder doesnt seem right. |
well, i did that because the overall design of the current fstab is rather limited, if you use the internal type, you can also combine the mounting with scripting which can be rather handy, but if you really want to use your regular fstab, you can. the nice thing about the current setup is that you can have more than one source for fstab entries, and there is a parser for the legacy fstab. right now you'd need to set "configuration-storage-fstab-source" to "configuration:legacy" and then you'd need to remove the nodes for / and /boot from the .xml files (else you'll have these defined twice, once from /etc/fstab, once from your .xml configuration, so things would go messy).
vibrokatana wrote: | Yes but you have to configure it all, it would be interesting to make a script that parsed all that info from the existing configurations and dumped it into the xml file |
in theory, that could work, but then someone would have to write a script for every distribution and the script would have to be different for different releases of the distributions. the script is probably trivial to create for gentoo, but with some other distributions things could go pretty weird .
of course, if you make one, i'd be more than happy to include it
rmh3093 wrote: | a good I was hoping you were going to rename the files |
weeell, the original naming was based on a different design, but i ran into a chicken-and-egg problem with that, so i kind of liked the things you proposed and changed the names a little to keep in line with what i had in mind .
rmh3093 wrote: | mdeininger wrote: | * when specifying variables (or when binary modules request them), the nesting is denoted by a dash character, and there's some sort of auto-collation that you can use. (see below for an example) |
now thats nice |
i really hope it isn't all too complicated, sometimes my brain produces weird things i thought it'd come in handy though _________________ "Confident, lazy, cocky, dead." -- Felix Jongleur, Otherland
( Twitter | Blog | GitHub ) |
|
Back to top |
|
|
vibrokatana Guru
Joined: 09 Feb 2006 Posts: 328 Location: o0o0oo
|
Posted: Wed Oct 25, 2006 6:41 am Post subject: |
|
|
I was thinking for the script to more or less automatically transition gentoo/sysinit to einit. Of course different distros use different init systems so it wouldnt work that great to have to make one for each distro.
proposed idea:
Parse rc-update and try to match up init scripts (ie mythtv - mythtv in einit)
List missing stuff (blacklist junk not needed)
Fetch modules needed (probably parse via find where modules are located, ill work this out)
add modules loaded automatically, give option to add the others
Parse fstab and grab configuration - ignore # and grab existing options - this will be thouroughly tested
This would then dump a file into the einit directory, but not override the existing files.
I will start on it this weekend. But nothing untill I get this dumb paper written lol
Feel free to add comments or give ideas, yes I know it is a sorta crappy system right now. _________________ My Systems - "I suggest the whole thing be coded in whitespace. Henceforth the code will be obscure and functional at the same time." |
|
Back to top |
|
|
mdeininger Veteran
Joined: 15 Jun 2005 Posts: 1740 Location: Emerald Isles, observing Dublin's docklands
|
Posted: Wed Oct 25, 2006 1:27 pm Post subject: |
|
|
nice idea for a script, actually, but if you wanted to do that, there would be yet another possibility.
just last week i "virtualised" the configuration process, the function that reads the configuration is now invoked by an event, so it would be possible to write a (binary) module that listens for this event and that then parses the gentoo init-configuration files and converts the entries it finds to the proper einit equivalents...
that would have the advantage of being completely transparent while probably being easier to handle -- what say thee to that? _________________ "Confident, lazy, cocky, dead." -- Felix Jongleur, Otherland
( Twitter | Blog | GitHub ) |
|
Back to top |
|
|
vibrokatana Guru
Joined: 09 Feb 2006 Posts: 328 Location: o0o0oo
|
Posted: Wed Oct 25, 2006 3:03 pm Post subject: |
|
|
Im not to fresh on the higher languages
From what I sound that would be grabbing on each boot , probably not the most efficient. _________________ My Systems - "I suggest the whole thing be coded in whitespace. Henceforth the code will be obscure and functional at the same time." |
|
Back to top |
|
|
zAfi Apprentice
Joined: 08 Aug 2006 Posts: 220 Location: Austria
|
Posted: Wed Oct 25, 2006 3:34 pm Post subject: |
|
|
mdeininger wrote: | just last week i "virtualised" the configuration process, the function that reads the configuration is now invoked by an event, so it would be possible to write a (binary) module that listens for this event and that then parses the gentoo init-configuration files and converts the entries it finds to the proper einit equivalents... |
You don't mean Code: | --check-configuration | do you??
my 2 -cents: I think that'd be great, because that would safe the project a lot of time and instantly make it accessible to a wider range of possibilities. And it could go through hard beta-testing more sooner than later.... _________________ Gentoo 2008.0/desktop | Kernel: 2.6.27-tuxonice | Arch: amd64 | KDE 3.5.9 | WU Wien |
----------
Share your kernel information @ http://klive.cpushare.com/ |
|
Back to top |
|
|
Lloeki Guru
Joined: 14 Jun 2006 Posts: 437 Location: France
|
Posted: Wed Oct 25, 2006 3:45 pm Post subject: |
|
|
I just tried einit...
some feedback, in chronological order:
1. emerging cvs version was painless, but finding the overlay was sheer luck (found via the docs)
2. great, detailed documentation. init-ng just plain lacks that. generally speaking having proper documentation is really never emphatised enough as a project key point. you did it just right, keep it up to date and you are all-good.
3. stupid me, I start einit --help from the command line, as root. well, I just reboot and try it out, but I just plain forgot to edit local.xml. duh.
4. back to local.xml. the thing is just plain human readable and straightforward. ok, I read xml a lot these days, but hey, there's good xml and bad xml, and that one's damn good.
5. edited mount points, trying to boot. failure. heh. root (/dev/sda1) fails to mount. booting with init=/bin/sh reveals that sd* nodes aren't on the filesystem. creating them manually with mknod, reboot, and everything mounts correctly. this means udev's /dev is not mounted early enough, thus /dev/sda1 node is not available. with udev, we should be able to boot with just two fs-created nodes (I think it's /dev/zero and /dev/console but i can't remember exactly), just as sysvinit is able to.
6. surprisingly, I am greeted by gdm I tried out of the blue to set xdm to daemon-gdm... great!
7. back to vt1, I notice some failures/warnings:
- WA01 'No Such File' for mount (critical) and mount (local). I just don't freaking know where they come from.
- alsa fails. didn't investigate much, but maybe it's because I use in-kernel alsa and thus modules fail to be found.
- lm-sensors fail, and I didn't ask for it to start.
- ntpd fails to sync time, didn't ask for it either.
- eth0 fails, but I didn't load the module. adding it to networking makes it work.
8. now I decide going out of 'stock config' and add/remove some services. added gpm, acpi, hald, dbus. having acpi makes system reboot! so removed. weird. anyway, hald and dbus start ok, but gpm just says 'disabled'. mount (local) just says the same thing as before, but mount (critical) says WA01 /dev/pts. well, not exactly clear. I suggest having some verbose mode, where each service would receive two lines instead of one, the second being used for more verbose status/error messages.
I'll continue to crawl around config files and documentations, but if anyone has some tips to share regarding the above issues...
last question: is there a way to control services once booted? maybe einit-control, but there's no man page nor --help... back to the docs for now
I beg you not to hurry yourself in adding more features (like compatibility), please stabilize the thing first. simpler is always better, and that's just the way it is now. Plus the config is really easy with the current config scheme, services can be ported in a snap. I really don't want this project to become some arachnean thing like initng.
back soon for more feedback. _________________ Moved to using Arch Linux
Life is meant to be lived, not given up...
HOLY COW I'M TOTALLY GOING SO FAST OH F*** |
|
Back to top |
|
|
zAfi Apprentice
Joined: 08 Aug 2006 Posts: 220 Location: Austria
|
Posted: Wed Oct 25, 2006 4:46 pm Post subject: |
|
|
zAfi wrote: | @jamax: if you want to use your usb mouse do the following:
add uhci_hcd and usbhid to kernel_modules_arbitrary in rc.xml. Then you have to ensure that you have _kern-arbitrary_ in the default runlevel (just enter it after xdm or wherever). It should look like this Code: | <mode id="default" base="boot">
<enable mod="audio:portmap:swap:mount/remote:tts:kern-arbitrary:clock" /> |
that did if for me. I have to admit that I had my modules defined in the arbitrary part, but I have forgotten to add _kern-arbitrary_ to the runlevel...^^ |
this should help you with the alsa problem as well. ^^ well, you just have to ensure the second part, that the kern-arbitrary part is set in enable mod (of course you must ensure that the proper modules are listed there!)! That did it for me!! I get that WA01 warning as well, sometimes its here, sometimes its okay...^^ _________________ Gentoo 2008.0/desktop | Kernel: 2.6.27-tuxonice | Arch: amd64 | KDE 3.5.9 | WU Wien |
----------
Share your kernel information @ http://klive.cpushare.com/ |
|
Back to top |
|
|
smlgbl Guru
Joined: 10 Feb 2005 Posts: 305
|
Posted: Wed Oct 25, 2006 5:37 pm Post subject: |
|
|
Hm, i updated, but now i don't know which files it is still using. Also, i tried putting, well i'll show you:
Code: | <mod-shell id="shell-kern-audio"
name="Kernel Modules (Audigy)"
provides="kern-sound"
requires="mount/system"
enable="for x in ${kernel_modules_sound};
do echo $x; modprobe $x;
done; /bin/true"
disable="/bin/true"
variables="kernel_modules_sound" />
<mod-shell id="shell-kern-arbitrary"
name="Kernel Modules (arbitrary)"
provides="kern-arbitrary"
requires="mount/system"
enable="
for x in ${kernel_modules_arbitrary};
do echo $x; modprobe $x;
done; /bin/true"
disable="
for x in ${kernel_modules_arbitrary};
do /bin/true;
# rmmod $x;
done; /bin/true"
variables="kernel_modules_arbitrary" /> |
Before the update, i used the second one, now i would like to use the first one.
Therefore, i put this in local.xml:
Code: | <kernel>
<modules>
<usb s="" />
<bluetooth s="" />
<hid s="" />
<sensors s="" />
<arbitrary s="" />
<sound s="snd-emu10k1 snd-emu10k1-synth" />
<ath0 s="ath_pci" />
</modules>
</kernel> |
But it doesn't load the modules. Where is my mistake? Do I have to call the variables with "configuration_kernel_modules_sound"? But the wireless works, even though i didn't change anything there.
EDIT: Well, I should have taken a closer look at einit.xml first. All the stuff is there now. Are the shell and daemon-modules also to be put there now, or should i put that in local.xml? What was your intent? _________________ samuel.
'Do not let one girding on boast about himself like one unfastening' |
|
Back to top |
|
|
Lloeki Guru
Joined: 14 Jun 2006 Posts: 437 Location: France
|
Posted: Wed Oct 25, 2006 6:06 pm Post subject: |
|
|
well, I cleared most of my issues.
haader, I added/modified daemons but I did not touch einit.xml, only local.xml. It's good to be able to override things (see my 'boot' mode), it reminds me of java inheritance overrides/overloads You can do the same for daemons, I originally did it for fixing gpm, but it went 'disabled' anyway, so I created a gpm shell inspired by dhcpcd behavior.
Code: |
<?xml version="1.0" encoding="UTF-8" ?>
<einit>
<!-- you will need to modify this file -->
<configuration>
<system>
<swap device="/dev/sda3" affinity="0" />
</system>
<network>
<hostname s="midgard" />
<domainname s="" />
<wireless>
<ssid s="default" />
</wireless>
</network>
<peripherals>
<keyboard layout="fr-pc" />
</peripherals>
<kernel>
<modules>
<!-- <usb s="" />
<bluetooth s="" />
<hid s="" />
<sensors s="" />
<dvb s="" /> -->
<ethernet s="b44" />
<arbitrary s="snd_hda_intel" />
</modules>
<module>
<wlan0 s="ipw3945" />
</module>
</kernel>
<storage>
<!-- fstab -->
<fstab>
<node mountpoint="/" device="/dev/sda1" fs="ext3" options="noatime" /> <!-- before-mount="sleep 2" -->
<node mountpoint="/home" device="/dev/sda2" fs="ext3" options="noatime" />
<!-- <node mountpoint="/tmp" fs="tmpfs" /> -->
</fstab>
</storage>
</configuration>
<services>
<prefer>
<xdm s="daemon-gdm" />
<syslog s="daemon-syslog-ng" />
<clock s="shell-clock-hwclock" />
</prefer>
<virtual>
<module>
<shell id="shell-gpm"
name="GPM"
provides="gpms"
requires="tty:mount/critical"
enable="gpm -m /dev/input/mice -t imps2"
disable="killall gpm" />
<shell id="shell-net-wlan0"
name="Network (Wireless, Intel)"
requires="hal:dbus:mount/critical"
provides="net-wlan0"
enable="rm -f /var/run/dhcpcd-wlan0.pid ;
/sbin/modprobe ${configuration_kernel_module_wlan0} ;
/sbin/ipw3945d ;
/sbin/wpa_supplicant -Dwext -c/etc/wpa_supplicant/wpa_supplicant.conf -w -B -iwlan0;
/bin/wpa_cli -iwlan0 -B ;
dhcpcd wlan0"
disable="/sbin/ipw3945d --kill ; ${configuration_command_rmmod} ${configuration_kernel_module_wlan0}"
variables="configuration-kernel-module-wlan0:configuration-command-rmmod" />
</module>
</virtual>
<alias>
<!-- module groups -->
<network group="net-lo:net-eth0" seq="most" />
<video group="kern-nvidia" seq="any-iop" />
<audio group="alsa" seq="any-iop" />
</alias>
</services>
<mode id="boot">
<enable mod="sysconf:mount/local:hostname:tty:keyboard:ipc:syslog:dbus:hal:kern-arbitrary:net-lo" />
<ttys s="tty1-regular" />
</mode>
<mode id="default" base="boot">
<enable mod="audio:clock:swap:gpms" />
<ttys s="tty2-regular:tty3-regular:tty4-regular:tty5-regular:tty6-regular" />
</mode>
</einit>
|
now remains:
- WA01 thing
- acpid issues
- sometimes ctrl+alt+del doesn't work, but 'reboot' does
- use ifplugd for eth0 (never used netplug)
- modify (override) alsa module loading to take a module list
- fix ipw3945 daemon (it does not work while exact same steps in console work)
- broadcast message on shutdown (like sysvinit), or at least some kind of feedback
- coldplug? _________________ Moved to using Arch Linux
Life is meant to be lived, not given up...
HOLY COW I'M TOTALLY GOING SO FAST OH F*** |
|
Back to top |
|
|
rmh3093 Advocate
Joined: 06 Aug 2003 Posts: 2138 Location: Albany, NY
|
Posted: Wed Oct 25, 2006 6:21 pm Post subject: |
|
|
vibrokatana wrote: | I dont like the overall philosophy of ditching fstab though, it is still used internally once booted, so giving it the cold shoulder doesnt seem right. |
hal/dbus/pmount make fstab useless outside of booting the system initially _________________ Do not meddle in the affairs of wizards, for they are subtle and quick to anger. |
|
Back to top |
|
|
Janax Apprentice
Joined: 17 Aug 2004 Posts: 162 Location: Iowa
|
Posted: Wed Oct 25, 2006 7:13 pm Post subject: |
|
|
OK - I've been working on getting the new system up and running, and I really like the new setup (einit.xml and local.xml). The fixing of the zombie bug is also very welcome!
However, a few more questions:
1. Are the files re-read after initially being parsed? In other words, does einit keep the parsed einit.xml and local.xml files in memory or does it automatically see newer timestamps on those files to be re-read? Or should I send it a HUP or something?
Here's my actual problem... I'm trying to set up different modes to switch to, as I couldn't get individual modules to start and stop using 'erc'. For example, I added a 'ntpd' and 'smartd' to my local.xml file. Then I try to start them up using
Code: |
# erc ntpd enable
request processed
|
When I switch to tty11 and 12 to see what actually happened, I see error messages that 'ntpd' is not defined. Similarly, when I try to use the 'mode-switch' command to force einit to use a temporary mode I've created in local.xml - basically to start the same daemon - I get a message saying that the mode is undefined.
After rebooting, I was able to try and switch the mode using the einit-control command, but instead of saying "temp" on the top status line on tty1, I was getting a null string there (""). I know that you said this feature may not fully be implemented, so I was just pointing this out as another possible (related?) issue here.
2. I think I understand your answer about how to switch between wired and wireless networking depending on my location, but is there a way you could see that I could do this without having to manually start one or the other up? Right now my solution is to simply not start ANY networking other than lo0 and manually start the one I'd want to use - whereas in the legacy system I simply create a separate grub entry with the addition 'runlevel=wireless' that will automatically start my custom 'wireless' runlevel instead of 'default'. If you did something similar with einit, such as being able to pass into the system which mode I wanted to run, then I could use the same approach. The whole thing should be painless to manage as well - simply another mode (sub-)tree in the local.xml file.
I wouldn't care about this point so much, but last night when I was trying to get my ndiswrapper module to work I had to wait several minutes for dhcpcd to time out while trying to bring up 'net-eth0' as part of the 'default' mode. Then I was running into some unknown issue where the machine would lock up a couple of minutes after logging in. While working this morning with the upgraded system I didn't run into this because I planned around it, but I think this would be a nice feature.
3. I noticed that after resetting the machine via 'einit-control power reset' while testing this morning that I was getting some reiserfs messages about log transactions being replayed. I think that reiserfs isn't flushing its cache fast enough after einit does the equivalent of 'init 6'. Is there something you can suggest or fix that would prevent this from happening?
Thanks again for your great work on this! _________________ Americans for Fair Taxation because the current tax system is not only burdensome but corrupt as well! |
|
Back to top |
|
|
smlgbl Guru
Joined: 10 Feb 2005 Posts: 305
|
Posted: Wed Oct 25, 2006 7:35 pm Post subject: |
|
|
Just wanted to tell everybody, that everything is running fine again. Except for ntpdate, but i think i have the fix for that already. As before, my current setup is to be found under here.
I put most things into einit.xml. Maybe I'll change that some time in the future.
Just wanted to know: What is the number in front of "new mode: default now in effect" for? Mine just now says -7178. ????? _________________ samuel.
'Do not let one girding on boast about himself like one unfastening' |
|
Back to top |
|
|
mdeininger Veteran
Joined: 15 Jun 2005 Posts: 1740 Location: Emerald Isles, observing Dublin's docklands
|
Posted: Wed Oct 25, 2006 7:55 pm Post subject: |
|
|
vibrokatana wrote: | Im not to fresh on the higher languages
From what I sound that would be grabbing on each boot , probably not the most efficient. |
probably not, but it'd be compiled and all, so it shouldn't be much slower than parsing the xml-files.
we could also create that as an "optional" reader, maybe? like... "if file sysvsettings.xml doesn't exist, create it using proper parser, else, make the regular parser read it."
zAfi wrote: | You don't mean Code: | --check-configuration | do you??
my 2 -cents: I think that'd be great, because that would safe the project a lot of time and instantly make it accessible to a wider range of possibilities. And it could go through hard beta-testing more sooner than later.... |
no, not that code. the --check-configuration bit is just an extra exported function in the modules that get called instead of the scheduler.
the configuration thing is an actual in-core event, like module status updates or ipc requests. any module can emit one, and any module can provide functions to listen for these events and interpret them (well, *binary*-modules can, gonna hack stuff to allow the same for scripts...).
it really could help a lot... gotta look into either of these methods (script or parser... both should help).
Lloeki wrote: | I just tried einit... |
alright, let's see...
1) ah well, i did link it on the main page... although i should probably mention the layman overlay in the documentation...
2) well, right now i'm afraid i'll have to rework it a lot but, thank you. that's one of the things i always try to get done properly before every release -- without it, i don't release software. bad thing is: in-source comments suck and are sometimes nonexistent
3) ah... d'oh einit --check-configuration should help more... i'll add a dummy-text for --help
4) thank you some of the credit goes to rmh3093 right now, though. i had planned to change stuff earlier, but credit goes to him for making me go through with it
5) hmm, you're right, i do remount /dev after /... i completely forgot that some people don't have /dev before / :/
6)
7) just disable the sensors, etc in your boot-mode (copy the whole <mode id="boot" /> section from einit.xml, and remove the services you don't want) for also, you could remove the kern-alsa dependency from the <shell id="shell-alsa" ... /> tag. the default configuration tries to get up as much as possible... not sure about the mount/critical thing, though, it should be either of these two failing:
Code: | <node mountpoint="/dev/shm" fs="tmpfs" before-mount="mkdir /dev/shm" options="critical" />
<node mountpoint="/dev/pts" fs="devpts" before-mount="mkdir /dev/pts" options="critical" /> |
unless you specified a /usr or /var and that failed. you could try Code: | einit-control mount ls_fstab | to see the in-core fstab and look for things marked "critical".
yeah... verbosity isn't the best right now... i was going to add some more fine-tuning things using ipc...
controlling modules: that's done using erc (or einit-control rc <stuff>). i think the chapter in the docs is called "interfacing with einit". it's basically "erc <service-name> (enable|disable)" or "erc switch-mode <mode-name>".
i really value your feedback, and i think i get some good pointers for improvement from this, thank you
haader, you can choose where to put them, but i think it'd be a great idea to put all the custom modules in your local.xml and keep the einit.xml file as some sort of "upstream default configuration" -- should make maintaining easier?
i changed the name for the wireless-stuff myself in the modules, maybe that's why.
the " configuration_kernel_modules_sound " would be because you'd request the variable with variables="configuration-kernel-modules-sound" if you had it nested like the default ones. it's that long to make things easier to abstract, and as i said, all non-alnum characters are converted to _ because bash can't seem to handle environment variables with anything but those characters, - didn't work earlier when i tried, and i'd like to give these modules the flexibility to use any configuration variable (that's why i put the / syntax in place...)
your definition for the sound-module would probably have to look like:
Code: |
<shell id="shell-kern-audio"
name="Kernel Modules (Audigy)"
provides="kern-sound"
requires="mount/system"
enable="for x in ${configuration_kernel_modules_sound};
do echo $x; modprobe $x;
done; /bin/true"
disable="/bin/true"
variables="configuration-kernel-modules-sound" />
|
(put into the right context)
uhm, just out of curiousity, shouldn't you be able to use the "vanilla" alsa-module and specify the modules in your /etc/modules.d/alsa file like the alsa guide tells you to?
hope i picked up everything just now guys, sorry, i'm in a wee bitofa hurry right now, got some work to do and not much time at my hand, if i got anything wrong, please do point it out, and as always: all feedback is very welcome, i really appreciate it, and i'm really glad if things work out and you like the project
-- Magnus _________________ "Confident, lazy, cocky, dead." -- Felix Jongleur, Otherland
( Twitter | Blog | GitHub ) |
|
Back to top |
|
|
smlgbl Guru
Joined: 10 Feb 2005 Posts: 305
|
Posted: Wed Oct 25, 2006 8:04 pm Post subject: |
|
|
One more thing: What is this:
Code: | stradivari einit # mount
rootfs on / type rootfs (rw)
/dev/root on / type reiserfs (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev type tmpfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda5 on /boot type ext2 (rw,noatime)
tmpfs on /tmp type tmpfs (rw)
tmpfs on /dev/shm type tmpfs (rw) |
??? Did I miss something? Had that before, just wanted to point that out again. _________________ samuel.
'Do not let one girding on boast about himself like one unfastening' |
|
Back to top |
|
|
vibrokatana Guru
Joined: 09 Feb 2006 Posts: 328 Location: o0o0oo
|
Posted: Wed Oct 25, 2006 8:22 pm Post subject: |
|
|
haader wrote: | One more thing: What is this:
Code: | stradivari einit # mount
rootfs on / type rootfs (rw)
/dev/root on / type reiserfs (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev type tmpfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda5 on /boot type ext2 (rw,noatime)
tmpfs on /tmp type tmpfs (rw)
tmpfs on /dev/shm type tmpfs (rw) |
??? Did I miss something? Had that before, just wanted to point that out again. |
It is something with the mount logic in einit, seems to double mount some stuff. _________________ My Systems - "I suggest the whole thing be coded in whitespace. Henceforth the code will be obscure and functional at the same time." |
|
Back to top |
|
|
zAfi Apprentice
Joined: 08 Aug 2006 Posts: 220 Location: Austria
|
Posted: Wed Oct 25, 2006 8:28 pm Post subject: |
|
|
Lloeki wrote: | - coldplug? |
I'll quote some information from /etc/init.d/hotplug:
Quote: | # nothing here anymore. Please use the coldplug package if you really want to
# load modules for devices that are discovered by your kernel before init runs.
#
# However, please realize that if you have any problems, the developers
# recommend just using the modules.autoload functionality to handle this in a
# much simpler manner.
|
So we shouldn't really bother about coldplug... _________________ Gentoo 2008.0/desktop | Kernel: 2.6.27-tuxonice | Arch: amd64 | KDE 3.5.9 | WU Wien |
----------
Share your kernel information @ http://klive.cpushare.com/ |
|
Back to top |
|
|
vibrokatana Guru
Joined: 09 Feb 2006 Posts: 328 Location: o0o0oo
|
Posted: Thu Oct 26, 2006 6:22 am Post subject: |
|
|
Does anyone notice any zombies in their system. I think einit is orphaning some stuff when it boots.
Code: | 02:13:35 [Zeth.sakkaku]~ $ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 02:12 ? 00:00:00 /sbin/init
root 2 1 0 02:12 ? 00:00:00 [migration/0]
root 3 1 0 02:12 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 02:12 ? 00:00:00 [migration/1]
root 5 1 0 02:12 ? 00:00:00 [ksoftirqd/1]
root 6 1 0 02:12 ? 00:00:00 [events/0]
root 7 1 0 02:12 ? 00:00:00 [events/1]
root 8 1 0 02:12 ? 00:00:00 [khelper]
root 9 1 0 02:12 ? 00:00:00 [kthread]
root 12 9 0 02:12 ? 00:00:00 [kblockd/0]
root 13 9 0 02:12 ? 00:00:00 [kblockd/1]
root 14 9 0 02:12 ? 00:00:00 [kacpid]
root 125 9 0 02:12 ? 00:00:00 [khubd]
root 127 9 0 02:12 ? 00:00:00 [kseriod]
root 224 9 0 02:12 ? 00:00:00 [pdflush]
root 225 9 0 02:12 ? 00:00:00 [pdflush]
root 226 1 0 02:12 ? 00:00:00 [kswapd0]
root 227 9 0 02:12 ? 00:00:00 [kprefetchd]
root 228 9 0 02:12 ? 00:00:00 [aio/0]
root 229 9 0 02:12 ? 00:00:00 [aio/1]
root 230 9 0 02:12 ? 00:00:00 [cifsoplockd]
root 231 9 0 02:12 ? 00:00:00 [cifsdnotifyd]
root 233 9 0 02:12 ? 00:00:00 [xfslogd/0]
root 234 9 0 02:12 ? 00:00:00 [xfslogd/1]
root 235 9 0 02:12 ? 00:00:00 [xfsdatad/0]
root 236 9 0 02:12 ? 00:00:00 [xfsdatad/1]
root 855 9 0 02:12 ? 00:00:00 [ata/0]
root 856 9 0 02:12 ? 00:00:00 [ata/1]
root 857 9 0 02:12 ? 00:00:00 [ata_aux]
root 859 9 0 02:12 ? 00:00:00 [scsi_eh_0]
root 860 9 0 02:12 ? 00:00:00 [scsi_eh_1]
root 872 1 0 02:12 ? 00:00:00 [khpsbpkt]
root 876 1 0 02:12 ? 00:00:00 [knodemgrd_0]
root 954 9 0 02:12 ? 00:00:00 [kpsmoused]
root 974 9 0 02:12 ? 00:00:00 [hda_codec]
root 986 1 0 02:12 ? 00:00:00 [kirqd]
root 989 9 0 02:12 ? 00:00:00 [ktxnmgrd:sda4:w]
root 990 9 0 02:12 ? 00:00:00 [ent:sda4.]
root 1419 1 0 02:12 ? 00:00:00 /sbin/udevd
root 1427 1 0 02:12 tty2 00:00:00 /bin/login --
root 1429 1 0 02:12 tty3 00:00:00 /sbin/agetty 38400 tty3
root 1431 1 0 02:12 tty4 00:00:00 /sbin/agetty 38400 tty4
root 1433 1 0 02:12 tty5 00:00:00 /sbin/agetty 38400 tty5
root 1435 1 0 02:12 tty6 00:00:00 /sbin/agetty 38400 tty6
root 1504 1 0 02:12 ? 00:00:00 /usr/sbin/acpid --foreground
root 1524 1 0 02:12 ? 00:00:00 metalog [MASTER]
root 1563 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1568 1 0 02:12 ? 00:00:00 [gzip] <defunct>
root 1572 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1580 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1588 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1599 1 0 02:12 ? 00:00:00 [gzip] <defunct>
root 1602 1524 0 02:12 ? 00:00:00 metalog [KERNEL]
root 1616 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1670 1 0 02:12 ? 00:00:00 /usr/bin/festival --server -b /e
101 1673 1 0 02:12 ? 00:00:00 /usr/bin/dbus-daemon --system
103 1678 1 0 02:12 ? 00:00:00 /usr/sbin/hald --daemon=no --use
root 1681 1678 0 02:12 ? 00:00:00 hald-runner
root 1685 1 0 02:12 ? 00:00:00 [hald-probe-smbi] <defunct>
103 1687 1681 0 02:12 ? 00:00:00 /usr/libexec/hald-addon-acpi
103 1692 1681 0 02:12 ? 00:00:00 /usr/libexec/hald-addon-keyboard
103 1699 1681 0 02:12 ? 00:00:00 /usr/libexec/hald-addon-keyboard
103 1705 1681 0 02:12 ? 00:00:00 /usr/libexec/hald-addon-keyboard
root 1723 1681 0 02:12 ? 00:00:00 /usr/libexec/hald-addon-storage
sakkaku 1724 1427 0 02:12 tty2 00:00:00 -bash
sakkaku 1729 1724 0 02:12 tty2 00:00:00 /bin/sh /usr/bin/startx
sakkaku 1814 1729 0 02:12 tty2 00:00:00 xinit /etc/X11/xinit/xinitrc --
root 1815 1814 4 02:12 tty7 00:00:03 X :0 -nolisten tcp -br -auth /ho
root 1828 1 0 02:12 ? 00:00:00 [dhcpcd] <defunct>
root 1829 1 0 02:12 ? 00:00:00 /sbin/dhcpcd -d -t 60 eth0
root 1853 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
root 1861 1 0 02:12 ? 00:00:00 [kstopmachine] <defunct>
sakkaku 1881 1814 12 02:12 tty2 00:00:09 /usr/bin/enlightenment-0.17
sakkaku 1926 1881 0 02:12 ? 00:00:00 /bin/bash /usr/libexec/mozilla-l
sakkaku 1935 1926 10 02:12 ? 00:00:06 /usr/lib/mozilla-firefox/firefox
sakkaku 1938 1881 0 02:12 ? 00:00:00 gnome-terminal --hide-menubar
sakkaku 1940 1 0 02:12 ? 00:00:00 /usr/libexec/gconfd-2 11
sakkaku 1942 1 0 02:13 ? 00:00:00 /usr/libexec/bonobo-activation-s
sakkaku 1960 1938 0 02:13 ? 00:00:00 gnome-pty-helper
sakkaku 1961 1938 0 02:13 pts/0 00:00:00 bash
sakkaku 1969 1961 0 02:14 pts/0 00:00:00 ps -ef
|
of course it could be my system, I recently upgraded a bunch of junk _________________ My Systems - "I suggest the whole thing be coded in whitespace. Henceforth the code will be obscure and functional at the same time." |
|
Back to top |
|
|
mdeininger Veteran
Joined: 15 Jun 2005 Posts: 1740 Location: Emerald Isles, observing Dublin's docklands
|
Posted: Thu Oct 26, 2006 7:47 am Post subject: |
|
|
the orphaning should actually have been fixed with the new cvs version from yesterday. i mean, the loop for the pid=1 part of einit is while(wait-for-all) {}; i doubt i could get more explicit about reaping everything?
haader, the double-mounting is pretty weird too, do you get the same when you do a "cat /proc/mounts"? i thought i had fixed this, although mount(1) can be a bitch (it really LOVES to recreate this file )
uh, the number is a (veeeeery simple) approach at timing the mode-switches. for example, if you had "[0006] mode "default" blablabla", that should mean that it took 6 seconds to switch from the previous mode to "default". the problem about it is that i simply ask the kernel the time when the feedback-module is told that a switch is being made, and the time when it's told we're done and then i just subtract one from the other. that would ordinarily work perfectly to find out the wall-time, but it can go pretty weird when the time is adjusted between these two steps (obviously). btw, WAXX means XX warning(s), so your WA01 means "1 warning".
Janax:
the configuration-files are kept in-memory, and right now there's no way to tell einit to re-read the configuration file (not from the command-line, anyway), but i'm looking into adding IPC commands to emit events, that would allow you to emit the "read configuration"-event and thus make einit reload the files from disk.
1) it's very weird that the mode-name isn't listed there, it really should be. thanks for pointing that out, this looks like a problem that could turn into a show-stopper. did the modules load anyway?
2) you're right, that should come in handy. gotta figure out how the kernel parametres are passed to init first, though, after all there's no /proc available at boot-time.
mh, wait, i could do that with events...
3) not quite sure, i suppose einit really does do stuff too fast at times i had a similar issue with /dev/sd* nodes not being up fast enough... although i AM using a sync()-command right before power-ing off / resetting.
you could try to modify your / fstab-node to contain an attribute of the form after-umount="sleep 5" to make it wait 5 seconds after unmounting /. (i hope i added that code for umount... i think i did... could also be the device couldn't be unmounted but only remounted r/o. mount logics right now is as follows: try to unmount, if it fails try to force umount, if that fails try to remount r/o. if all of that fails, return a failure).
btw, you can just use "power off", /sbin/power is automatically symlinked to /sbin/einit-control.
mkaaay, hope i got everything covered this time
keep the feedback comin' guys _________________ "Confident, lazy, cocky, dead." -- Felix Jongleur, Otherland
( Twitter | Blog | GitHub )
Last edited by mdeininger on Thu Oct 26, 2006 7:50 am; edited 1 time in total |
|
Back to top |
|
|
Lloeki Guru
Joined: 14 Jun 2006 Posts: 437 Location: France
|
Posted: Thu Oct 26, 2006 7:49 am Post subject: |
|
|
vibro: I don't notice that behavior. I'll check regularly.
zAFI: well, coldplug cuts me some big work automatically, it really loads a lot of modules on my system anyway, I'll go the new way, which will certainly make me cleanup stuff.
haader: currently I have this
Code: | rootfs on / type rootfs (rw)
/dev/root on / type ext3 (rw,noatime,data=ordered)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev type tmpfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw)
/dev/sda2 on /home type ext3 (rw,noatime,data=ordered)
tmpfs on /dev/shm type tmpfs (rw)
|
and btw thank you this made me notice I miss this one
Code: | usbfs on /proc/bus/usb type usbfs |
probably the cause of one of my WA01 since absence of coldplug implies (for now, I'll fix that) missing modules, thus makes in particular /proc/bus/usb nonexistent.
magnus: thanks for your thorough reply though it seems while rushing you missed my second post (where I found some things by myself, and comment a bit more )
sadly, 'einit-control mount ls_fstab' yields nothing critical. thanks again, and hooray to rmh3903. _________________ Moved to using Arch Linux
Life is meant to be lived, not given up...
HOLY COW I'M TOTALLY GOING SO FAST OH F*** |
|
Back to top |
|
|
mdeininger Veteran
Joined: 15 Jun 2005 Posts: 1740 Location: Emerald Isles, observing Dublin's docklands
|
Posted: Thu Oct 26, 2006 7:59 am Post subject: |
|
|
quick note on usbfs: modify this defintion in einit.xml
Code: |
<node mountpoint="/proc/bus/usb" fs="usbfs" options="critical" />
|
to
Code: |
<node mountpoint="/proc/bus/usb" fs="usbfs" options="critical" before-mount="modprobe usbfs" />
|
(at least i hope the module is called usbfs, but you could probably look that up in the kernel )
NOTE: see now why i said the legacy fstab-scheme is limited?
yeah, i did miss your second post, i was writing that really long... /essay/ while you posted. _________________ "Confident, lazy, cocky, dead." -- Felix Jongleur, Otherland
( Twitter | Blog | GitHub ) |
|
Back to top |
|
|
Lloeki Guru
Joined: 14 Jun 2006 Posts: 437 Location: France
|
Posted: Thu Oct 26, 2006 8:27 am Post subject: |
|
|
I did things in parallel (again!) and went on to report on my success just to find your post. you're certainly fast
the module that adds /proc/bus/usb is certainly usbcore, but just to be sure I added before-mount="uhci-hcd ehci-hcd ohci-hcd" which indeed loads usbcore. thanks anyway for the record that fixed both WA01 (critical and local) at once. _________________ Moved to using Arch Linux
Life is meant to be lived, not given up...
HOLY COW I'M TOTALLY GOING SO FAST OH F*** |
|
Back to top |
|
|
smlgbl Guru
Joined: 10 Feb 2005 Posts: 305
|
Posted: Thu Oct 26, 2006 8:42 am Post subject: |
|
|
Just to let you know: "cat /proc/mounts" gives the same results as "mount".
Nevermind about the timing. Anyway, what is your bootup time now, guys? Mine improved seriously, but it still is between 20 and 30 seconds. Guess it's my good ol' AthlonXP 1600+!!! _________________ samuel.
'Do not let one girding on boast about himself like one unfastening' |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|