=== BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === pitti [n=pitti@ubuntu/member/pitti] has joined #ubuntu-boot === Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot === pitti [n=pitti@ubuntu/member/pitti] has joined #ubuntu-boot [09:07] Keybuk, does that bootchart tell me y'all have managed to halve dapper boot times? [09:07] ish [09:07] certainly below 1m [09:07] Well, except for the part where there's no GDm there. [09:08] In fact, no runlevel 2 at all, if I'm not mistaken. [09:09] yeah, it's just rcS [09:10] ah [09:10] which has dropped from 55s to 39s [09:12] Hm, still amazing. [09:13] yeah, it's a start [09:13] there's probably another 10s or so in there [09:13] not loading framebuffer drivers should help a bit [09:13] and removing networking and pcmcia should too [09:14] It'd be sweet if things would only start if needed. [09:14] think hplib. [09:14] that starts after gdm [09:14] anything that starts after gdm isn't relevant [09:14] the game isn't time-until-end-of-rc2 ... but time-until-user-can-login [09:15] who cares if hplib and apache don't start until half way through their login? they probably won't [09:15] it should probably be "time until user logged in or system-fully-booted, whichever is longer" [09:16] no it shouldn't [09:17] I only care up to the point gdm's greeter comes up [09:17] after that iz gtk bug :) [09:17] Windows plays the same trick, it brings the greeter up as soon as it can while still booting -- it gives the perception of a fast boot [09:19] [09:19] We need to see a useable GDM as soon as possible. [09:19] Anything beyond that is nice (we don't want to grind for 2 more minutes) but much less critical. [09:20] right [09:20] once gdm is up, it's all low-hanging [09:21] Keybuk: I care about "machine usable and stuff working", not "shows me pretty junk" [09:22] define usable :) [09:22] your machine might not be usable until you plug in your pcmcia network card [09:23] and if we bootcharted the 5 minutes for you hunting through the crap on your desk, it'd be a loooong time [09:23] the best definition I can think of is that the user can do _something_ [09:23] ie. get them a greeter or getty as soon as you can [09:52] Keybuk, how much do you think is realisticly what you can still shave off it? [09:52] <----> that much [09:52] hah, ok. === HiddenWolf lurks on [09:53] get me <---------> this much, and I'll extend an open invitation to free beer. ;) [09:55] beer is over-rated [09:56] beer is good [10:07] Keybuk, apple-juice for you then. :) [10:07] Keybuk, with a straw. :) [10:07] vodka! [10:11] Keybuk, Would I have to carry you out in that case? [10:39] I'm feeling daring [10:39] let's see if I can get to X [10:41] cor [10:41] I can [10:45] I still want to know what that strange sh/run-parts thing is in rcS [10:49] ahhhh [10:49] it's in a modprobe-post-install rule [11:10] Keybuk, you're working without X? [11:11] I was [11:11] I have X now [11:20] Kamion: any alarm bells ringing if I suggest making /tmp and /var/run tmpfs? [11:31] the main problem is partman doesn't know how to do that :P [11:31] why does partman need to know? [11:31] because it sets up fstab ... [11:31] virtual filesystems are mounted long before fstab is around :) [11:32] er [11:32] cf. our discussion about the futility of having /proc in there [11:32] you mean admins don't get to choose? I don't think that's so good [11:32] my server has problems with /tmp being tmpfs, because (a) various applications I can't be bothered to fix write lots of stuff in there, (b) it's too low on memory for all the stuff they want to write [11:33] hmm, I can see the argument for being able to choose /tmp [11:33] /var/run's probably ok [11:33] /var/run is never large, it's just pid files and sockets [11:33] (and having it as a tmpfs would solve a major ordering issue I'm currently having ) [11:33] but by the same token I don't see why we need to force it in initramfs either ... oh? [11:33] there's a bunch of rcS stuff to clean up /var/run before things are started [11:34] but I'd have to move that all into the initramfs in case udev starts the things now [11:34] rcS should increasingly become "things udev doesn't do" [11:35] I'll have a think and a play with some different ideas, see which works best and doesn't break anything [11:35] ah, hm [11:36] also having it as a tmpfs actually means we can start networking before the real filesystem, which is a current snag [11:36] we'd have to make sure everything works with /var/run as a tmpfs; IIRC there were a few broken packages that installed files there in .debs or in the postinst [11:36] /etc/network/run would become /var/run/network, and all would be happy [11:36] Kamion: yeah, I checked main for them, and couldn't immediately see any -- have to check postinst yet though [11:38] at the moment I have the problem: [11:38] udevplug finds network card [11:38] udevd calls ifup [11:38] ifup can't write to /etc/network/run/ifstate [11:38] (time passes) [11:38] root filesystem gets checked and mounted rw [11:41] and, of course, if you swap the two... you get [11:42] root filesystem can't be chcked because /dev/hda1 doesn't exist [11:42] root filesystem remounted rw, and evil error gets shown [11:42] udevplug finds block device [11:42] udevd creates /dev/hda1 [11:42] :) === Kamion uploads ubuntu-meta to suck in new pcmciautils [12:00] heh [12:00] I should probably start running around debian-installer preparing stuff for .15 [12:00] I haven't even started the udev udeb stuff yet :-/ [12:01] it's just a udeb with a bunch of binaries in [12:01] $ wcgrep pcmcia-cs-udeb pkg-lists | wc -l [12:01] 21 [12:01] joy [12:01] just try not to emulate Marco's trick of continually leaving stuff out of the udeb [12:01] lol [12:01] I guess I'll have to modify hw-detect too [12:01] hm? what for? [12:01] oh, udevplug [12:01] to make it call the right bits of udev [12:02] I was planning to move that into rootskel, I'm fed up with running around modifying a billion different pieces [12:02] tell me what's needed and I'll get it incorporated in the right place [12:02] just run udevplug? [12:02] let me upload our new very-simple udev.init for you, so you can see [12:03] for udev.init, the plan is for udev-udeb to ship /lib/debian-installer-startup.d/S02udev with whatever it needs to do [12:03] http://people.ubuntu.com/~scott/udev.init [12:03] basically it's [12:03] mount /dev [12:03] udevd [12:04] cp /lib/udev/devices into /dev [12:04] Keybuk: do you want the udeb bits for bootchart submitted, or should I just upload them? [12:04] uidevplug [12:04] Mithrandir: just upload them, if they don't touch the ordinary boot stuff [12:04] ok [12:04] they don't. Or shouldn't, at least. [12:04] Keybuk: take the start bit of that and make it /lib/debian-installer-startup.d/S02udev [12:05] ok, that's easy enough then -- without the initramfs stuff, I guess? [12:05] can I guarantee that the installer would have 2.6.15 so skip the "abort!abort!abort!" bit? [12:05] you won't be in initramfs [12:05] ok [12:06] hm, no, best have the error check, stuff is confusing enough at that stage [12:06] that's not "in initramfs", there's a check there to make sure that initramfs didn't run on a non-2.6.15 kernel [12:06] right [12:06] well, let me rephrase that. you won't be in initramfs FOR NOW [12:06] lol [12:06] that might change later, but if it does, it'll be initramfs for the whole installer [12:06] *blink* [12:07] is that "install a system, then exec run-init when done" ? :p [12:07] nah, just initramfs as an initrd replacement [12:07] oh right [12:07] although I suppose you could :) [12:07] thought you had the entire installer in an initramfs there [12:07] which would be kinda cute [12:08] it's /technically/ "only mounting the root filesystem" ... with the added bonus of making one first === Kamion grins [12:08] great for kiosk mode ... they reinstall themselves when they reboot [12:08] network configuration would be amusing [12:08] it'd be a bit like tccboot, only more so, especially if you did a gentoo version [12:08] you know it'd rock [12:09] gentubuntu [12:10] I bet jbailey would like it [12:10] I swear he wants X in the initramfs [12:11] that'd make X start early enough in the boot, at least. [12:11] can tcc be used to bootstrap gcc? [12:13] Google says yeah ... *cough* === Keybuk giggles at vorlon [12:15] OMG THIS NEW-FANGLED-SHINY-INIT VIOLATES POLICY! SEVERITY SHALLOW-GRAVE! [12:15] "oh, wait, it's sysv-rc ... uh, maybe it's policy's fault" [12:19] jbailey: please remove that zoneinfo-udeb patch I did from glibc at your next convenience; the installer no longer needs it [12:20] or tell me and I'll do it [12:28] Kamion: do you know what kind of /dev rules we want for d-i? [12:29] I guess we want the default naming rules, but do we also want things like /dev/disk/by-* ? [12:29] default + devfs-compat [12:29] not sure about /dev/disk/by-* [12:29] probably not for now [12:29] we can add them when we come up with a good reason [12:32] ugh, I'll have to rewrite devfs-compat *cry* [12:33] the old rules flat-out don't work anymore === Keybuk wonders whether Marco has already [12:35] I believe Debian's d-i works when built with udev, so probably ... [12:35] well, networking is apparently broken, haven't investigated for myself yet [12:36] we could just rip out all the devfs names and use the old ones again. [12:38] I'm not going for that degree of forkage from Debian [12:38] there should be an abstraction layer [12:38] that can go into Debian [12:38] isn't debian going to go with udev soonish? [12:38] yes but 2.4 will still be supported for a while [12:39] hm, ok [12:39] as in "for etch"? [12:39] dunno [12:39] the problem is that the devfs names are about as reliable as daniels [12:39] there are parts of d-i that still rely on walking /dev/discs to get at the list of disks on the system [12:39] those need to be fixed to use parted/libparted [12:40] but for now it's not just a trivial sed job to change them] [12:40] and Linux paths have changed around so much in the last three years that I have zero belief that they won't change again, so having an abstraction layer in between d-i code and device paths is good for us anyway [12:45] yeah [12:45] Linux paths are now totally non-fixed [12:45] it's up to the distro/app to pick them [12:45] the trouble with the devfs paths is that they're a bit racey [12:45] when devfs was around, it was easy, because the kernel could keep track of the enum with a BKL around it [12:46] but in userspace, we've no idea how to make a number that truly counts the number of (e.g.) cdroms [12:46] so with udev, you end up with /dev/cdroms/cdrom0 /dev/cdroms/cdrom4 /dev/cdroms/cdrom9 [12:46] which makes most things (including hw-detect) sulk [12:46] or, worse, you end up with two things trying to be /dev/cdroms/cdrom2 [12:47] right, I'm happy to move for special cases where it really bites us, but I don't want to commit to doing so for everything [12:47] as long as you can find all the cd-roms in the system, that's not a problem, really. [12:47] and for those, I'd rather make the code fall back to devfs paths so that I can keep in sync with Debian [12:48] heh [12:48] annoyingly there isn't a way to do that anyway [12:48] none of the buses expose the media type in /sys [12:49] and then you have SATA, which is fucked [12:49] IDE devices appear as SCSI generic devices [12:49] so they don't show up in /proc/ide .. and you can't use the device name to decide what it is [12:49] which is why d-i doesn't work on Acer laptops [12:49] (amongst other things) [12:51] vendor for my SATA stuff seems to be set to ATA.. [12:51] no idea if that can be used for something [12:51] dunno, I'll play with that more when quest arrives I guess [12:52] which quest is that named after? [12:52] all of them [12:52] I've not thought of a better name yet [01:07] Keybuk: Wha? [01:07] Keybuk: What would I do with X in the initramfs? [01:07] Kamion: Thanks! [01:08] jbailey: like the idea === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-boot