Jeremy Katz wrote: > On Tue, 2007-07-17 at 20:07 -0500, Jerry Vonau wrote: >> Jeremy Katz wrote: >>> On Fri, 2007-07-13 at 12:46 -0500, Jerry Vonau wrote: >>>> I've been playing around with both anaconda and the live-cd, and I had >>>> an idea to kind of merge the two. I took advantage up the RHupdates >>>> override on a nfs install, to have anaconda use a squashfs.img that is >>>> on the nfs server in /LiveOS/,(this could use a bit of work...) creating >>>> the same device name as the the live-cd install is looking for. Once >>>> that is done, anaconda uses a patched livecd.py to install to the >>>> harddrive. This is more of a proof of concept them prime code.. ;) >>>> First I altered fedora.py in installclass, flags.py, bootloader.py, >>>> livecd.py, and added a new one called livefs.py, adding them in >>>> /RHupdates/ to incorporate my changes with out really having to play >>>> with the loader. >>> I wouldn't expect that you would have to go this far... you should >>> really be able to just mount your NFS dir, loopback mount the >>> squashfs.img and losetup the os.img block device and then you just need >>> to run anaconda with the right args as liveinst does. >> I tried that, by placing an anaconda file in RHupdates with with the >> same string that liveinst uses: >> /usr/sbin/anaconda --method=livecd://dev/live-osimg >> That worked but after the coping image part there was a warning (from >> bootloader.py) that there was no kernel packages were installed, and the >> bootloader will not be changed. Then I was off to add the flag and edit >> bootloader.py. That fixed the warning, but no joy, no grub.conf > > Do you have a kernel package installed in your image? Specifically a > package named kernel. Otherwise, the check in livecd.py's > kernelVersionList() won't work -- patches cheerfully accepted to make it > handle at least looking for anything that provides kernel :-) Yes, there is a kernel installed, a stock f7, off-the-net live image was used. Think I found the issue, in kernelVersionList ts = rpm.TransactionSet() is looking at the running system and not at the newly installed image. Changing that line to ts = rpm.TransactionSet("/mnt/sysimage") results in a db version mismatch error when run from the "normal" installer but not when run from the livecd, but if I do a "rm -f /mnt/sysimage/var/lib/rpm/__db.*" before calling kernelVersionList, in the installer, I get a new initrd, grub.conf, it all works. :-) I'm just not sure why there is the db version mis-match between the livecd and the "normal" installer. I'll leave that for another time to figure out. Jerry