On 11/24/2014 04:14 PM, Gene Czarcinski wrote:
> I know we are into this product-zed stuff with lots of emphasis on
> Live installs including Live Workstation but when was the last time
> pungi has been successfully run? Yes, I know that TC3 was built by
> something but was pungi involved? I have been assuming it was but I
> am unable to run it myself.
>
> To keep things simple, I am using
> /usr/share/spin-kickstarts/fedora-install-server.ks and am only doing
> "-G -C -B" since I really only want the netinstall. Also, this was
> done on a fresh install for Workstation TC3 plus mock installed. I
> run pungi under mock just like it says here:
>
http://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_testing
>
> The first problem is that the mirrorlist stuff simply does not work
> and pungi cannot file a good url for fedora. OK, replace the
> mirrorlist with baseurl pointing at one of the mirrors (I chose
>
http://mirrors.kernel.org and
>
http://dl.fedoraproject.org/pub/linux/fedora/).
>
> That gets me further but but it still crashes with:
>> doing post-install configuration
>> running runtime-postinstall.tmpl
>> warning: Schema 'org.gnome.crypto.cache' has path
>> '/desktop/gnome/crypto/cache/'. Paths starting with '/apps/',
>> '/desktop/' or '/system/' are deprecated.
>> warning: Schema 'org.gnome.crypto.pgp' has path
>> '/desktop/gnome/crypto/pgp/'. Paths starting with '/apps/',
>> '/desktop/' or '/system/' are deprecated.
>> warning: Schema 'org.gnome.system.locale' has path
>> '/system/locale/'. Paths starting with '/apps/',
'/desktop/' or
>> '/system/' are deprecated.
>> warning: Schema 'org.gnome.system.proxy' has path
'/system/proxy/'.
>> Paths starting with '/apps/', '/desktop/' or '/system/'
are deprecated.
>> warning: Schema 'org.gnome.system.proxy.http' has path
>> '/system/proxy/http/'. Paths starting with '/apps/',
'/desktop/' or
>> '/system/' are deprecated.
>> warning: Schema 'org.gnome.system.proxy.https' has path
>> '/system/proxy/https/'. Paths starting with '/apps/',
'/desktop/'
>> or '/system/' are deprecated.
>> warning: Schema 'org.gnome.system.proxy.ftp' has path
>> '/system/proxy/ftp/'. Paths starting with '/apps/',
'/desktop/' or
>> '/system/' are deprecated.
>> warning: Schema 'org.gnome.system.proxy.socks' has path
>> '/system/proxy/socks/'. Paths starting with '/apps/',
'/desktop/'
>> or '/system/' are deprecated.
>> No such key 'button-laytout' in schema
>> 'org.gnome.desktop.wm.preferences' as specified in override file
>>
'/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override';
>> ignoring override for this key.
>> writing .discinfo file
>> backing up installroot
>> generating kernel module metadata
>> doing depmod and module-info for 3.17.3-300.fc21.x86_64
>> cleaning unneeded files
>> running runtime-cleanup.tmpl
>> creating the runtime image
>> losetup: cannot find an unused loop device
>> Traceback (most recent call last):
>> File "/usr/bin/pungi", line 300, in <module>
>> main()
>> File "/usr/bin/pungi", line 171, in main
>> mypungi.doBuildinstall()
>> File "/usr/lib/python2.7/site-packages/pypungi/__init__.py", line
>> 1414, in doBuildinstall
>> workdir=workdir, outputdir=outputdir, volid=volid)
>> File "/usr/lib/python2.7/site-packages/pylorax/__init__.py", line
>> 304, in run
>> size=size)
>> File "/usr/lib/python2.7/site-packages/pylorax/treebuilder.py",
>> line 165, in create_runtime
>> label="Anaconda", size=fssize)
>> File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line
>> 383, in mkext4img
>> mkfsargs=["-L", label, "-b", "1024",
"-m", "0"], graft=graft)
>> File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line
>> 358, in mkfsimage
>> with LoopDev(outfile, size) as loopdev:
>> File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line
>> 258, in __enter__
>> self.loopdev = loop_attach(self.filename)
>> File "/usr/lib/python2.7/site-packages/pylorax/imgutils.py", line
>> 116, in loop_attach
>> dev = runcmd_output(["losetup", "--find",
"--show", outfile])
>> File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line
>> 417, in runcmd_output
>> return execWithCapture(cmd[0], cmd[1:], **kwargs)
>> File "/usr/lib/python2.7/site-packages/pylorax/executils.py", line
>> 263, in execWithCapture
>> raise subprocess.CalledProcessError(proc.returncode,
>> [command]+argv)
>> subprocess.CalledProcessError: Command '['losetup', '--find',
>> '--show',
>>
'//work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img']'
>> returned non-zero exit status 1
>> <mock-chroot>[root@vulture /]# ls -l
>> /work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img
>> -h
>> -rw-r--r--. 1 root root 2.0G Nov 24 15:36
>> /work/Fedora/x86_64/installroot/images/runtime-workdir/LiveOS/rootfs.img
>>
>> <mock-chroot>[root@vulture /]#
>
>
> I have not bz'ed this yet because it looks like there are similar
> reports but I will just in case this provides some different info.
>
> Is there some documentation which describes how the builds are done.
> There is lots of documentation on building RPMs and creating livecds
> but I have not found anything which describes how
> Fedora-Server-netinst-x86_64-21_TC3.iso was created.
>
> Fortunately, livecd-creator must use very different software because
> I have not seen it have any problems.
I am branching this tread here because the traceback above does show
what the problem is (but not necessarily how to fix it).
I have had some success!! First of all, not wanting to piss all over
my real systems, I created three virtual "workstation" systems (Fedora
19, Fedora 20, and Fedora 21) each with a generous (30GB) disk and a
large (27GB) ext4 partition for "/".
I then ran my test of running pungi under mock on each system and,
sure enough, on each system it failed in the same way (see the
traceback above).
From experience, I know that running under mock does not always do
thing the same way as just running them. Referring to this:
http://marcofalchi.blogspot.com/2013/07/create-updated-netinstall-iso-fed...
I created a small kickstart file and a shell script to run things (see
attached for the f20 versions).
Like the sample cited above, I "sudo setenforce 0" and the "sudo su"
to execute "./root/f20-pungi.sh"
It worked! I got a netinstall.iso. I then dit it over =gain but this
time under mock ... surprise, it failed.
Looking over the traceback, it appears that pungi/lorax is having a
problem with loop mounts under mock but not when just run. Since this
problem is so reproducable, I assume it was found some time ago and
the mock configuration files for doing a compose were tweaked so the
problem did not occur.
1. Are the kickstart files used to create the composes this which are
distributed in fedora-kickstarts or are they special/tweaked versions?
2. I looked through all of the fedorahosted repositories and could
not find one with the special fedora-branched-compose-$arch mock
configuration files. I have modified my mock configuration files as
described here:
https://fedoraproject.org/wiki/How_to_create_a_Fedora_install_ISO_for_tes...
That is, I added:
> config_opts['plugin_conf']['bind_mount_enable'] = True
>
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
>
>
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
>
>
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))
>
Oh well, it turns out that the "simple, little kickstart file" that
worked fine in F19 and F20 does not work in F21 due to the
product-ization. There is going to be some work needed if netinstall
is going to be its own compose.
I will update this and also create the bugzilla report as soon as I
have a test case for Fedora 21.
but there was some stupidity on my part which resulted in pilot error!
I usually run pungi (when I did run it) with a special mock
configuration file to add my local repo. Well, that has the addtional
updates needed to run pungi but the rest of the mock configuration files
did not. When I wanted to create a pristine netinstall ISO and used
/etc/mock/fedora-21-x86_64.cfg it did not have the update and thus pungi
failed.
Gene