related to 6/7, mayflower loop device cleanup proposal
by Douglas McClendon
Jeremy,
Now that you're into the guts of genMinInstDelta (patch 6/7), maybe this
topic is very timely-
I've recently (like finished this morning) done a personal rewrite of
the functionality of mayflower. Setting asside why I did that, here is
a proposal/notation relating that 6/7 patch.
All those hard coded (117/118/119/120/121) loop devices used are very ugly.
Probably they should get replaced with dynamic choices via losetup -f,
as my recent livecd-creator patch did (though it was already using
dynamic via losetup -a prior, different issue).
I think I can put together a patch that does this. Will probably even
look pretty slick, as they info would get conveyed via udev rules
dynamically generated in mayflower-init (just like existing loop120 and
loop121 rules, but based on dynamic rather than hard-coded loop devices).
The other thing, is I seemed to notice that, at least for my test cases,
the mknod-s of the /dev/loop??? devices in the mayflower-initramfs seem
unnecessary, as udev seems to create them just fine. Anybody (david?
jeremy?) know of why they are perhaps needed?
I know you mentioned Jeremy, about merging mayflower into mkinitrd. In
fact, that is one reason why I did the rewrite, as I need for it to
remain runnable as non-root. You should probably get mkinitrd that way
too, but...? But my point is that it's still probably good to do these
cleanups to mayflower, as they will make the merge into mkinitrd that
much easier/better.
Just an idea... And I will post that rewrite soon enough, in case other
parts of it are useful idea fodder...
-dmc
16 years, 7 months
livecd-creator problems/questions
by Chris Hubick
Hi,
I am having some problems with livecd-creator...
I am running from a Fedora 7.91 Desktop Live CD, and attempting to use a
kickstart file to generate a custom LiveCD (DVD) onto my USB hard drive:
cd /media/CHWData/chwlive/
mkdir tmp
livecd-creator --config=/media/CHWData/chwlive/chwlive.ks --fslabel=CHWLive --tmpdir=/media/CHWData/chwlive/tmp
1) Note that if the path to the tmpdir is too long, /sbin/losetup -a will
truncate the path in it's output, and livecd-creator will fail (after
tweaking, mine above is *just* short enough).
2) I want a pure x86_64 system with no multilib. It took me some time to
figure out to include --exclude=*.i?86 on the repo line in my kickstart
file. Is that the best way to do this?
3) Is there any way to find out the final list of packages for a kickstart
file after dependency resolution against a given set of repositories?
I keep tweaking my kickstart file to get things to fit within the required
size, but somehow I mistakenly add a package with a million dependencies
I didn't know about, and livecd-creator then goes to download them all.
It would be nice if there were an option, or separate tool, to print a
list of packages for approval first, or at least a summary and size?
4) How do I build a LiveCD based on a specific (stableish) test release
(7.91)? Given two repos:
repo --exclude=*.i?86 --name=f8t2 --baseurl=http://fedora.mirror.iweb.ca/development/x86_64/os/
repo --exclude=*.i?86 --name=f8t2 --baseurl=http://fedora.mirror.iweb.ca/releases/test/7.91/Fedora/x86_64/os/
The first one will work, but the second will fail, because the release
folder doesn't contain all the same packages (ie, rdesktop) (why)?
5) /usr/share/livecd-tools/livecd-fedora-desktop.ks has a directive:
%include livecd-fedora-base-desktop.ks
Where is that include file located? With the Fedora 7 setup examples,
everything is in the one kickstart file, and easy to reference, but I have
no idea how to find that information now?
6) How do I customize what user is created, auto-login, etc? That used to
be in the bottom of the kickstart as well, but is gone now?
7) Is there any easy way to tell what is being downloaded and how fast?
As it stands now, I have to browse into the tmpdir with Nautilus and
watch.
8) I waited hours while it downloaded my packages, and then finally I came
back to see this error:
tune2fs 1.40.2 (12-Jul-2007)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
No Repositories Available to Set Up
No Repositories Available to Set Up
Excluding Packages from None
Finished
Installation target uncompressed data size is 136 MB
umount: /media/CHWData/chwlive/tmp/livecd-creator-DTaMtf/install_root:
device is busy
umount: /media/CHWData/chwlive/tmp/livecd-creator-DTaMtf/install_root:
device is busy
ioctl: LOOP_CLR_FD: Device or resource busy
Traceback (most recent call last):
File "/usr/bin/livecd-creator", line 1341, in <module>
sys.exit(main())
File "/usr/bin/livecd-creator", line 1315, in main
target.install()
File "/usr/bin/livecd-creator", line 849, in install
self.installPackages()
File "/usr/bin/livecd-creator", line 535, in installPackages
self.ayum.runInstall()
File "/usr/bin/livecd-creator", line 316, in runInstall
return self.runTransaction(cb)
File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 581, in
runTransaction
raise Errors.YumBaseError, errors
yum.Errors.YumBaseError: [('installing package
gnome-power-manager-2.19.92-1.fc8 needs 6MB on the
/media/CHWData/chwlive/tmp/livecd-creator-DTaMtf/install_root filesystem',
(9, '/media/CHWData/chwlive/tmp/livecd-creator-DTaMtf/install_root',
5480448L)), ('installing package gnome-utils-2.19.92-1.fc8 needs 19MB on
the /media/CHWData/chwlive/tmp/livecd-creator-DTaMtf/install_root
filesystem',....
[...on and on and on with every package until a command prompt]
9) It deleted everything it downloaded! Gah! How do I stop this?
So If I want to try again after the above crash, I have to wait hours? If
the final iso doesn't fit on my disc or SD card, I have to download
everything again for each attempt I want to make? Do you see how much of
a problem this is when combined with the fact there is no way to tell how
large it's going to be ahead of time? Can we make it so if you specify a
tmpdir, that it just reuses that directory directly, along with any
existing yum-cache, and doesn't delete it after?
Help much appreciated, thanks!!
---
Chris Hubick
mailto:chris@hubick.com
http://www.hubick.com/
16 years, 7 months
traceback after creation of initrd
by Sebastian Vahl
Since saturday I get the following error after the creation of the
initrd:
Building an initramfs at /boot/livecd-initramfs.img for kernel
2.6.23-0.184.rc6.git4.fc8 Done; initramfs is 4,5M.
Traceback (most recent call last):
File "/usr/bin/livecd-creator", line 1394, in <module>
sys.exit(main())
File "/usr/bin/livecd-creator", line 1387, in main
target.teardown()
File "/usr/bin/livecd-creator", line 507, in teardown
self.unmount()
File "/usr/bin/livecd-creator", line 489, in unmount
self.ayum.close()
File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 92, in
close self._repos.close()
File "/usr/lib/python2.5/site-packages/yum/repos.py", line 76, in
close repo.close()
File "/usr/lib/python2.5/site-packages/yum/yumRepo.py", line 257, in
close self.sack.close()
File "/usr/lib/python2.5/site-packages/yum/sqlitesack.py", line 233,
in close del self.pkgobjlist
AttributeError: pkgobjlist
livecd-tools from git and rawhide are up-to-date (an hour ago).
Sebastian
16 years, 7 months
[PATCH 5/7] anaconda: livecd.py: invoke resize2fs earlier
by Douglas McClendon
even if turboLiveInst/genMinInstDelta didn't depend on this, it is not a
bad idea to move resize2fs earlier in the anaconda livecd backend.
Though practically, this is entirely for the benefit of turboLiveInst.
16 years, 7 months
[PATCH 4/7] anaconda: livecd.py: use dumpe2fs for getLiveSizeMB
by Douglas McClendon
even if turboLiveInst/genMinInstDelta didn't depend on this, it is a
good idea anyway for anaconda's livecd backend to use dumpe2fs to
determine the size of data to copy during install, rather than looking
at the size of the block device holding the filesystem.
16 years, 7 months
[PATCH 1/7] livecd: documentation typos
by Douglas McClendon
This series of 7 patches is a pure split of the prior turboLiveInst v3
monolithic patch. (i.e. produces identical tree, therefore I have done
no further testing)
16 years, 7 months
Live CD vs virtual appliance
by Patrice Guay
This week, I attended the VMware conference in San Francisco (VMWorld
2007). I attended several conferences and a lab related to virtual
appliances (http://www.vmware.com/appliances/). These are virtual
machines containing the OS and whatever software you may want to bundle
on top of it.
Due to licensing issues, almost nobody uses Microsoft Windows as the
base for their virtual appliance. Microsoft ties its license to the
hardware. This means that a license for the Microsoft OS must be
purchased for every physical machine where the virtual appliance may be
used. The license can not be bundled with the virtual appliance.
VMware has developed tools to create Linux-based virtual appliances.
They use a stripped down version of Ubuntu as the base OS. From what I
saw, livecd-tools offers a simpler and more powerful approach to create
an OS + application bundle. The virtual appliance creation involves
several steps and configuration files. Using livecd-creator, only one
configuration file is involved and only one command line is required to
create the iso image.
The only advantage of virtual appliances is persistence. If this could
be solved for livecd-tools, I foresee an increased interest from those
planning to create virtual appliances for the livecd-tools project.
Regards,
--
Patrice Guay
16 years, 7 months