/srv/irclogs.ubuntu.com/2007/08/22/#ubuntu-installer.txt

=== xivulon [n=ago@87-194-85-156.bethere.co.uk] has joined #ubuntu-installer
=== xivulon [n=ago@87-194-85-156.bethere.co.uk] has left #ubuntu-installer []
=== superm1 [n=superm1@ubuntu/member/superm1] has joined #ubuntu-installer
=== blackskad [n=blackska@d54C1A48C.access.telenet.be] has joined #ubuntu-installer
=== xivulon [i=c2325681@gateway/web/cgi-irc/ircatwork.com/x-19fa96bfb5fdb38b] has joined #ubuntu-installer
=== cr3 [n=marc@modemcable178.77-70-69.static.videotron.ca] has joined #ubuntu-installer
cr3might there be a way to hook into the installer so that when a step in the installation fails, some action can be taken such as sending an email message? of course, this assumes the failing step occurs after network configuration01:55
xivulonevand, have started the lupin gutsy branch https://code.launchpad.net/~ago/lupin/gutsy02:05
xivulonso far I only added some patches vs casper to allow finding a preseed on the HD, boot from an ISO, and "remap" windows drives to linux devices within preseed.02:07
xivulonthe code is broken at the moment since I did not have time to test it at all, but at least you can have a quick glance so that we do not overlap02:07
xivulonI should hopefully have a working version later on tonight02:07
xivulonThe missing bits will probably go into lupin.deb. I added a temporary hook so that the package can be put on the filesystem as opposed to be in the CD.02:13
xivulonMain content of lupin.deb will probably be 1) remapping of menu.lst paths, 2) sysctl settings to improve fs robustness02:14
xivulonMain outstanding issues: 1) remounting the loop file rw, 2) grub02:18
=== elmo [n=james@83-216-156-21.jamest747.adsl.metronet.co.uk] has joined #ubuntu-installer
=== elmo [n=james@83-216-156-21.jamest747.adsl.metronet.co.uk] has left #ubuntu-installer []
xivulonevand I think I found an elegant solution for the remapping of menu.lst in loopinstallations !03:47
evandxivulon: great!03:48
evandcr3: I don't believe there is, at least I don't believe there's a nice debconf key for it.  I'll look into it in a bit.03:49
xivulonthe issue is that when menu.lst is generated the path appers '/boot/vmlinuz' but when menu.lst is used by grub4dos vmlinuz will be under '/ubuntu/disks/boot/vmlinuz'03:50
cr3evand: at this point, I don't really mind if it's not so nice :) I'm looking into it as well, I'll let you know of my progress... if any03:50
xivulonit occurred to me that instead of trying to remap from within linux, it would be much easier to ask grub4dos to support a groot_prefix parameter03:51
xivulonso if you have groot=(hd0,0), groot_prefix=/ubuntu/disks, kernel /boot/vmlinuz03:52
evandnice03:53
evandthanks cr303:53
xivulongrub4dos would actually first look into (hd0,0)/ubuntu/disks/boot/vmlinuz03:53
xivulonThe only restriction is that when you bindmount, the folder has to be the same name. Hence /ubuntu/disks/BOOT -> /BOOT03:54
xivulonI have already asked grub4dos devs to add that03:54
evandand they're receptive to this patch?03:55
xivulonI just sent the email, by the devs so far have been fantastic03:55
xivulonUnless they are on holidays I would expect that within a few days03:56
evandgreat03:56
xivulonnot sure if you saw https://code.launchpad.net/~ago/lupin/gutsy , it's not great and probably not working, but it's a first go at what we discussed03:57
xivulonshould be ok tonight03:57
evandI haven't had a chance to look it over yet, but I should find time later today to.03:57
cr3evand: I can't even find some of the error strings returned by the installer in initrd.gz, any suggestions where to look?04:04
evandquite a bit gets dumped to syslog, but that doesn't really help if you're just interested in the errors04:07
evandhrm04:07
evandoh, or do you mean the log of errors in the initrd?04:07
cr3evand: I was looking at both the syslog and the curses installer interface. In the interface, I have the string "An error was returned while trying to install" and in syslog I have "base-installer: error: exiting on error"04:09
cr3evand: I'm trying to find what catches those errors, hoping that I could trap the error somehow04:09
evandindeed, not sure though.  I'd have to poke around a bit.04:10
cr3evand: if I can introduce an isolated hack to trap all errors, that'd be perfect04:10
=== xivulon [i=c2325681@gateway/web/cgi-irc/ircatwork.com/x-fd2c98d55851d894] has joined #ubuntu-installer
=== superm1 [n=superm1@ubuntu/member/superm1] has joined #ubuntu-installer
xivulonevand does ubiquity support initrd preseeding? My code should dump the preseed into the root.04:43
evandchecking04:49
evandxivulon: you need to specify the location using file=05:01
evandit will not automatically detect the preseed file05:02
=== superm1 [n=superm1@ubuntu/member/superm1] has joined #ubuntu-installer
superm1evand, it would appear that the mythbuntu frontend is stuck in an endless loop on the partitioning step, when using those resize recipes.  offhand do you know what the cause of this would have been (some major changes to the partitioner i'd expect)?  I'll investigate it later on myself to see if i can resolve it05:21
superm1doesn't occur in the ordinary GTK frontend05:22
evandsuperm1: from trunk?  I haven't modified mythbuntu to use the new page handling code yet, as I keep getting caught up in other work.  I'm quite surprised it gets that far.05:23
superm1Yes evand i merged trunk yesterday and built it on a PPA, tested this morning05:23
superm1i'll have a look over the page handling code in gtk-ui05:23
superm1and see if i can adapt it05:23
superm1mind you that we only have one mythbuntu debconf step05:24
evandgreat, that would help quite a bit05:24
superm1all the earlier steps are simply pages in the GTK notebook05:24
evandhrmm05:24
superm1the debconf step occurs right before the partitioner for us05:25
=== superm1_ [n=superm1@ubuntu/member/superm1] has joined #ubuntu-installer
superm1_ick evand, i might be looking back a few revisions too far, but it looks as though i'm going to have to derivate from ubiquity/filteredcommand.py now?05:37
evandsuperm1_: you're probably looking back too far.  You only need to add a set_page function05:40
evandwell, and redo run() and a few other places a bit05:40
superm1_Okay phew.05:40
evandlatest revision is 219505:41
superm1_i was on latest revision, but working my way forward from all the bzr log entries that were related to pages05:41
evandahh05:42
superm1_ah yes i see the upload on 8-20-07 cleans that up05:42
evandindeed05:42
superm1_much better05:42
evandyeah, it was messy at first05:42
evandI cleaned it up when I realized I broke kde_ui hardcore05:42
superm1_haha05:42
superm1_okay well i've got to run to my next course.  i'll let you know when i've got mythbuntu working again then05:42
evandgreat, thanks05:43
=== xivulon [i=c2325681@gateway/web/cgi-irc/ircatwork.com/x-3889d185b73dc263] has joined #ubuntu-installer
xivulonevand, I am not too keen on using file=, since what I am doing is copying from find_preseed=frompath to file=topath05:59
xivulonSo it will be difficult to distinguish when find= is intended as an actual preseed or whether it is supposed to be a destionation_path06:00
xivulonI mean discriminating the case is pretty easy (just check if there is a file in topath before copying there the preseed file from find_preseed), but this double use makes it a bit confusing06:01
xivulonAt the moment I am copying from find_preseed -> ${rootmount}06:03
xivulonHmm my english was quite bad, quite I mean is that file= will end up having a double role of pointing to an existing preseed file and indiacate the destination to which to copy any preseed find via find_preseed06:10
=== blackskad [n=blackska@d54C1A48C.access.telenet.be] has joined #ubuntu-installer
cr3what part of the installer calls /usr/lib/base-installer/kernel.sh?07:32
evandcr3: base-installer07:33
cr3evand: odd, I can't find that script on the filesystem in busybox07:34
cr3maybe it's just a shell function in one of the installation scripts, but I can't find that either07:35
evandkernel.sh or base-installer?07:35
cr3base-installer, I just have it in the cdrom pool and the directory under /usr/lib07:36
evandIf it's loaded, you should have "Install the base system" in the menu07:37
=== superm1 [n=superm1@ubuntu/member/superm1] has joined #ubuntu-installer
cr3evand: yep, so I guess it's a shell function. now I need to determine where it's defined07:39
superm1evand, This warning may be trouble "            # Non-debconf steps are no longer possible as the interface is now07:39
superm1            # driven by whether there is a question to ask."  Is this only because of the --automatic feature?  If so, then i'll just reimplement around it07:39
evandsuperm1: I am probably wrong in that assertion as the first step is a non-debconf step.07:45
superm1that's right. stepWelcome07:46
evandbut yes, the main reason for the change was to support skipping pages entirely07:46
evandthat may still work as it's somewhat special-cased, I'd have to poke around but I'm currently occupied with another task07:46
evandspecial-cased before we enter the loop, that is07:47
superm1not a big deal, i'll try it, and see if it "Just Works" after the other changes i've put in07:47
superm1and if it doesnt look more closely at it07:47
evandok07:47
=== xivulon [n=ago@87-194-85-156.bethere.co.uk] has joined #ubuntu-installer
xivulonevand, I am back09:41
evandxivulon: hi09:42
evandI'm reading over what you wrote earlier, I'm just having a hard time following it.09:44
evandI'm not sure what you mean by file= indicating the destination to copy the preseed file.  file= in capser takes the file pointed to, runs debconf-set-selections on it and exists, not anything more.09:48
evandexits*09:48
xivulonevand, sorry was doing 2 conversations at the same time09:52
evandnot a problem, there's no rush09:52
xivulonwhat I mean is that at the moment I find a preseed file on HD via heuristics using find_preseed and copy it onto / for initrd preseeding09:53
xivulonWhat I will have to do to use file=, is to read the value of file= and copy over there the preseed I fetched in the previous step09:53
xivulonIn this context file= is used as a destination path09:54
evandohhh09:55
xivulonNo big deal09:55
xivulonBut it might be a bit confusing, if you use file=/path/to/preseed1 and find_preseed=/path/to/preseed2, preseed2 will be copied on top of preseed109:56
xivulonprovided you are aware of that I am happy09:59
xivulonThere where a few bugs in the code, I can go a bit further in the process now09:59
evandI'm still confused, but I think it stems from the deeper issue that I'm not getting how this works with read only media like a CD.  How can you possibly place a preseed file there?10:01
xivulonfind_preseed allows you to place preseed2 in the hard disk, but you may have a file preseed in the ISO10:02
xivulonIn fact at the moment there is a file preseed in the iso10:03
xivulon/cdrom/preseed/ubuntu.seed10:03
evandindeed10:03
evandok, so your concern is over choosing both or between the two?10:03
xivulonWith this scheme find_preseed will always overwrite preseed/file10:04
xivulonIt's not a big deal since the frontend can easily incorporate whatever seed is on the HD10:04
evandwell, casper does it, not ubiquity, but yes10:05
xivulonThat is only an issue if you want to use 2 preseeds, which I think is not a good idea anyway10:06
xivulonby the way, with the patch, since you can use an ISO on HD, you should be able to use the live initrd for hd-media/netinstallations as well10:08
evandneat10:09
xivulonI am uploading a couple of fixes, it does not boot the ISO yet10:10
evandI'm going to hopefully peruse the code a bit after I finish this other work tonight so I have a much better understanding during these conversations.10:11
xivulonbasically put a preseed in say /ubuntu/install/preseed.cfg, put the iso in say /ubuntu/install/gutsy.iso then use the following boot parameters10:11
xivulonfind_iso=/ubuntu/install/gutsy.iso find_preseed=/ubuntu/install/preseed.cfg10:12
evandok10:13
xivulonThat will scan all block devices and use the first file it finds, not 100% safe, but will do for now10:13
xivulonas mentioned there are still a couple of things to fix, have to go eat something and will try to patch it properly10:16
=== avoine [n=avoine@69.70.0.36] has joined #ubuntu-installer
cr3evand: so, I found that I can patch individual programs such as bin/apt-install in initrd.gz to report errors without significantly affecting the installer10:23
cr3evand: but, that's the best I got so far which doesn't cover all the other cases where the installation might fail10:24
evandcr3: ok10:25
evandcr3: if I understand correctly, you just want the error itself, right?  Or do you want to be able to jump in when the error happens and respond somehow?10:28
=== cjwatson [n=cjwatson@chiark.greenend.org.uk] has joined #ubuntu-installer
cjwatsoncr3: evand says you're having some trouble?10:46
cr3evand: the latter, I want to hook into the installer somehow to run a command when an error occurs10:47
superm1evand, so now if i preseed the debconf questions that would have been asked on a page, does that page automatically get skipped?10:47
superm1or do i need to do something else too?10:48
cjwatsoncr3: as in whenever debconf displays an error? no hook for that, sorry10:48
cr3cjwatson: yep. as you know, I have the installation of daily images automated in vmware and now I'm working on reporting problems when there is an error10:48
cjwatsonbest you can do is watch the syslog really ...10:49
cr3cjwatson: would you recommend a place where I can hack a hook somehow? I have been toying with modifying apt-file in initrd.gz, but that only covers errors relating to that command10:49
cr3cjwatson: hm, so I could have a process reading syslog on a pipe and then reacting when some string(s) is detected10:50
evandsuperm1: --automatic10:50
evandit should only skip the page when --automatic is passed on the command line10:50
superm1evand, what if i just want to skip a page based on choices chosen in the UI though?10:50
superm1i had to migrate every one of my pages over to have a debconf step with it10:51
superm1but still don't want them all to necessarily come up10:51
evandif you don't call a page's dbfilter, then it wont try to switch to that page.  Alternatively, if a dbfilter has no questions to ask, it wont show a page10:51
cr3cjwatson: I could then spawn that process from preseed/early_command10:51
superm1evand, hm.  my run() function may have to be fairly elaborate then.  i'll chew on that for a bit10:52
evandcr3: cjwatson what about watching the debconf database for errors with the seen flag?10:52
cr3evand: where's/what's the debconf database?10:53
evandcr3: /var/lib/cdebconf/questions.dat10:55
evandarr, nevermind10:56
evandI should think things through before I blurt them out.10:56
cr3evand: heh, I just had a look at questions.dat and came to the same conclusion :)10:57
cjwatsoncr3: early_command is reasonable enough10:57
cjwatsonevand: I wouldn't recommend it ...10:57
cr3cjwatson: the only problem is what strings to search in the syslog10:58
cjwatsoncr3: I was thinking of just having it time out if it stalls with no activity for too long10:58
cjwatsoncr3: at DEBCONF_DEBUG=developer it would sit there stuck at a GO command ...10:58
=== avoine [n=avoine@69.70.0.36] has left #ubuntu-installer []
cjwatsonso conceivably you could spot that10:59
cr3cjwatson: sounds like a plan, I will try a first iteration and refactor when it breaks down. at least I'm happy not having to touch the existing installer files10:59
cr3cjwatson: in what language would you recommend I write the script so that it could run from early_command? I'm thinking my only options are C and shell, but I'm not sure I could pull off this kind of logic strictly in shell11:01
cjwatsonC or shell are your only options11:02
cjwatsonwhichever you're comfortable in11:02
cr3both, but reading on a pipe and then breaking out of a loop after a timeout doesn't seem feasible in shell11:03
cjwatsonwell, not the timeout, but you wouldn't need that if you did the DEBCONF_DEBUG=developer thing11:03
cjwatson(and actually it's feasible with a small helper program to send you the SIGALRM)11:04
cr3actually, I think I can pull it off in shell! quicker to give it a try and then revert to C if necessary11:05
xivuloncjwatson: I was mentioning to evand earlier that I might have a solution for the problem of different paths whenever menu.lst is generated by linux but used within windows11:12
xivulonhave grub4dos support a groot_prefix argument which gets prepended to the kernel/initrd path11:13
xivulonI sent an email to grub4dos devs11:13
cr3darn, my preseed/early_command calls a function with & to set in the background but the installer stalls, it's probably not detaching from the controlling terminal or something :(11:33
=== CIA-20 [n=CIA@208.69.182.149] has joined #ubuntu-installer
xivulonevand I have uploaded xinit-ubiquity, a simple init.d script based on gdm to start ubiquity automatically. You have to put it in /etc/rc2.d before gdm12:02
xivulonAs usual it's untested and probably won't work yet12:02
cr3hehe, I found the reason! log-output polls the file default descriptors created by the process!12:06

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