/srv/irclogs.ubuntu.com/2005/12/12/#ubuntu-boot.txt

=== JanC [n=janc@lugwv/member/JanC] has joined #ubuntu-boot
makxMd adds the initramfs-tools hooks to udev.12:58
=== JanC [n=janc@lugwv/member/JanC] has joined #ubuntu-boot
makxmuch smaller diff now.. :)12:58
infinitymakx : Excellent.  That should give me some motivation to look over the remaining diffs.04:06
=== fabbione [n=fabbione@port49.ds1-van.adsl.cybercity.dk] has joined #ubuntu-boot
=== HiddenWolf [n=HiddenWo@136.169.dynamic.phpg.net] has joined #ubuntu-boot
makxinfinity: would be cool if ubuntu's land again in bzr.09:58
makxmy archive is public.09:58
makxinfinity: the evms split is the next step, already spoken with the evms maintainer.09:59
makxbzr branch http://debian.stro.at/bzr-test/initramfs-tools/09:59
infinitymakx : Oh, you rule, I'll happily take that change.10:02
infinitymakx : As for bzr, it'll happen.  I'm just terminally lazy when it comes to such things.10:02
makxinfinity: i try to sync with ubuntu whenever possible.10:03
makxthere were some minor errors in Keybuk's latest changelog10:03
infinityThat's because you're a far more diligent person than I am. :)10:03
makxs/changelog/changes/10:03
infinity(Or you have more spare time... Pick one)10:04
infinityHave you told him about them?10:04
makxhe removed support for the resume conf.10:04
makxwhen splitting udev out.10:04
infinityI'm sitting around waiting for him to show up so I can give him shit about something in udev. :)10:04
fabbioneKamion: assuming i want to test my rescue hook stuff.. i guess i will need the udeb in the archive for anna to merge the templates properly....10:48
fabbioneotherwise it won't show up.. right?10:49
Kamionfabbione: easiest way is probably to build a monolithic image from debian-installer with your changed udeb in build/localudebs/10:50
Kamiontype 'make' in build to see the image list; if monolithic isn't there then add it to config/blah, it's usually there but commented out; then 'fakeroot make build_monolithic' or similar10:51
fabbioneKamion: ok.. thanks10:55
makxKamion: is there a nice howto build udeb?11:01
makx(looked at several rules ssh, udev everyone does it his way)11:02
Kamionnot really, but I'd recommend using XC-Package-Type: udeb in the appropriate binary stanza in debian/control and letting debhelper (>= 4.2) do most of the work11:04
Kamionafter that it's just a matter of adjusting what files end up in the package; debhelper will take care of avoiding documentation etc.11:05
makxKamion: ok thx.11:06
Kamioninstaller/doc/devel/modules.txt in the d-i repo documents what features are/aren't supported in udebs11:06
Kamionoh, and it has a two-minute primer at the end which is essentially what I just said :)11:06
Kamionhttp://svn.debian.org/wsvn/d-i/trunk/installer/doc/devel/modules.txt?op=file&rev=0&sc=011:07
Kamionlibraries that need to go in the d-i initrd are the main tricky case, because they need to play nicely with library reduction11:08
fabbioneCommand failed with status 1 : objdump --private-headers ./tmp/monolithic/tree/lib/md5client/checkpkg11:13
fabbioneWith output: objdump: ./tmp/monolithic/tree/lib/md5client/checkpkg: File format not recognized11:13
fabbioneHMMMM11:13
fabbionefile checkpkg11:13
fabbionecheckpkg: ASCII English text11:13
fabbionethat's correct.. it's a shell lib11:13
fabbioneKamion: any idea of what i am doing wrong?11:15
Kamionput it in /usr/lib instead11:24
fabbionehm ok11:25
fabbionestrange that it doesn't barf on lib/rescue.d11:25
Kamionhmm11:25
Kamionwhere exactly is it failing?11:25
Kamionas in, a bit more context11:25
fabbioneat lib reduction11:25
fabbionemonolitich build11:25
Kamionthe three preceding lines of the output would be useful11:25
Kamionoh, never mind11:26
Kamionfabbione: put #! /bin/sh at the top11:26
Kamioneven if it isn't executed, that makes mklibs ignore it11:27
fabbioneah ok11:27
fabbioneworks for me11:27
Kamionthen it should be fine in /lib11:27
fabbioneyeps11:30
fabbionethanks a lot11:30
=== fabbione sighs
fabbioneit's not my lucky day apparently11:39
fabbioneKamion: can you tell me when you have 10/15 minutes to help me? i am need of help here :(11:40
Kamionfabbione: now's fine11:45
fabbioneKamion: ok thanks!11:46
fabbionewell i did build the monolith mini.iso11:46
fabbionei boot with rescue/enable=true11:46
fabbioneor rescue from syslinux11:46
fabbionebut there is no rescue menu at all11:46
fabbionei get pushed to the partitioner11:46
Kamiondid you include rescue-mode in your initrd?11:46
fabbioneif i <go back> to the main menu i can't see anything like rescue..11:46
KamionI bet you only have rescue-chekc11:46
Kamionck11:46
fabbioneyeps11:47
fabbioneok.. i guess that explain11:48
fabbionewhy isn't it included by default?11:48
KamionI'll fix that upstream now; in the meantime, put rescue-mode in pkg-lists/monolithic/local11:48
fabbione(given that we offer the rescue option at boot i mean)11:48
fabbioneyes i can do that..11:48
fabbionethanks11:48
Kamionmostly I just forgot to include it there11:48
fabbioneahhh ehehe11:48
Kamionfixed11:49
=== pitti [n=pitti@ubuntu/member/pitti] has joined #ubuntu-boot
fabbionei am building right now11:50
=== pitti [n=pitti@ubuntu/member/pitti] has left #ubuntu-boot []
=== pitti [n=pitti@195.227.105.180] has joined #ubuntu-boot
=== pitti [n=pitti@ubuntu/member/pitti] has left #ubuntu-boot []
=== Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot
fabbioneKamion: it starts to look better but i still don't get my menu.. do i need to use one of this isinstallable thingy?12:23
fabbionei can see there are no templates from my pkg..12:24
Kamiondoes the rescue operations menu show up?12:24
fabbionethe rescue does12:24
fabbionemy entry in it doesn't12:24
Kamioncan you put your udeb somewhere?12:24
fabbionesure12:25
fabbionebrz clone http://people.ubuntu.com/~fabbione/archives/md5client/12:26
fabbionejust a sec.. it's still pushing12:26
fabbionedamn adsl12:26
fabbionei need to kill my isp sooner or later12:26
fabbioneok done12:26
Kamionoh, just the udeb would do fine, if you could put it on rookery12:26
Kamionbut ok12:26
=== Kamion gets
fabbionedoing12:27
fabbionepeople/~fabbione/md5client-udeb_0.1-0ubuntu1_all.udeb12:27
Kamionbzr mv debian/md5client.templates debian/md5client-udeb.templates; sed -i 's/md5client/md5client-udeb/' debian/po/POTFILES.in; debconf-updatepo12:28
=== fabbione sighs
=== fabbione feels hutterly dumb
Kamionoh and: echo '2 utf8' > debian/po/output12:29
fabbionethanks Kamion12:29
Kamion... while you're at it12:29
Kamioncdebconf can only deal with UTF-8 templates so forcing it is a good idea12:29
fabbionethanks a lot12:29
Kamionnp12:29
fabbionedo i need to echo at build time? or just once?12:30
Kamionno just once, then bzr add debian/po/output12:30
Kamionthat's fine in the source tarball12:30
fabbionecool done12:31
=== fabbione tests again
infinityKeybuk : Feel like having someone be irrtated in your direction?12:32
Keybukare they cute?12:35
infinityI dunno, am I?12:35
Keybuk:)12:37
Keybukwhat's your problem?12:37
Kamionnicely dodged12:38
infinityHrmph.12:38
infinityI feel so rejected.12:38
infinityAnyhow.12:38
infinityudevplug appears to suck in some way I haven't yet fully diagnosed.12:39
infinityI suspect 'udevplug -W' doesn't actually work as advertised.12:39
infinity(Well, I'm pretty positive of that)12:39
infinityWhen I boot with the normal udev initramfs setup, I get a race where coldplugging is still in progress when ide-generic loads, it grabs my drive first, and it gets named 'hda' instead of 'sda'12:40
infinitySo, being the clever sort I am, I changed the script to call "udevplug -W" before the modprobe.  Which changes nothing.  Same race happens.12:40
infinity(If I remove the modprobe or put a massive sleep before it, all is just fine, for the record... it's just when the modprobe happens before libata gets around to owning my drive that the world ends)12:41
=== fabbione sends some love over IP to Kamion
Kamionworks?12:42
fabbioneyup12:42
Kamionrock on12:42
fabbioneit takes a long time to do a test12:42
fabbionemainly because i need a CDreader in a machine12:42
Kamionqemu isn't too bad for stuff that's early in the installer12:42
Kamionfor anything like full installs I find it way too slow12:43
Keybukinfinity: right, so how this works (in theory) is this12:43
infinityKeybuk : How is it actually meant to work?... Does 'udevplug -W' check for a semaphore file, loop on that, and return when it's gone?12:43
fabbionethe main issue is that to run the md5sum stuff can take WAYYYYY longer than install12:43
fabbione+ i still need an installed system to test against12:43
Keybukudevd exposes it's queue of events its received from the kernel, but not yet completed processing of12:43
infinityKeybuk : In which case, 'udevplug -anythingelse' can't return until after it writes said semaphore, or you have a race.12:43
=== fabbione wonders if qemu works on amd64
Keybukit does that as a directory called /dev/.udev/queue which contains symlinks to the sysfs paths queued12:44
Keybuknow, udevplug "in normal operation" does the following12:44
Keybuk1) wait for this directory to vanish12:44
Keybuk2) make it again12:44
Keybuk3) touch all the uevents12:44
Keybuk4) wait for this directory to vanish12:44
infinityAt which step does it return?12:45
Keybukso it "waits for there to be nothing in the queue" before going ahead, then waits for there to be nothing in the queue before resuming12:45
Keybukstep 512:45
Keybukudevplug -W just does step 412:45
Kamionfabbione: works on an amd64 *host* emulating i386, I'm not sure if it does amd64 targets yet12:45
infinityKeybuk : So it's udevd at fault here, not udevplug?12:45
Keybukit's hard to define "at fault"12:45
infinityKeybuk : In that it clearly must have something in the queue, but it's not advertising it... Or something.12:46
Keybukno, it's not that12:46
Keybukit might be simply that it DOESN'T have anything in the queue12:46
Keybukif the modprobe returns successfully, it's possible for the queue to become empty12:46
Keybukwhile the IDE controller is still waking up, and rubbing the sleep out of its eyes12:46
infinityIt's forked-and-forgot 20 modprobes that aren't done?12:46
infinityHrm.12:46
infinity(returned, but not "done"...)12:47
Keybukand then when the IDE driver is ready, and spits out the "I found this shit" events, udevplug has moved on because the queue was empty12:47
fabbioneKamion: that would be perfect12:47
Keybukit's the "no way of knowing an IDE/SCSI/USB controller is busy" problem12:47
infinityKeybuk : Then we have a problem... That ide-generic load just plain can NOT happen there.12:47
Keybukright12:47
Keybuknow, that ide-generic modprobe is interesting12:47
Keybukit was there because of a bug in our kernels12:48
Keybukwhich I fixed12:48
Keybukso in theeeory we can take that away now12:48
Keybukbut we still need it for cases where we don't have an IDE controller we know about12:48
Keybukand again, we come to this "need to wait for the kernel" thing12:48
infinityWell, the world certainly doesn't blow up for me if I take it away, but I'd like to ask someone who's not on SATA to confirm. :)12:48
fabbioned if=/dev/urandom of=hda bs=4G count=112:49
fabbionedd: memory exhausted12:49
fabbionesuck! :)12:49
infinityKeybuk : Hrm.  Non-PCI controllers become an issue here, I guess.12:49
Keybukyup12:49
Keybukalso I'm not sure, but I think we need ide-generic loaded to cope with pcmcia IDE devices too12:50
infinityCan we do a few-second loop, waiting for the root device to appear, and if it doesn't show up, load ide-generic under the assumption we needed it?12:50
infinity(Then load it again WAY later in the root filesystem, should people need it for non-root devices and we haven't loaded it yet)12:51
Keybukright, that's kinda where I'm thinking of going for this12:51
Keybukit had to wait until today, and the -7 kernel to be -meta12:53
Keybukthe trouble is "how long do we wait" ? :p12:53
infinityYeah, scanning a real SCSI bus can take ages.12:53
infinityAny guarantees that SCSI devices will get scanned after IDE/SATA, perchance?12:54
Keybuknot currently12:54
infinitySo we can "wait long enough for a reasonable full ATA scan, then give up"12:54
infinityMeaning it wouldn't matter if we're stuck in SCSI-land.12:54
infinityIf we get stuck scanning a SCSI bus before we hit SATA, then load ide-generic, we're back where I am now.12:55
KeybukI increasingly see why nobody else has tried to make a generic initramfs :p12:55
infinityWe will prevail.12:56
infinitySomehow. :)12:56
infinityFor now, though, I'd recommend any hack that doesn't land people like me where I am.12:56
Keybukso here's my current theory12:57
infinityReal SCSI busses, while an important case to work on, are probably a corner case for people testing dapper right this instant.12:57
Keybukwe plug storage controllers, if we find at least one, we don't load ide-generic12:57
Keybukif we don't find any, we load ide-generic12:57
infinityThat's touchy.12:57
Keybukwhy?12:57
infinityIf you find my shitty SCSI card I have my scanner attached to, but not my root filesystem controller, I cry.12:58
Keybukmeh, good point12:58
infinity(In theory... I haven't had a SCSI scanner for years)12:58
Keybukand I bet you $10 that your SATA controller doesn't advertise as one12:58
infinityDo they have a specific PCI class?12:59
Keybukthey tend to pretend to be PCI_CLASS_STORAGE_SCSI :p12:59
Keybukor, more hilariously, PCI_CLASS_STORAGE_RAID12:59
infinityHow would I find this out, out of curiosity?12:59
Keybuklspci -n01:00
Keybuk(use ordinary lspci first if you don't know which line is your controller)01:00
infinity0000:00:1f.2 0101: 8086:2653 (rev 03)01:00
Keybukwow, it actually claims to be an IDE controler01:00
Keybukmost don't01:01
Keybukyay Intel01:01
=== jbailey [n=jbailey@modemcable139.249-203-24.mc.videotron.ca] has joined #ubuntu-boot
makxKeybuk: the kernel bug you mentioned is related to modular ide?01:03
infinityAnyhow, my local initramfs is hacked to just not load ide-generic at all, but I happen to know I'm not the only person with this sort of controller. :)01:03
infinitymakx : yes.01:03
makxneed to look up what you did with that strange Xu legacy.01:03
Keybukinfinity: right, the upstream solution is "don't load ide-generic unless you need to"; we just need to find a way of determining need01:03
Keybukmakx: http://people.ubuntu.com/~scott/fixed-ide.patch01:04
Keybukmakx: this is still the same bug we're discussing, the patch just makes it fixable01:04
=== jbailey phases into the discussion.
jbaileyThe final problem that we hit was for controllers without a sexy chipset and that don't appear on the PCI bus.01:05
Keybukjbailey: whiteholespewingtimeidedriverscansbusbutidegenericloadsandclaimsthedevicesbeforescanhascompleted01:05
jbaileyNear the end of the breezy cycle, Matt had me always oad ide-generic no matter what because a class of devices existed that weren't getting an IDE controller at all.01:06
makxKeybuk: why am i not hit with debian's udev?01:06
infinityAnd that's fine, but it has to happen way AFTER everything else it detected.01:06
Keybukmakx: ya know, I was never entirely sure of that01:06
jbaileyKeybuk: Yeah, well.  I've said more than once that that I want bus scanning state to be visible from userspace.01:07
jbaileyEven if ther kernel's bus scans were.01:07
jbaileyI knwo that HW ones will always suck.01:07
Keybukyeah, the problem with just waiting for devices to appear is the "what if there aren't any on that bus?" problem01:07
Keybukoooooooh01:09
Keybukdoes something appear in sysfs after the scan has completed, in the ide case01:09
Keybukthe scan takes place in the middle of the init01:09
Keybukwe could WAIT_FOR_SYSFS that01:10
jbaileyWell, hmm.  You're not waiting for the scan of the IDE bus, right?01:10
Keybukwe are01:10
jbaileyJust the PCI bus so that all the DMAable controllers are found.01:10
Keybukno, we're waiting for the IDE bus scan to complete01:11
Keybukso we don't carry on and load ide-generic while the scan is still going on01:11
jbaileyWhat does it interfere with there?  By that time, shouldn't the other controller have already allocated all the resources?01:11
makxKeybuk: i saw no check of /dev/.udev/queue in your udev hooks.01:11
Keybukthe problem is that if we load ide-generic, while a scan is still going on, then ide-generic can become the favourite to win the devices01:12
Keybukthe ide scanning stuff doesn't hard-code the winning driver01:12
Keybukmakx: that's what udevplug does01:12
makxthat's the part requiring > 2.6.1401:12
makx?01:13
jbaileyKeybuk: Wha?  That's crazy.01:13
jbaileyI would've thought the IDE devices would be recognised as subdevices of their controller, and not be interfered with.01:13
Keybukapparently not01:13
Keybukat least, not where ide-generic is concerned01:14
KeybukI need to sit down with the ide subsystem code, I think01:15
jbaileyThe libata stuff isn't 2.6.15-bound is it?01:16
infinityKeybuk : I think the breakage happens in my case before libata is even loaded.01:16
infinityKeybuk : It goes something like "PCI scan starts, while other devices (like tg3) are being loaded, we modprobe ide-generic, then libata gets loaded and it's already lost"01:17
infinityI'm not sure we actually have a race AFTER libata starts scannind for devices.  We might.  That would be scary.01:17
Keybukthat shouldn't happen ... if tg3 is loaded first, then udevplug will still be blocking while ata_piix gets loaded01:18
Keybukor, in theory, both get loaded at the same time, and udevplug waits for them both to complete01:18
Keybukare you heading for bed soon, or are you still going to be up for a couple of hours?01:18
=== fabbione feels the pain of qemu
infinityI'm going to go watch a movie and slack for a couple of hours, then I'll be back at my computer.01:19
Keybukok, grab me when you're up for some hot debugging action01:19
Keybukwant to poke around and see what is actually happening with your controller01:19
infinityYeah, it's kinda hard to tell for sure what order events occur in, since I can't type four thousand words per minute.01:20
infinityIf you can script something to watch WTF is really going on behind the scenes...01:20
makxKeybuk: while splitting udev out, you removed probably unintentionaly the initramfs.conf resume variable support.01:20
infinity(Of course, given the delicate race conditions at play, adding any more CPU usage may just make them go away)01:20
infinityNote that I actually booted successfully once, while all the other times were miserable failures.01:21
KeybukI can give you an "a;b;c" thing to run in the shell, without "quiet" so we can see which is running when01:21
Keybukwhere shell ~= initramfs01:21
infinityThat irritated me more than anything else... The debug boot that worked.01:21
Keybukmakx: that block was duplicated elsewhere01:21
infinityMy girlfriend backed away slowly as I was cursing at my laptop for booting correctly when it bloody well wasn't supposed to.01:22
makxKeybuk: oh indeed, hadn't seen that while going throught the diff.01:23
jbaileyinfinity: Ah good.  Keep this one.01:23
jbaileyShe understands that programmers are most dangerous in the presence of XPASS.01:23
Kamioninfinity: how goes the m-f-l-a stuff? if it's part-done I could take over01:24
infinityKamion : Smashingly, if I could figure out where the heck the rtlclassic theme comes from..01:24
Kamionyou already know more than me, then :)01:27
infinityMaybe it's not required anymore...01:29
=== infinity tests this theory.
infinityOh, hot diggity.  We don't need rtlclassic anymore.01:36
infinityfirefox does right-to-left natively.01:36
infinityMan, right-to-left menus really hurt my brain.01:38
infinityOn second thought, this package may be too confusing for a man who's supposedly not working right now.01:43
Kamionit's a flight 2 blocker, so if you can't do it feel free to send it to me (with instructions on how to build the .orig.tar.gz if that's quicker than uploading it)01:44
infinityWell, the orig is the problem, really.01:45
infinityUpstream renamed a mess of locales, and I'm trying to decide if I fudge it and just rename them back, or if I do it correctly, and have the packages conflict with the old ones, etc...01:45
infinityBut the Right Way looks very... Odd.  It's not a sane source package. :)01:46
infinityAlright, you want me to fix it in 2 hours, or you want to find another sucker?01:47
Kamiontwo hours is fine01:48
Kamionyou've got it in your brain already :)01:49
Kamion(if you don't mind too much)01:49
infinityYeah, it's floating around up there.01:49
infinityI think I'll just hack it up to be buildable and installable enough to make flight-2 happy for you, then make pitti deal with the fallout. :)01:49
Kamionyeah01:49
infinityOff to watch a movie first, then back to bending my brain at firefox.01:50
infinityAt least the lack of rtl theme dependencies is good news.01:50
infinityAn he_IL is a confusing locale to use a computer in.01:50
infinityWorse than jp_JP, and I didn't think that was possible.01:51
fabbioneKamion: in yaboot-installer/rescue.d/80...01:58
fabbione        db_input critical yaboot-installer/ybinerr01:58
fabbioneshouldn't that one be || true ?01:58
Kamioncdebconf always displays error templates so it doesn't really matter01:59
fabbioneok02:00
infinityKamion : You know, the quicker fix would just be to temporarily upload a lanpack-en that doesn't depend on the firefox locale...02:00
Kamioninfinity: yeah, but ugh02:00
KamionI'd rather not regress if we don't have to02:01
Keybukinfinity: can you, for my sanity, confirm that you're having those sata issues on 2.6.15-7 ... and not -6 ?02:13
infinityKeybuk : I saw it a total of once on -6, but it may have been unrelated.  I get it every boot on -702:15
infinity(Well, every boot but that one where it worked..)02:15
Keybukright02:20
Keybukof course, we're looking at entirely the wrong subsystem :p02:20
Keybukreal IDE drivers seem to not led modprobe complete until they've taken ownership of the drives they wanted02:22
infinityWhat do you mean by "real IDE"?02:22
KeybukSUBSYSTEM=="ide"02:22
infinityAnything not libata?02:22
Keybukas apposed to IDE-in-drag02:22
Keybukas you've got a double-whammy-wait02:23
Keybukyou have to wait for the IDE subsystem to find the devices, then the SCSI subsystem to take them and export them02:23
infinityAs I said, though, I THINK ide-generic is loading before libata even kicks in, but it's hard to tell.02:23
Keybukyeah02:24
infinityAnyhow, movie, or I'll never get back to be Kamion's bitch, and he'll hate me forever.02:24
Keybukafter your movie, we'll have an initramfs play session02:24
=== ..[topic/#ubuntu-boot:Keybuk] : known: oss drivers loaded, no network plugging, alsa rules not reloaded, mtab not updated, /dev/pts not mounted, ide-generic beats sata drivers || fixed: notify-reboot, vio_type segfault, no modules loaded, hal/pcmcia rules not reloaded, nfs root fails, sata root fails, pnp devices not loaded, init stop/start, grepmap bitching, fb drivers loaded, installer "devfs" rules
Keybuk(diff: scsi-devfs/installer fixed -- new known: ide-generic beats sata)03:06
=== HiddenWolf [n=HiddenWo@136.37.dynamic.phpg.net] has joined #ubuntu-boot
=== jbailey_ [n=jbailey@modemcable139.249-203-24.mc.videotron.ca] has joined #ubuntu-boot
Keybukhmm, ok04:54
Keybukinfinity: anyway, is your laptop free to do a little debugging05:00
infinityIt can be made free.05:13
infinityLet me fire up the auxiliary laptop for IRC, and stop all the crap I'm doing on this one.05:14
Keybukthe modprobe in initramfs is the same as the real one, right?05:17
Keybukit's not some Kamion busybox special?05:17
jbaileyIt should be, yes.05:19
jbaileyThe modprobe in busybox had issues on ppc64 so I ditched it. =)05:19
infinityOkay, IRC is on the laptop of doom.05:25
infinityKeybuk : Give me 5 mins for a smoke, then you have me for about 30 mins (more, if we're really getting somewhere interesting) before I pass out. :)05:25
infinityKeybuk : I'm all yours.  Hurt me.05:31
Keybukok, so reboot it WITHOUT "quiet" or "splash" and with "break=premount"05:32
Keybukand scripts/init-premount/thermal if your laptop dies, like mine does :p05:32
infinityHrm,I've only done this a dozen times today...05:33
Keybukthen UDEV_LOG=info udevd --daemon05:33
Keybukthis should mean you get the dmesg output and udevd log messages05:33
Keybukso you can get a good idea of when things actually happen, relative to each other05:34
Keybukthen do:05:34
Keybukudevplug -Bpci -Iclass=0x0[12] *; echo WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO05:34
Keybukor something05:34
Keybukso in the middle of that log output, there'll be a great big scream, so you can get a rough idea of what finishes first05:34
infinityHrm.  I get my scream at the end.05:35
infinityThis wasn't what I was expecting.05:36
infinityYou?05:36
Keybuknope, me neither05:36
Keybukok05:36
Keybukso that's kinda interesting05:36
Keybuknow, can you cat /proc/modules05:36
Keybukin particular, the ones at the top05:36
infinitysd_mod, ata_piix, ahci, libata, scsi_mod, generic, ide_core05:37
Keybukright, unless I'm going mad, none of those is a plain-old-IDE driver?05:38
Keybuknow, do you have a /dev/sda* ?05:38
infinityYeah, I have /dev/sda*05:38
Keybukwhat happens if you modprobe ide-generic now?05:38
infinityThe good ol' I/O resource not free messages.  ie: nothing bad.05:39
Keybukand you don't end up with /dev/hda ?05:39
infinityThis is whaty I epxect from running things in this order.05:39
infinityNo /dev/hda, right.05:39
Keybukright,05:39
infinityI never have BOTH, only one or the other.05:39
Keybuknow, let's try that again (from a fresh reboot), but instead make a two-line shell-script that contains those two lines05:39
Keybukbeware the fact you don't have ^D05:39
Keybukso echo '#!/bin/sh' > test.sh; echo 'udevplug -Bpci -Iclass=0x0101*' >> test.sh; echo WOOOO >> test.sh05:40
infinityI also have shit for scrollback, which sucks.05:40
Keybukyeah, is more just whether it's an "at the end, or in the middle" thing05:40
Keybuk(uh, echo echo WOOO, clearly :p)05:41
infinityAlrighty.05:42
infinityRight. Two things of note.05:43
infinity1) I forgot the UDEV_LOG. :)05:43
infinity2) The script never returned.05:43
infinityThanks, busybox.05:43
Keybukheh05:44
infinityNever did echo either, so I think this is some kinda special going on here.05:44
Keybukdid you forget to run udevd all together?05:44
infinityOh, right.  I ran into that a few hours ago when debugging this.05:45
Keybukheh05:45
Keybukudevplug will be sitting there waiting for udevd to start :p05:45
infinityWhy does udevplug block indefinitely with no udevd running? :)05:45
Keybukbecause that's what it's designed to do05:45
Keybuknot exit until the events you plugged have actually been handlecd05:45
Keybukif that means waiting for udevd to start, that's what it means <g>05:45
Keybukit actually exits after about 3 minutes anyway05:46
infinitySeems a bit obtuse. :)05:46
Keybuk*shrug*05:46
Keybukudevd is always running05:46
Keybukthe alternative would be some evil, unreliable, "check udevd is running" check05:46
KamionSCORE, got gfxboot to work05:47
jbaileyalarm(10); echo "WTF are you doing that udev is taking so long?"05:47
Keybukjbailey: pretty much, except it's alarm(180)05:47
Keybuk10s is less time than my sound card driver takes to load <g>05:47
Kamionthough judging from the way I just had to adjust nearly every setting on my monitor to make it look decent, it's using a video mode my monitor has never heard of before05:48
jbaileyUgh, really?05:48
infinityKeybuk : Okay, same result when run as a shell script.05:48
Keybukmeh05:49
Keybukremoving the ide-generic call fixes it every time, right?05:49
infinityYup.05:49
Keybukfair enough, I'll just assume what's really happening then :(05:49
infinityAs does a massive sleep before the ide-generic call (for obviousl reasons)05:49
Keybukright05:50
infinityIs it possible udevd behaves differently (other than the syslog output) when UDEV_LOG is set to info?05:51
infinityAnyhow, let me try this again, with the modprobe in there.05:51
infinityAnd see where it happens.05:51
Keybukyeah, it goes slower05:51
Keybukmayyybe try without that, and just with dmesg05:51
infinityNo dmesg in initramfs.  I suppose I should copy it over.05:55
infinityAnyhow, running 'udevplug blah blah' followed by 'modprobe ide-generic' (basically what init-premount/udev does) didn't break with udevd running with info-level logging.05:56
infinityThis is a rather fragile race, if it's a race at all.  Or we've completely mis-diagnosed it.05:57
Keybukand what about without info-level logging?05:59
Keybukso far this _feels_ like a race ... it's of the "hides when you try and debug it" variety06:00
infinityI'm booting so I can add dmesg to my initramfs. :)06:00
KeybukFly On The Wall Bug06:00
Keybukchanges when you point the debugger at it06:00
Keybukheh, why?  just boot without quiet, then you get dmesg spat all over the console06:00
=== pitti_xg [n=pitti@195.227.105.180] has joined #ubuntu-boot
Keybuk"xg" ?06:01
Keybukwhat happened to pitti server 2005 ?06:01
pitti_xgKeybuk: I'm trying xchat-gnome :)06:01
infinityYeah, but no backscroll in said dmesg.06:01
infinityMeh.06:01
infinityRemind me to add that DEBUG flag next week.06:02
pitti_xgheh06:02
infinityI'm taking suggestions on what we want copied in there as of now. :)06:02
Keybuklsmod, dmesg, udevmonitor, lspci, lsusb06:03
Keybuksyslog?06:03
Keybukless, vi06:03
infinitynvi, or nano?06:03
infinityOr I could upload ae to universe and impose my own view of the world on you.06:03
Keybuksome kind of stty stuff to make ^C and ^D work06:03
infinityMuahaha.06:03
Keybuknvi, it's a sysadmin area06:03
infinityHrm, some echoing would have been smart there.06:07
infinityI broke it successfully, though.06:07
=== infinity reboots one more time.
infinityI hope the echoing doesn't slow it down enough to unbreak it.06:08
Keybukthat would be a bitch -- echo being slower than modprobe <g>06:10
Kamionhey, udevmonitor's only 6K06:10
Kamionwould that be useful in the installer?06:10
KamionI tend to think so ...06:10
infinityDamnit.  echo made it work.06:11
infinityThat SCREAMS race now.06:12
infinityThe only difference between the broken script and working script was an echo statement between the udevplug and the modprobe.06:12
KeybukKamion: you can have it in there if you want06:13
Keybukinfinity: yup, almost certainly a race then06:14
Keybukwell, that's nice to know06:14
Keybukbtw, if you omit the udevplug call, do you get the same behaviour ? :p06:14
infinityIf I just modprobe ide-generic?06:15
Keybukyup06:15
Keybukjust to make reallly sure that's the culprit here06:15
infinityYeah, ide-generic does what one would expect, give me geenric IDE drives.06:16
Keybukright06:17
Keybuknow what if you do this06:17
Keybukudevd --daemon06:17
Keybukmodprobe ata_piix06:17
Keybukmodprobe ide-generic06:18
infinityD'oh, I just rebooted.06:20
=== infinity reboots again.
infinityI think 4:20am may be past my bedtime.06:20
infinitymodprobe ata_piix ; modprobe ide-generic was so close to racing, it's no funny.06:23
infinityIf my shell were faster, maybe it would have broken.06:23
infinity(the ide-generic output in dmesg was interlaced with the ata_piix output, but just late enough that ata_piix seemed to claim the driver first...)06:23
infinitys/driver/drive/06:23
Keybukheh, it's meeting time in 8 hours :p06:26
KamionKeybuk: udevmonitor in udev-udeb> yes please06:26
infinityOkay, rebooting the laptop to normal land and going to try to sleep before the meeting.06:27
Keybukright, so it definitely is a race then06:28
infinityCertainly smells like one.06:32
=== Kamion kicks hotplug out of base, at least
Kamion(I know you want it removed, but I don't want to be the one pressing that button :-))06:55
Keybukwhy is it still in the archive?07:01
Keybukelmo: WHY? WHY? WHY?07:01
Keybukuh, -ENOELMO07:01
=== HWolf [n=HiddenWo@136.69.dynamic.phpg.net] has joined #ubuntu-boot
KeybukKamion: would you like udevinfo and udevtest in there too?07:11
KamionKeybuk: udevinfo probably yes, udevtest seems a bit more nebulous given the size07:13
Keybukright, I don't tend to use udevtest much -- it's often easier just to punt it through udevd again and see what happens :)07:14
=== HWolf [n=HiddenWo@136.32.dynamic.phpg.net] has joined #ubuntu-boot

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!