=== JanC [n=janc@lugwv/member/JanC] has joined #ubuntu-boot === makx [n=max@213.239.196.228] has joined #ubuntu-boot === Keybuk [n=scott@descent.netsplit.com] has joined #ubuntu-boot === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-boot === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-boot === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-boot [09:08] bah [09:08] Keybuk: the patch I did for grub-installer fixes only half of the problems :/ [09:08] i just figured that there is another section that needs love [09:08] oh? [09:08] and it's WAYYYYYY complicate to touch [09:09] the first patch fix the writing of the MBR [09:09] and it works [09:09] the issue is now all the references to groot/root/kopt [09:10] that involves changing grub as well [09:10] or update-grub [09:11] cute === Keybuk backs away smiling [09:11] :D [09:11] no [09:11] painful [09:38] grub is the shit [09:38] it has the same code duplicated 3 times! [09:47] Keybuk: you still around? [09:50] nevermind ... i found [09:53] yup, just reading bugs [09:57] Keybuk: i just noticed that my usb hd installation is showing a different symptoms from yesterday [09:58] basically i can see initramfs that attempts to drop me to a shell [09:58] at the same time the hd is recognized as sda [09:58] and it deadlocks [09:58] no shell [09:58] no boot [09:58] so i assume we are getting closer [09:58] interesting [09:58] my temporary fix is to just run udevplug [09:58] with no options [09:58] and sleep a few secs for the device to be available [09:59] but clearly is suboptimal [09:59] can you find out what device you actually need to be plugged? [09:59] walk /sys doing echo > .../uevent for each thing that exists until it works [10:01] meh dude [10:01] the problem is that the device is recognized later during the boot [10:01] how can i do that in initramfs since it doesn't even drop me to a shell anymore? [10:07] break=premount [10:07] (on the kernel command line) [10:07] if a plain "udevplug" finds the device, then it means that my filter in the initramfs excludes it [10:07] so we need to find the device, and then add some detail (usually the PCI class) to the filter [10:09] i think i know which one it is [10:09] what i notice when i do udevplug manually [10:10] is that i get the usb host controller module loaded [10:10] do you actually load them? [10:10] and if you can tell me what class it is i can easily test it [10:10] I should load them [10:11] well i notice the message of "overcurrent from USB" [10:11] I load everything of class 0x0c* [10:11] like if the device is initialized for the first time [10:11] ok.. workrave is yelling at me.. brb [10:23] re [10:59] ahh [11:00] Keybuk: i think i know what's wrong [11:00] it might be a PEBCAK [11:00] i am checking again now [11:00] it's difficult to test this env cleanly [11:38] Keybuk: i did check again.. i think there is race somewhere [11:39] usplash is telling me that the system is waiting for root [11:39] it drops me back that /dev/foo doesn't exists and wants to go to console [11:39] fabbione: interesting [11:39] at the same time i see that the modules are loaded [11:39] drops you back after 30s or so? [11:39] no, much faster than that [11:39] it seems like it's happening outside the loop [11:40] weird [11:40] i know, it takes something like 2 seconds to get there once Waiting for root appears [11:40] so it's dropping out of the loop? [11:40] i guess so [11:40] that suggests the root device has appeared [11:40] yes [11:40] but it fails to mount it? [11:40] right [11:41] the error is: "ALERT! /dev/sda1 doens't exists. Dropping to a shell!" [11:41] but i never get to the shell [11:41] even waiting forever [11:41] and after that message i see that sda did appear [11:44] ok ... [11:44] kooky [11:44] are you using root=/dev/sda1 ? [11:44] yes [11:45] does /dev/sda1 exist? [11:45] after the modprobing yes [11:45] http://people.ubuntu.com/~fabbione/grub.diff [11:45] huh? [11:45] right [11:45] so you get Waiting for root filesystem [11:46] after 2s you get "/dev/sda1 doesn't exist" [11:46] at the point you're dropped to a shell [11:46] and /dev/sda1 doesn't exist [11:46] if you modprobe then it exists? [11:46] i can't modprobe anything [11:46] the shell is not there [11:46] even it tells me that's dropping to a shell [11:46] is the shell on a different vt? [11:46] nope [11:46] already checked [11:46] (I assume you're doing this without "splash" in the kernel command line?) [11:47] ah yes [11:47] if i type exit at the shell, it just works [11:47] at what shell?! [11:47] because the device is there [11:47] you just said you didn't have a shell [11:47] i was wrong [11:47] oh [11:47] it was on alt+f8 [11:47] heh [11:47] i did stop at alt+f6 [11:48] ok... [11:48] YOU ALL HATE ME YOU BASTARDS! [11:48] so do that again [11:48] take out splash and quiet [11:48] you are driving me insate [11:48] insane [11:48] and tell me exactly what you see for each part of the boot [11:48] how long it waits [11:48] etc. [11:48] ok [11:48] gimme a few.. it takes long to boot that stuff [11:52] ok [11:52] this is what i see: [11:52] Waiting for root [11:52] done [11:53] Mounting root f [11:53] Running local-top [11:53] done [11:53] ALERT! /dev/sda1...blabla shell! [11:53] right [11:53] i get the shell in busy box [11:53] how long does it wait after "Waiting for root" ? [11:53] probably 2 seconds [11:53] oh meh [11:53] I see the bug [11:53] I dropped a "0" [11:54] as soon as I enter the busybox [11:54] must have done that by accident when I stopped usplash from timing out [11:54] i see the messages from the kernel that sda is appearing [11:54] ok [11:54] good === fabbione uploads the last grub bits to make this spec a reality [11:55] Keybuk: do you want me to test a patch before you upload? [11:55] i can do that easily [11:56] it just takes a few minutes to reboot the thingy :) [11:56] change the slumber=30 line to 300 in the udev initramfs premount hook [11:57] /usr/share/initramfs-tools/scripts/init-premount/udev [11:57] and update-initramfs -u [11:58] testing [12:04] Keybuk: score [12:05] but i need to lart you for uploading glibc! [12:10] why? [12:10] i was almost at the end of the build on sparc :P === fabbione starts again [12:12] lol [12:13] well it's all ccached [12:13] it won't take ages [01:04] Keybuk: I don't see any /dev/disk/by-* in the initramfs, is that intentional? [01:15] if that's intentional, we can't implement prob-for-root :) [01:17] sure we can [01:18] I have persistent live cds almost working already. [01:28] Mithrandir: no wwithout disk-by-uuid === jbailey [n=jbailey@modemcable139.249-203-24.mc.videotron.ca] has joined #ubuntu-boot === mgalvin [n=mgalvin@ubuntu/member/mgalvin] has joined #ubuntu-boot [03:22] Mithrandir: kinda [03:22] it's more that there's nothing unneeded in the initramfs [03:22] when we come to need those, we'll add them [03:22] is just a matter of copying the rules and helpers [03:22] Keybuk: apparently, the rule is there already [03:23] it is? [03:23] hmm [03:23] wonder why they don't work then [03:25] also, how can I wait until usb hotplugging is done? [03:31] Keybuk: ^^ [03:32] define "done" [03:32] when the nodes are in /dev and accessing them will yield a sensible result. [03:32] while [ ! -e $NODE ] ; do [03:32] sleep 1 [03:32] done [03:33] pretty much like the udev init-remount script does for scsi/usb/ieee1394/etc. devices [03:33] well, it might never appear. :-) [03:33] yeh [03:33] I want to use a block device with a specified label as the backend storage for casper [03:33] the kernel guys take on this is that you should do it in a udev event or something [03:34] but if it's not there, I'll use a tmpfs [03:34] they refuse to add any kind of "I've finished scanning the bus" notification [03:34] to either USB, SCSI, SATA, etc. [03:35] so there's no way to accomodate my use case? [03:37] I obviously don't want to just sleep five seconds and see if anything comes by. [03:40] does that existing affect what you'd ordinarily do next? [03:41] yes. [03:41] then yeah, no easy way [03:41] since if a device with a given label exists, I'll mount that. If not, I'll mount something else. [03:41] then, I'll mount the cd and unionfs mount those together. [03:44] can I do something like udevplug -Busb, or won't that give me what I think it might? [03:45] won't do what you think [03:45] that will wait for anything already known to be on the USB bus to be configured [03:45] it won't find new things on the bus [03:46] I'm not too worried about the use-case of somebody plugging it in halfway [03:47] so if I can just say "please plug any USB and tell me when you're done", that's fine. [03:47] right, but USB isn't instant [03:47] in theeeeeory [03:48] if you run after the udev init-premount script, then any USB devices the kernel knows about are there, or not there [03:48] but if you have a slow USB hub or controller somewhere, you're racing it [03:49] it might be that the device hasn't settled yet as well? [03:50] indeed [03:51] this situation really sucks. [03:57] I guess the /sys entries aren't there either? [04:00] exactly [04:00] the kernel pov is that if the device hasn't settled, then how's the kernel supposed to know it's there? [04:00] the kernel does a USB scan, and announces the devices as and when they report back [04:01] if they wanted to add a "finished!" thing, they'd have to sleep-and-loop-and-timeout [04:01] which is the kind of thing that belongs in userspace [04:02] so I can say "please scan the USB bus" and then sleep for a couple of seconds, then look in /sys/block and it should be ok-ish? [04:02] yeah [04:02] and udevplug -Busb does the first part? [04:03] no [04:03] udevplug is a cold-plugging tool, it's for catching up on missed kernel events [04:03] udev already takes care of the -Busb thing [04:04] so I can just sleep five seconds or something and scan, then? [04:05] I assume you're running after the udev init-premount script? [04:05] yeah, this is a replacement for /scripts/local [04:05] right [04:06] you may be able to just look for the device straight away [04:06] the time taken to get there should be enough for the device to show up [04:06] and udevd will handle making the device node for you in the background [04:06] doesn't appear to be on my system [04:06] does it appear if you sit and wait for a few seconds? [04:07] let me check with break=premount [04:07] break=mount would maybe be better ;) [04:07] well, yes. [04:07] :-) [04:08] "Spawning shell..\n", then messages about sdb (which is the usb memory stick in question here) [04:10] "the red car and the blue car had a race" [04:10] the blue is consistently winning on my system, though. [04:11] that's because smart ol' Blue chose the Milky Way [04:39] ok, that works now. [04:57] huzza! Working live cd persistency. === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-boot