/srv/irclogs.ubuntu.com/2008/09/15/#ubuntu-installer.txt

CIA-59ubiquity: cjwatson * r2818 ubiquity/ (debian/changelog ubiquity/filteredcommand.py):01:11
CIA-59ubiquity: Fix mysterious crash if a debconffilter doesn't get started for some01:11
CIA-59ubiquity: reason (LP: #125538).01:11
CIA-59usb-creator: evand * r12 usb-creator/ (7 files in 5 dirs):04:17
CIA-59usb-creator: * Properly set the labels of the progress dialog on install startup.04:17
CIA-59usb-creator: * Do not make the dialogs modal.04:17
CIA-59usb-creator: * Elevate privileges using gksu.04:17
CIA-59usb-creator: * Added a .desktop file (LP: #267788).04:17
davmor2is cdimages.u.c down?08:13
cjwatson02:39 <MattJ> Is cdimage.ubuntu.com down intentionally?09:00
cjwatson02:41 <james_w> MattJ: http://91.189.88.34/ should get you there09:00
cjwatson02:41 <MattJ> james_w: thank you so much :)09:00
cjwatson02:41 <james_w> only some of the servers behind cdimage are down, so going directly to one that isn't works09:00
davmor2cjwatson: ta :) Rsync still worked so I got the images I just need to see if they would work :)09:17
sorencjwatson: Are you familiar with di-live?09:44
cjwatsonno09:44
sorenhttps://lists.ubuntu.com/archives/ubuntu-server/2008-September/002239.html09:44
cjwatsonbeyond a general awareness that they've gone down a road I investigated and decided was ultimately doomed09:45
sorenAh :)09:45
cjwatsoner, hmm, this doesn't seem to be the same as the live CD stuff based on d-i09:45
cjwatsonok, in this case I'm actually not familiar with it at all, sorry09:46
sorenThese people have devised a system for creating live CD's for servery kinds of things, and then use this "di-live" thing to run the installer from that running system.09:46
sorenIt might be worth a look.09:46
cjwatsonit looks fairly competently done09:47
cjwatsonthey've taken quite a similar approach to ubiquity in some ways09:48
cjwatsonsoren: yeah, I quite like the look of that. Certainly don't reject it out of hand09:49
cjwatsonyou could invite them in here09:49
sorenCertainly.09:49
sorendone09:52
xivuloncjwatson would it be feasible to avoid O_DIRECT flags in parted_server?10:02
cjwatsondid upstream say they couldn't fix it to actually work?10:03
cjwatsonwe could make parted fall back from O_DIRECT to !O_DIRECT10:04
cjwatsonwe can't just drop it - it was added for a reason10:05
xivulonI have asked both szaka and cking but got no reply so far, szaka mentioned in the bug he would add it to the todo list, but I am not sure how long that will take nor if he means honouring O_DIRECT or ignoring O_DIRECT10:05
xivulonfall back will do!10:06
cjwatsonthat should be straightforward10:06
cjwatsonI doubt it matters much whether it's honoured or ignored, for loopback10:06
cjwatsonit just needs to be not rejected10:07
cjwatson(at least from parted's point of view; I can see why szaka might feel it's hard to do properly)10:07
xivulonthat is what I asked him to do indeed10:07
cjwatsonhmm, open(2) documents that some file systems may ignore it10:08
cjwatsonsorry, may not implement it - and may fail with EINVAL10:08
cjwatsonso maybe working around it in parted is actually the right thing to do10:08
xivulonI have opened bug #26994710:12
cjwatsonsomething like http://paste.ubuntu.com/47108/ should do it10:14
xivulonlooks good, I could test that tonight10:18
cjwatsonI'll upload it once I've done some basic testing10:19
xivulonthanks a lot10:19
cjwatsonoh, hang on, soren already disabled O_DIRECT altogether10:20
cjwatsonsoren: would a fallback not be better?10:20
davmor2Guys give me a ping when you have a working solution that I can test and I'll run it on all versions of windows :)10:20
sorencjwatson: That's what I started out with, but Jim Meyering thought otherwise.10:20
sorenWell, actually some dude from SuSE though otherwise, and Jim agreed.10:21
cjwatsonreally? interesting. so in that case why is the bug still open? :)10:21
sorenIt's not.10:22
* soren whistles10:22
sorenbug 25268410:22
cjwatsonI'll dup, thanks10:23
sorenhttp://lists.alioth.debian.org/pipermail/parted-devel/2008-August/002392.html10:23
sorenSorry about the lack of paperwork.10:24
cjwatsondavmor2: today's image should already have Soren's fix10:25
davmor2cjwatson: cool I'll see how things go then :)10:28
davmor2xivulon: has the latest wubi been included on the cd yet?10:28
xivulonshould be rev 50710:37
xivuloncheck also that busybox is the right version (ubuntu6 if I recall correctly)10:37
xivulonyes busybox is there too10:38
CIA-59ubiquity: cjwatson * r2819 ubiquity/ (apport/ubiquity.py debian/changelog): Add /var/log/casper.log to apport-generated bugs.10:41
xivulondavmor2 all seems in order, please test10:42
davmor2xivulon: Np's I'll give it a whirl after I get some smoke tests out of the way :)10:42
cjwatsonOK. If you have a casper branch (assuming it's just following trunk, and that you don't have any extra revisions on it), then please remove it and check it out again.11:31
cjwatsonIf you have a non-trivial branch with some unmerged revisions, then please talk to me and we'll get it sorted out11:32
davmor2cjwatson: I've got issues with the display of the new partition viewer on ubiquity11:39
davmor2I'll take an image of it after and post it somewhere so you can see what I mean.11:41
davmor2Hmmm an attempt to configure apt to install additional packages from the CD failed not good :(11:52
exodoshi, im trying to use ubuntu-installer to install hardy on xen domU12:06
exodos(as described in here: http://wiki.debian.org/DebianInstaller/Xen)12:06
exodosthe problem is d-i partitioning is not working so I'm looking for a way around it12:07
exodosi started terminal, created partitions and filesystems, and mounted the rootfs on /mnt12:08
exodosis there a way do say d-i that partitioning is already done and it can proceed with base system installation?12:09
cjwatsonyes, but with caveats12:13
cjwatsonyou'll need to mount it on /target, not /mnt12:13
cjwatsonyou will need to create /target/etc/fstab12:13
cjwatsonwith that in mind, edit /var/lib/dpkg/info/partman-base.postinst and put 'exit 0' on the second line12:14
cjwatsonstuff might go wrong later; this is not a usual path ...12:14
exodoscjwatson: I will check that, thx a lot!12:14
=== alonswartz is now known as alonswartz_
=== alonswartz_ is now known as alonswartz
exodosare there any plans for future to make d-i working under xen?12:27
cjwatsonI thought it was mostly a matter of providing a suitable kernel, but honestly I know very little about it12:32
alonswartzsoren: I'm one of the developers behind TurnKey Linux, and the author of di-live. I heard you had some questions so I thought I'd drop in here and say hi.12:36
davmor2cjwatson: Any idea why if you try installing ubuntu on the live cd directly (rather than through live session) you get the wrong theme?12:55
davmor2you get the default gnome theme (grey/blue bar etc)12:56
davmor2xivulon: Yay it worked :)  Wubi in XP installed :)13:07
xivulondavmor2 good news :)13:13
xivulondavmor2: couple of things to test a) install a new kernel b) see if suspend/hibernation works13:13
xivulonthe latter was disabled, but it __might__ be that the 27 kernel supports suspending to a swap file13:14
xivulonyou might to enable hibernation manually or run the underlying commands (let me have a quick look)13:15
xivulonapparently uswsusp can support hibernation to a swap file...13:26
cjwatsondavmor2: I've noticed that it seems to be a sort of halfway house (it's not quite the default GNOME theme, I don't think, but it's certainly not ours either), but I don't know why13:30
cjwatsonalonswartz: I don't have any specific questions about di-live (I've only had a chance to glance over it), but I noticed there was some inspiration from ubiquity there and it seemed to be rather well-written, so I thought you should be invited in here and that this would be the best place for discussions of it13:31
alonswartzcjwatson: thanks for the invitation, and compliment.13:33
cjwatsonalso in case there was anything you were stuck on ...13:34
alonswartz Yes, I built heavily on ubiquities design in leveraging d-i code. I originally thought that I would patch ubiquity to support installation from the console, but when I got into the thick of things, I realized that the way to go was modular...13:34
cjwatsonthe reimplementation of main-menu is a nice idea; I did try that sort of approach originally for oem-config (whose general design grew into ubiquity) but found there were too many crossovers13:35
cjwatsonactually, if I were doing ubiquity over again I'd probably take that kind of approach. The current ubiquity main loop came from Guadalinex' code and I was never very happy with it.13:35
cjwatsonmost of ubiquity's complexity is due to the requirement for a designed UI rather than one generated from the debconf protocol, though.13:36
cjwatsonI take it you're just using debconf's dialog interface?13:36
alonswartzyes, i noticed that. I understand that ubiquity came out of the need for a GUI installer, it was just a pity that d-i got wrapped up in that13:37
cjwatsonmm, I didn't want to maintain two partitioners. :)13:37
alonswartzhehe...13:37
alonswartzin the long run it would have been easier ;)13:37
cjwatsonin fact there were a lot of things where I felt the, uh, business logic was the hard bit and I still feel it's worth not duplicating that13:37
cjwatsonplus I like d-i and wanted to make use of it. :)13:38
alonswartzin the future, it might be an idea to consider seperating the GUI code from the d-i code for maintainance and modular reasons13:38
alonswartzre-using d-i code is definately the way to go13:39
alonswartzno point in re-inventing the wheel13:39
cjwatsonI'd like to figure out a clearer way to do debconffilter. I think it's the right general approach but it's undeniably hard to program in. Maybe the problem is that it isn't really testable13:39
cjwatson(automatically)13:39
cjwatsonor maybe the problem is that most programmers have trouble wrapping their heads around state machines13:40
cjwatsonthe reason it's interwoven is that there are lots of cases where we need to advance the d-i code just a little bit (rather than by a whole component) in order to figure out how to update the UI13:41
cjwatsonthe partitioner is the really obvious case, but e.g. keyboard configuration too13:41
cjwatsonoriginally I wanted to do it by way of cdebconf custom widgets13:42
alonswartzits a really interesting concept - creating a debconf filter layer for interception (and possibly injection), but undoubtably complex13:46
alonswartzhow did you perform testing, seems to me like a nightmare, especially if you say that auto-testing is out of the questions13:49
cjwatsonunfortunately most of the testing I did was system testing, just plug it in, watch the debug information, and see if it's driving it the right way13:54
cjwatsonI don't think auto-testing is out of the question, but I'm not very good at building test harnesses13:54
cjwatsonthe trick is figuring out how to isolate the d-i code, I think13:54
cjwatsonand instrument the bits you can't isolate13:55
cjwatsonwe've managed successful unit testing of some small bits of d-i, like the kernel selection code in base-installer, but nobody's managed to build a test harness for the partitioner yet13:55
cjwatsonthe usual failure mode with debconffilter is that the d-i code heads off down some path you didn't predict13:56
alonswartzone of the barriers i found when coding di-live, was testing. Most of my testing was done in a segregated chroot, but testing the partitioner was done in a vm. I can only imagine the extra hurdles you had to jump over with the debconf filtering layer...13:56
alonswartzhave you thought of any other approaches than the filtering layer ?13:59
cjwatsononly custom widgets (i.e. "Type: timezone_map" in a templates file that invokes special debconf plugin, that sort of thing)14:01
cjwatsonthe problem with that is that it tends to involve substantial changes to the d-i code, and you end up basically copying and pasting chunks of it into the GUI plugin since it needs to do much the same job14:01
cjwatsonso in the end I rejected that idea as not viable14:02
alonswartzi have not given GUI interaction much thought, but it seems like an interesting problem to solve, especially the priority of code-reuse14:06
alonswartzwhen performing the copy of the live filesystem, you use /rofs as the source. From what I understand you do this for "maximum reproducability" - have you considered adding the option of copying the overlay aswell ?14:14
alonswartzoverlay = live overlay (with possibly a  white or black list)14:17
cjwatsonI'm open to suggestions, but I've never seen a way to do it well14:24
davmor2xivulon: it's todays cd and seems to be the most up-to-date kernel suspend failed to restart14:24
cjwatsonmostly people want to copy user-level customisations and such, and those aren't just a matter of copying the overlay in a desktop environment; the username is different, and gconf has a habit of embedding the username into its database as well14:24
cjwatsonso it would have to be quite a sophisticated operation14:25
cjwatsonit's possible that it would work better in serverland14:25
alonswartzits a feature that i plan on working on in near future for di-live. implementing it in serverland should be easier though.14:28
alonswartzbesides for user customizations, did you come across any instability issues regarding certain live content that you *don't* want in the installed system ?14:30
cjwatsonwell, the thing to be careful of with copying the live overlay is that the user's quite able to change files in e.g. /usr14:32
cjwatsonyou definitely can't copy the whole overlay, because it includes the customisations made by casper to make the system bootable as a live CD; you don't want those on the installed system14:33
cjwatsonso you have to be selective. The easiest way to be selective is just to copy things in /home14:33
cjwatsonthen what if the user upgraded a package from backports (not that uncommon) on the live CD, and used it? That could easily result in data in /home that the installed system can't read, unless you figure out how to copy everything except for casper's modifications14:34
cjwatsonat some point of course you might decide that you don't care, but I didn't want to have to deal with the sort of wildly complicated bug report that this could result in14:35
cjwatsonI figured KISS was the way forward :)14:35
xivulondavmor2 did it use to work on your machine/vm in 8.04?14:37
alonswartzi suppose it depends on what the objective of copying the live system state to the hard disk would be.14:37
davmor2xivulon: can't remember I think it worked on the intel based machine I'll try it on vista after and see14:38
alonswartzin the case of a server type appliance the user might want to test out the system live, maybe configure a database, install or configure a cms or what ever, and then decide thats what he wants. it would then be nice to have the option whether to install the vanilla system, or the customized system14:38
cjwatsonright, I agree that the appliance case is very different14:39
alonswartzi suppose its a all or nothing situation, if the user installs packages, customizes configurations, etc. then you have to take all the data across14:39
cjwatsonone approach would be to extend casper to be able to reverse all its modifications reliably14:39
alonswartzwe have highly customized casper btw, so its not really an issue14:40
cjwatsonoh, of course you also have to figure out how to reliably remove di-live itself from the target system; the ease of that depends on how many dependencies it has14:40
cjwatsonin ubiquity's case we remove it using python-apt, which is easier since we know the state of the copied filesystem14:41
alonswartznice catch, its on my todo list...14:41
alonswartzdon't you do i diff of the installed packages and the manifest, or something like that?14:42
cjwatsonwe do a diff of two manifests14:43
cjwatsonyou could do it even if further packages had been installed if you were careful; only resolve problems by removing packages if those packages are in the diff between the two manifests14:44
alonswartzcan you point me to the code that uninstalls ubiquity ?14:46
cjwatsonyes, remove_extras in scripts/install.py14:50
alonswartzthanks ;)14:51
alonswartzit seems pretty involved. i was thinking of just passing a list of packages to be removed to apt in the target chroot - what am i missing ?14:57
CIA-59usb-creator: evand * r13 usb-creator/ (debian/changelog gui/usbcreator.glade scripts/install.py):14:58
CIA-59usb-creator: Work around a bug in syslinux wherein it can only find the configuration14:58
CIA-59usb-creator: file for the option labels in the root of the device.14:58
cjwatsonalonswartz: robustness - if you do that and just one of them fails, apt may not remove any of the rest, or may leave the system in some kind of half-broken state14:59
alonswartzis their any reason it would fail? the system should be in prestine state, as its a direct copy of /rofs15:00
alonswartzand if it does fail, we could intercept the exception - which would then be a bug, and should be reproducable...15:01
alonswartzcjwatson: unfortunately i gotta run off to a meeting. it was great to finally meet you, and thanks for the informative chat. i'm sure we'll be chatting soon again...15:04
=== superm1 is now known as superm1|away
davmor2cjwatson: I thought the landscape-client was being dropped from desktop installs?15:28
=== superm1|away is now known as superm1
kirklandcjwatson: fyi, i have tested the latest ISO, and mdadm/boot-degraded fix is verified \o/17:44
cjwatsonexcellent17:44
kirklandcjwatson: i just thought i'd note that, since I was unable to verify one small part of that, before publication of the updated package17:47
Goosemoosehey cjwatson. im picking up from last week. http://pastebin.com/d14f645a7 shows how the installer is failing when trying to join the domain using my script as part of late_command. the error is: Error: Unable to start daemon [code 0x00080018]. Is there some reason likewise wouldn't start? Should I try starting it manually even though it says it tried to start it?17:59
cjwatsonGoosemoose: I'm honestly not sure how much I can help with this. I don't know likewise at all17:59
cjwatsonGoosemoose: maybe putting 'mount /proc' at the start of your post_install_tasks script and 'umount /proc' at the end would help; it's possible /proc isn't mounted in the chroot at that point18:01
Goosemooseok18:03
Goosemooseill try that18:03
Goosemoosei cant find much on preseed and likewise on the forums at all18:03
GoosemooseI did get this as well: Sep 12 22:18:03 log-output: /target/etc/nsswitch.conf: No such file or directory18:03
Goosemooseas I was trying to remove the nsswitch.conf so I could wget a new copy. Does this just mean it hadn't been created by that point in the install process?18:04
cjwatsondid you put /target/etc/nsswitch.conf in your post_install_tasks script, rather than /etc/nsswitch.conf?18:04
Goosemooseyes18:04
cjwatsonyou shouldn't have done that18:04
cjwatsonput it back to /etc/nsswitch.conf18:04
Goosemooseoh, I thought you said everything was installed in the /target dir until reboot18:04
Goosemoosemy mistake18:04
cjwatsonand I also said that putting 'chroot /target' in front of the call to post_install_tasks was all you needed, and said several times that you shouldn't add references to /target to post_install_tasks18:04
Goosemooseahh , very true. sorry about that18:05
cjwatson'chroot /target /post_install_tasks' means, roughly, that everything in the post_install_tasks is implicitly done with reference to /target18:05
cjwatsonso you don't need to, and shouldn't, refer to /target in there18:05
Goosemooseyeah i forgot I had changed to do that18:05
cr3what's that kernel parameter I could pass during installation of the alternate to interrupt the installation at some point, perhaps around early command?19:16
cjwatsonI don't know of such a thing. You could make your early_command return an error :)19:17
cr3cjwatson: hm, I thought I recalled something of way to interrupt the installer but I guess there's not much use case for that... and there's an easy workaround as you pointed out :)19:21
cr3cjwatson: I wrote a nifty little program in C this weekend to check the log file for patterns which I will wrap in a shell script to test for specific phases of the installation19:23
cr3I'm quite anxious to try it out19:23
Goosemoosecjwatson, it looks like i got it to join the domain, who knows more about likewise though because it through a bunch of pam errors21:14
Goosemooseand wont let me login as a domain user21:14
cr3might someone have a good example of a project using autotools and packaged using cdbs both as a deb and a udeb?21:44
hardwirecr3: wireless-tools ?22:03
hardwiremaybe not22:04
cr3hardwire: heh, doesn't use autotools nor cdbs :)22:04
hardwireI'm not on my game today.22:04
hardwirecan't you query the source package lists via those fancy dpkg query tools?22:04
hardwireor grep22:05
hardwirecat /var/lib/apt/lists/*Sources | grep cdbs -B 10 | grep autotool -B 10 | grep Package22:06
hardwiremaybe I'm insane22:06
hardwireI'd like to think it's a possibility22:06
cr3for some reason, DEB_DH_INSTALL_SOURCEDIR only applies to the deb which calls dh_install with --sourcedir but that argument is not used for the udeb22:06
cr3ok, so cdbs seems to be borked when using DEB_DH_INSTALL_SOURCEDIR. using DEB_DH_INSTALL_ARGS := --sourcedir=$(DEB_DESTDIR) seems to work22:11
Goosemoosecjwatson: Sep 15 17:38:12 log-output: /post_install_tasks: 14: unmount: not found22:17
Goosemoosecjwatson: looks like unmount /proc isn't valid. i don't see an error for the mount which is strange22:17
evandGoosemoose: shouldn't that be umount?22:27
Goosemooseevand, that might explain it ;)22:27
Goosemoosethanks22:27
evandno problem22:28
Goosemoosetime to restart and try another network install22:29
xivulonwubi 8.10 seems ok now23:15
cjwatsonhardwire: grep-dctrl is your friend23:21
cjwatsonGoosemoose: likewise> don't know, you could try #ubuntu-server23:21
hardwirecjwatson: totally.. I totally forgot the command23:21
Goosemoosecjwatson, that's where im trying right now23:22

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