[00:00] wubi: Agostino Russo * r58 trunk/ (8 files in 7 dirs): [00:00] wubi: * More precise progress reporting [00:00] wubi: * Fixed automatic version string generation [00:00] wubi: * Preseed user-setup/encrypt-home (thanks Evan Dandrea) === mpt_ is now known as mpt [10:03] lfaraone: any luck getting usb-creator to build and run last night? [11:07] cjwatson: What are your thoughts on wrapping a preseed file that does ubiquity-preserve-home in a CD boot option for "recover my system"? I somewhat recall mentioning this before, but I cannot for the life of me remember the conversation. [11:07] It could parse fstab for the mountpoints and if they weren't specified by UUID, bail out. [11:10] it would need to be described a bit better than "recover my system" [11:10] in principle it sounds OK but we need to be aware that people who aren't expecting it may regard it as data loss [11:11] sure, considering it, among other things, would effectively upgrade you if you used a newer version [11:11] I'll spec it out for Jaunty+1 then [11:11] if you think it's a reasonable goal, that is [11:14] I'd almost prefer a more sophisticated rescue mode with a number of options [11:15] dropping you into a UI on the ubiquity side [11:15] sometimes "recover my system" just means "reinstall my bootloader" [11:16] Sure, that equally works for me [12:16] Last crazy idea for the day, I promise: [12:16] I was speaking with someone at UDS who ran into the problem whereby the install failed partway through and left a ghost system on their computer. Ideally they wanted ubiquity to detect on a follow up run that it had already tried to install previous and failed, and that it should offer to wipe out the failed install attempt. [12:16] I thought we could easily accomplish this by ubiquity writing a hint file to the system at the start of the install containing the partitions it's added. It would then delete this file as its last step in the install. Alternatively, we could set the status flag of each partition to an undefined (but understood by ubiquity) value. [12:16] Either way, if ubiquity detects the presence of this file or flag at the partitioner screen, it offers to delete the partitions in question, then reload partman. [12:17] ^ cjwatson, does that sound like a worthwhile effort for a future release? [12:17] where would it write it (to which partition)? [12:17] any one created by ubiquity [12:18] in the 0 bit for each partition that it creates [12:18] err byte [12:21] which means it would have to mount all partitions, which potentially means replaying journals (we have an os-prober bug about this) [12:21] it's an interesting and worthwhile idea, I think, and we certainly have some bugs that it would help with [12:21] but I think it has some hidden assumptions we need to examine carefully [12:22] a related suggestion would be making sure that log files end up on the target system earlier, to make it easier to diagnose bugs after a user reboots following an installer crash [12:22] so maybe we should have a general look at the handling of installer crashes, including your suggestion? [12:28] indeed, I think so [12:33] ok, I'll make a skeleton specification for that as well, just so it doesn't get lost before the next UDS. [13:37] evand: havn't had a chance to look into it, sorry :( [13:38] no worries, was just curious if you got any further since we spoke last [13:38] do let me know if you have any questions [14:17] I wish my test cycle were shorter [14:17] having to get through base-installer and apt-setup before the relevant code runs is annoying [14:24] indeed [14:27] 31283 execve(...) = -1 EFAULT (Bad address) [14:27] oh dear [14:29] oh, I forgot to terminate argv. idiot [14:29] oh, and for some reason the 8.10 installer spews a bunch of busybox errors when it is starting up [14:29] at least here it does. [14:31] DogWater: fairly sure it doesn't do that as standard - I'm sure people would have screamed at me during testing [14:32] maybe only the pxeboot image does it? [14:32] err netboot? [14:34] maybe it would be easier if I saw the errors :-) [14:35] I can put it on a KVM if you want, if that would make it even easier [14:35] ;-) [14:35] but yeah i'll start with the bug report you requested [14:35] KVM => keyboard video mouse or kernel virtual machine? [14:35] sorry, i meant KVM-IP ;-) [14:36] a screenshot would probably be less fiddly [14:38] hrm, not sure how to pause it during the pre-boot phase to see exactly what busybox is complaining about, it looks like it is saying invalid option -i about 20 times [14:39] but it moves pretty fast [14:41] DogWater: is this actually 8.10 or 9.04 netboot that your on about? [14:42] I downloaded the 8.10 iso and moved the netboot directory onto my tftpserver [14:42] so whatever version that is [14:42] its 8.10 server [14:42] dont know if that matters [14:45] also, just a general question about the installer, is there any way to instruct it to blow away whatever is on the disk so that you don't run into the LVM limitation where you have to manually partition the disk, and/or is there a way to automatically partition the disk? [14:45] i'm coming from the redhat/fedora/centos kickstart [14:45] and i guess i'm a little spoiled [14:46] invalid option -i> hmm, that sounds like something I remember fixing [14:47] yes, there is at least a preseeding option to do that [14:47] and you can certainly automatically partition the disk, even via the usual kickstart methods [14:47] although LVM partitioning is not yet provided via kickstart, unfortunately [14:47] i use clearpart --all and it still hangs up if there is already a LVM partition on the drive [14:47] but it can be done directly via preseeding [14:47] if you look at the installation guide, there's a preseeding directive for that [14:47] oh, well i dont need LVM partitions, i just want regular partitions, but for some reason even though i use clearpart --all it still complains about LVM [14:48] cjwatson: it is complaining about busybox -l sorry, not i [14:49] https://help.ubuntu.com/8.10/installation-guide/i386/preseed-contents.html and search for device_remove_lvm [14:49] that transforms into 'preseed partman-lvm/device_remove_lvm boolean true' in a kickstart file [14:50] ah, i guess i didn't get that you could use preseed commands in a kickstart [14:50] (https://help.ubuntu.com/8.10/installation-guide/i386/automatic-install.html) [14:50] yeah, https://help.ubuntu.com/8.10/installation-guide/i386/automatic-install.html documents our extensions and things we don't yet support [14:53] ah okay i think i've nailed down the problems i'm having, essentially the rootpw and the [14:53] user directives dont appear to work [14:54] in kickstart anymore, looking at /etc/shadow there is no pw set for root and it doesn't create the user i have specified [14:54] (and asks to create a user manually) [14:54] I really just need the kickstart file [14:54] I can take it from there [14:54] no problem [14:56] https://bugs.launchpad.net/ubuntu/+source/kickseed/+bug/320053 [14:56] Launchpad bug 320053 in kickseed "Kickstart on 8.10-server irregularities" [Undecided,New] [14:57] ok, great; let me finish up the other thing I'm working on and I'll have a look at that [15:03] cjwatson: I realize you're busy but regarding auto-partitioning the documentation you refered to indicates that folks should refer to the redhat documentation, the redhat command for autopartitioning is autopart in the ubuntu installer this command doesn't appear to work. [15:03] it wasn't when I wrote that :-) [15:03] and it does link specifically to the RHL 9 docs [15:04] which do not list autopart [15:04] autopart is a new addition since I last updated kickseed to match Anaconda, I suppose [15:04] do you have a current documentation link? [15:05] oh, okay i'll go back and look at the rhl 9 docs then ;-) [15:06] * cjwatson finds http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/ch-kickstart2.html [15:07] ok, you should probably just look at the preseeding documentation and translate it to kickstart in the usual way to get automatic partitioning [15:07] yeah, thats for RHEL 5 not rh 9 ;-) [15:07] you're right autopart doesn't show up in the rh 9 docs ;-) [15:09] I've filed bug 320062 [15:09] Launchpad bug 320062 in kickseed "update to RHEL 5 Kickstart syntax" [Wishlist,Triaged] https://launchpad.net/bugs/320062 [15:11] autopart actually goes back as far as rhel 3 [15:11] just so you're aware [15:11] right, I wrote kickseed for Ubuntu 5.04 though [15:11] it's had some updates since then but not major ones [15:12] so the preseed commands i just remove the d-i and pop them in the kickstart? [15:13] d-i FOO BAR BAZ => preseed FOO BAR BAZ; anything-else FOO BAR BAZ => preseed --owner anything-else FOO BAR BAZ [15:14] thanks sir [15:14] if only debian would backport your kickstart enhancements ;-) [15:15] the relevant code is already in Debian's d-i repository [15:15] so then a command like this: preseed partman-auto/disk string /dev/sda shouldn't "break" the kickstart process? [15:16] however, there is some contention about the extra space required to add the necessary busybox modules [15:16] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=348314 [15:16] Debian bug 348314 in busybox-udeb "busybox-udeb: please enable getopt" [Wishlist,Open] [15:16] (and subsequent stuff on debian-boot somewhere [15:16] ) [15:16] DogWater: clearpart --all should already do that partman-auto/disk change (effectively) [15:17] and in fact I think it's roughly equivalent to the stuff you need for autopart [15:17] the only things you'd need to add would be: [15:17] ah, i added some preseed commands to the kickstart and now its asking me what kind of keyboard i am using ;-) [15:18] preseed partman/choose_partition string finish [15:18] preseed partman/confirm boolean true [15:18] that's odd, since your keyboard command is correct [15:18] I just pasted what I added [15:18] to your pm [15:19] oh, your getopt -l bug is bug 293586 [15:19] Launchpad bug 293586 in busybox "lack of CONFIG_GETOPT_LONG in busybox-udeb completely breaks Kickstart" [High,Fix released] https://launchpad.net/bugs/293586 [15:19] I guess I should backport that [15:19] and indeed that explains your other bug [15:20] that bug has a link to an initrd I put together as a temporary measure [15:20] just i386 at the moment [15:20] thanks, I guess not many people do the completely hands off server installs [15:20] wee bit important for a hosting company ;-) [15:21] is the syntax on my new preseed commands okay or is that all blown? i believe that comes right out of debian [15:23] partman-auto/purge_lvm_from_device is outdated - you need to work from the installation guide for your release as preseeding syntax does sometimes change [15:23] I suspect you're using documentation for Debian etch there [15:24] partman-lvm/device_remove_lvm is the one you want nowadays [15:25] I see the patch is there a built initrd linked? [15:25] ignore the patch, it isn't necessary if you follow the link in a different comment to my initrd build [15:25] I think i'll have to make a public mirror for ubuntu since you're being so helpful [15:25] http://people.ubuntu.com/~cjwatson/tmp/intrepid-busybox-fix/netboot/ubuntu-installer/i386/ [15:26] I've started the stable update process for that busybox change now [15:27] cjwatson: would it be worth setting up a testcase for this process? [15:27] it was my fault that took so long [15:27] davmor2: yes [15:27] it's a sin that we don't test kickstart [15:28] I guess its this line that ks doesn't like. [15:28] preseed partman-auto/choose_recipe \ [15:28] select All files in one partition (recommended for new users) [15:28] i'll read the docus for preseed on 8.10 [15:29] that line should be fine [15:29] ah it complains about the ( when it goes to read the ks file [15:29] ah, hmm, that's possible [15:29] more current syntax is: [15:29] preseed partman-auto/choose_recipe select atomic [15:30] we instituted that a little while back to avoid all the problems with preseeding the verbose versions [15:30] i'm just trying to get it so that no matter what it doesn't ask me anything ;-) if i can do that i'll be pleased [15:31] thanks for taking care of that. if you need any test servers or anything i can help [15:31] shouldn't, as this is pretty system-independent, but thanks anyway [15:32] nice, it skipped right over the partitioner this time [15:33] well i must say this was alot easier than getting a bug in Dell's PERC 6i for windows x64 driver fixed ;-) [15:34] cjwatson: the last nitpicky question i had is there a way to use a local source as the install media (http) and then have it automatically put the apt sources to their defaults for updates and installs? [15:36] not quite out of the box, but you can always rewrite the sources.list in a preseed/late_command script [15:36] sed -i 'whatever' /target/etc/apt/sources.list; in-target apt-get update [15:36] or something like that [15:36] i could just wget the original from the http server, too? [15:36] wget the original what? [15:37] the distribution version of sources.list [15:37] which is built programmatically - it's not on an Ubuntu mirror in plain form [15:37] you can of course fetch it from somewhere if you happen to have a version you'd like [15:37] ah i meant i could put it up in my local http server and then at the end of the install replace the old one [15:37] sure [15:38] hm i wonder which way would be proper as the version stored locally would be static [15:38] I'd use the sed approach if I were doing it [15:38] but either is fine [15:40] hrm, i'm not sure i understand your syntax in that sed line, does apt-get update provide the mirror list? [15:41] apt-get update tells apt-get to fetch index files from the servers listed in sources.list, and is necessary after changing sources.list [15:42] ah so the 'whatever' would be new content [15:42] I could also use sed to just replace the current listed URL with a new URL [15:42] everywhere it appears [15:42] in that file [15:47] like preseed/late_command sed 's/mirrors.domain.com/ubuntu/whatevermirror.domain.com/ubuntu/g' /target/etc/apt/sources.list; in-target apt-get update [15:48] obviously i'll need to escape the /'s in the url [15:51] yes, that was the kind of thing I meant [15:54] cool, i'll give it a shot i'm installing centos on this machine now to make sure it wont choke on lvm [16:03] cjwatson: I'll have a chat with you after alpha 4 and see if we can't get a kickstart testcase together [16:03] ok [16:06] cjwatson: so preseed partman-lvm/confirm boolean true should make it automatically confirm the removal of an LVM partition, correct? [16:06] hrm, now that we have ext4 support, perhaps making fallocate calls in copy_all would be worthwhile. [16:07] DogWater: believe so [16:07] hrm, its asking me to confirm, i'll check the docs, thanks [16:07] would need to see the text of the confirmation dialog [16:09] in general is it normal for the installer to request a bunch of files that aren't available on the CD? [16:10] in general you should be using the netboot installer against a proper archive mirror, not against a mounted CD image. The latter is not really supported. [16:14] hm, so i will just need to create an archive mirror for the dists im using [16:18] debmirror makes it not too bad assuming you have reasonable bandwidth [16:18] yeah but my tftpserver is centos [16:18] I maintain a limited mirror for stuff I care about behind a sub-megabit ADSL line [16:18] oh we have 5Gbps across 6 connections here [16:19] debmirror's just a perl script and should be easy to run on centos [16:19] ah [16:19] i was thinking it was a pkg [16:20] it's a package containing a perl script ;-) [16:27] ubiquity: evand * r2985 ubiquity/ (4 files in 3 dirs): [16:27] ubiquity: Modified the keyboard setup page to produce a more visually obvious [16:27] ubiquity: suggestion. [16:28] ^ That could probably use some more work, and needs the Qt end done, but I wanted to get it committed so it can be further discussed. [16:36] cjwatson: sed 's/http:\/\/10.1.0.1\/Ubuntu8.10/http:\/\/ubuntu.osuosl.org\/ubuntu/g' /target/etc/apt/sources.list; this command should actually edit the file right? it seems to just output the changes [16:38] note that I said sed -i [16:38] -i => in-place edit [16:39] my bad you're right im not much on sed yet [16:40] or reading apparently [17:20] cjwatson: how would you feel if I replaced preseeds with kickstarts in my testing rig? would that be a preferable way of testing automated installs considering I believe kickstart is the officially supported technology? [17:39] cr3: kickstart is not the only officially supported approach. both kickstart and preseeding are supported, with different audiences. [17:39] I would appreciate you adding at least one kickstart test case [17:39] but please don't drop preseeding [17:39] cjwatson: ok, I got overly excited with nijaba's whitepaper on automated installs [17:40] pointer? [17:40] cjwatson: it would be complicated for me to perform one install with preseed and another with kickstart, for the same image. how about I use preseed for alternate images and kickstart for server images, might that be a decent compromise? [17:40] cjwatson: https://wiki.canonical.com/WhitePapers/AutomatedInstall [17:40] I don't mind; there are other sensible ways for us to test Kickstart [17:49] cjwatson bah my damn sed has a syntax error ;-) love it [18:05] cjwatson: is it preseed preseed/late_command or just preseed late_command? [18:08] the former [18:12] that explains that [18:12] :D [18:14] https://help.ubuntu.com/8.04/installation-guide/i386/preseed-advanced.html [18:14] ^ gives the exact format of the line [18:14] erm actually [18:15] nevermind that, you're using kickstart [18:15] just as you said, preseed preseed/late_command :) [18:16] so: preseed preseed/late_command string echo success [18:20] preseed preseed/late_command sed -i 's/http:\/\/10.1.0.1\/ubuntu/http:\/\/ubuntu.osuosl.org\/ubuntu/g' /target/etc/apt/sources [18:20] .list; in-target apt-get update [18:20] is there some reason why that wouldn't run? [18:21] ah, maybe i need to add string [18:22] yes [18:22] you need string in there [18:23] ah, the final question i had is does anyone know how to prepare a gpg keyring for debmirror but on centos? [18:26] i guess i'll have to copy the archive keyring from an ubuntu box [18:26] and hope for the best ;_) [18:28] ah, for some reason getopt is saying -i is not a valid option [18:29] i must need to escape the command line or something [18:29] on those preseed/late_commands [18:36] hrm, that is odd yeah getopt says invalid argument -i when it goes to issue those commands [18:47] you sure it's getopt not sed? [18:47] erm, sorry, busybox sed doesn't support -i. Use chroot /target sed -i '...' /etc/apt/sources.list instead [18:48] would in-target also work there? [18:50] it would, but it's overkill [18:51] in-target is chroot /target wrapped in a bunch of other stuff you don't need for just running sed -i [18:52] ah, are you familiar with debmirror? how do you make it get two arches and more than one release at a time? [18:53] i'm trying to get amd64 and i386 on 8.04 server, 8.10 server and the latest 7 [19:04] nevermind figured that out, still can't get sed to run ;-) lol [19:07] seems like it just doesn't want to do it ;-) [19:10] cjwatson: still says getopt: invalid option -- 'i' [19:11] even with the darn chroot [19:12] here i'll try it without the auto reboot to see if i can run the command myself [19:20] yeah, it works if i just type out the command, but not from preseed/late_command [19:22] argh [19:24] i commented those commands out to see if the getopt -i error is coming from that, i assume it is, but who knows at this point [19:35] yeah no getopt error when i remove those, now im going to try in-target [19:38] yeah, doesnt work regardless of what i do [19:38] crikey [19:40] let me know if you have any ideas please [19:46] does the error show up in /var/log/syslog? if so, could I have the full syslog please? [19:46] cjwatson: do i need to call a different shell somehow to get away from busybox? [19:46] no [19:46] chroot /target ... will use dash in the chroot [19:47] it actually sounds like it may not be from preseed/late_command at all, which is why I'm asking for logs [19:47] ah, i tried both chroot /target and in-target ... [19:47] because, well, preseed doesn't use getopt at all [19:47] oh, okay well when i comment those two lines out it doesn't show that message [19:47] sure, but please check the logs anyway [19:47] the installer is a complex system [19:48] i did a grep -R getopt * in /var/log and it just says popt was heavily influenced by the getopt() and getopt_long() functions [19:50] is there a way to get a copy of the kickstart file as the system interpreted it? [19:52] err, that's a very confusing question [19:52] it implies there's such a thing :) [19:53] well, i am trying to determine what the installer thinks the command after 'string' is [19:53] you could run 'debconf-get preseed/late_command' from tty2 [19:53] i mean it is kind of a crazy command [19:54] so maybe it isnt intrepreting it like i expect it to [19:54] cjwatson: it returns a newline [19:54] I think you're barking up the wrong tree here, TBH [19:55] okay, well what would you consider the issue then? [19:55] I don't know, I'm going to need to reproduce it myself I think [19:55] could you put the most recent copy of your preseed file in bug 320053? [19:55] Launchpad bug 320053 in busybox "Kickstart on 8.10-server irregularities (dup-of: 293586)" [Undecided,New] https://launchpad.net/bugs/320053 [19:55] Launchpad bug 293586 in busybox "lack of CONFIG_GETOPT_LONG in busybox-udeb completely breaks Kickstart" [High,Fix released] https://launchpad.net/bugs/293586 [19:55] (passwords removed again) [19:55] sure [20:02] preseed preseed/late_command string in-target sed -i 's/http:\/\/10.1.0.1\/ubuntu/http:\/\/ubuntu.osuosl.org\/ubuntu/g' /etc/$ [20:02] preseed preseed/late_command string in-target sed -i 's/http:\/\/10.1.0.1\/Ubuntu8.10\//http:\/\/ubuntu.osuosl.org\/ubuntu/g'$ [20:02] is the $ there a cut-and-paste error (from vi maybe)? [20:02] Yeah try the 2nd one [20:03] and you know that only the last one will take effect? [20:03] the last one is cut off too [20:03] i posted another comment without the $$ [20:03] gotcha [20:03] sorry [20:03] it kind of wrapped it funny [20:03] though it's just cut off with no $ :-P [20:04] does it go "sed -i '...' /etc/apt/sources.list; in-target apt-get update"? [20:04] I really need an accurate copy here [20:04] https://bugs.launchpad.net/ubuntu/+source/busybox/+bug/320053/comments/3 [20:04] Launchpad bug 320053 in busybox "Kickstart on 8.10-server irregularities (dup-of: 293586)" [Undecided,New] [20:04] Launchpad bug 293586 in busybox "lack of CONFIG_GETOPT_LONG in busybox-udeb completely breaks Kickstart" [High,Fix released] [20:04] oh, it's wrapped not cut off [20:04] ok [20:04] yeah, sorry the text box wrapped it [20:05] I can cope with the wrapping, as long as it isn't wrapped in your original file [20:05] no its not that is why it had the $ in the original file because i copied it from the editor [20:05] err the original comment [20:05] i should say [20:08] and the busybox in the installer has sed -i at least according to it's help [20:08] so i have no idea where those getopt: messages are coming from [20:10] the exact message is getopt: invalid option -- ' i' [20:11] and it does it once for each preseed/late_command line in the kickstart [20:11] yes, you're right, it does support -i - sorry [20:12] confirm that you're using the fixed netboot image posted in the other bug? [20:13] well, yes I have to be right because otherwise the root user wouldn't have a password and it would ask me to create a user [20:17] just making sure [20:18] test running [23:22] DogWater: gah, my test didn't seem particularly useful; I didn't get your error, though ran into a different one just before the end of the installation [23:23] DogWater: I'd appreciate a copy of your syslog anyway; you can extract it from the installer environment by running 'anna-install openssh-client-udeb' and then using scp. Make sure to copy the syslog from the installer root, *not* from /target [23:29] DogWater: you said that the exact message was: getopt: invalid option -- ' i'. I don't think that space can be there - I've tracked down the relevant code and it only ever prints one character between the quotes? [23:30] I'll have to look further tomorrow :-/