livecd-iso-to-disk and persistent issues
by Ronen B
Hi,
I would like to use the --overlay-size-mb parameter to make a one time
chance and than lock the image.
In other words, i want to boot the image that is placed on a SD card to
make some changes in the OS (on the first boot) and then lock it so no
other changes can be made in further boots.
Any idea based on the --overlay-size-mb parameter would be appreciate
(including boot parameters, kernel tweaks and so on...)
Thanks
Ronen
10 years, 10 months
Branch 'f16-branch' - imgcreate/kickstart.py
by Brian C. Lane
imgcreate/kickstart.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 03cd5ab554b97a4ee48fc5a57448c0d29ec2a5ed
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:50:45 2013 -0800
correctly check for selinux state (#896610)
The check for selinux_enabled was incorrect. selinux is enabled
when in enforcing or permissive mode.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index ad69a87..89d61cf 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -563,4 +563,5 @@ def get_post_scripts(ks):
return scripts
def selinux_enabled(ks):
- return ks.handler.selinux.selinux == ksconstants.SELINUX_ENFORCING
+ return ks.handler.selinux.selinux in (ksconstants.SELINUX_ENFORCING,
+ ksconstants.SELINUX_PERMISSIVE)
10 years, 10 months
Branch 'f17-branch' - imgcreate/kickstart.py
by Brian C. Lane
imgcreate/kickstart.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 2ab753ad5268df2e5f7033852ae922b55df0aa96
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:50:45 2013 -0800
correctly check for selinux state (#896610)
The check for selinux_enabled was incorrect. selinux is enabled
when in enforcing or permissive mode.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index cb9829c..5195e6a 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -570,4 +570,5 @@ def get_post_scripts(ks):
return scripts
def selinux_enabled(ks):
- return ks.handler.selinux.selinux == ksconstants.SELINUX_ENFORCING
+ return ks.handler.selinux.selinux in (ksconstants.SELINUX_ENFORCING,
+ ksconstants.SELINUX_PERMISSIVE)
10 years, 10 months
Branch 'f18-branch' - imgcreate/kickstart.py
by Brian C. Lane
imgcreate/kickstart.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit d593d9774d310771c84532dad2d6d0875ebf3ee6
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:50:45 2013 -0800
correctly check for selinux state (#896610)
The check for selinux_enabled was incorrect. selinux is enabled
when in enforcing or permissive mode.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index fe0c711..b12cd0c 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -590,4 +590,5 @@ def get_post_scripts(ks):
return scripts
def selinux_enabled(ks):
- return ks.handler.selinux.selinux == ksconstants.SELINUX_ENFORCING
+ return ks.handler.selinux.selinux in (ksconstants.SELINUX_ENFORCING,
+ ksconstants.SELINUX_PERMISSIVE)
10 years, 10 months
imgcreate/kickstart.py
by Brian C. Lane
imgcreate/kickstart.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 712cbd4720d9784463f60104a0ab713414cecf11
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:50:45 2013 -0800
correctly check for selinux state (#896610)
The check for selinux_enabled was incorrect. selinux is enabled
when in enforcing or permissive mode.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index fe0c711..b12cd0c 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -590,4 +590,5 @@ def get_post_scripts(ks):
return scripts
def selinux_enabled(ks):
- return ks.handler.selinux.selinux == ksconstants.SELINUX_ENFORCING
+ return ks.handler.selinux.selinux in (ksconstants.SELINUX_ENFORCING,
+ ksconstants.SELINUX_PERMISSIVE)
10 years, 10 months
Failed to find package 'lame' (build FC17 live)
by Davide Marchi
> Hi friends,
> when i try to build my spin with rpmfusion repository on FC17 x86_64:
>
> (repo --name=rpmfusion-free
> --mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-$releasever&arch=$basearch)
>
> livecd-creator doesn't find some packages, one of this lame, from
> rpmfusion-free repo.
> (other packages are gstreamer-plugins-ugly xmms-faad2 xmms-mp3..)
>
> locally i've search by yum the same packages and they are correctly
> found on rpmfusion repo. Why livecd-creator doesn't find it?
>
> many thanks
_SOLVED:_
probably a bug on livecd-creator;
it's enough adding the primitive rpmfusion repo line:
--mirrorlist=http://mirrors.rpmfusion.org/free/fedora/17/x86_64
instead of the "classical" rpmfusion repo line:
--mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-$releasever&arch=$basearch
thanks!
--
firma
cosmogoniA <http://www.cosmogonia.org/>
noprovarenofareononfarenonc'èprovare
10 years, 10 months
Failed to find package 'lame' (build FC17 live)
by Davide Marchi
Hi friends,
when i try to build my spin with rpmfusion repository on FC17 x86_64:
(repo --name=rpmfusion-free
--mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-$releasever&arch=$basearch)
livecd-creator doesn't find some packages, one of this lame, from
rpmfusion-free repo.
(other packages are gstreamer-plugins-ugly xmms-faad2 xmms-mp3..)
locally i've search by yum the same packages and they are correctly
found on rpmfusion repo. Why livecd-creator doesn't find it?
many thanks
--
firma
cosmogoniA <http://www.cosmogonia.org/>
noprovarenofareononfarenonc'èprovare
10 years, 10 months
24 commits - config/livecd-fedora-minimal.ks imgcreate/creator.py imgcreate/fs.py imgcreate/kickstart.py imgcreate/yuminst.py Makefile tools/livecd-creator
by Brian C. Lane
Makefile | 2
config/livecd-fedora-minimal.ks | 10 ---
imgcreate/creator.py | 15 +----
imgcreate/fs.py | 2
imgcreate/kickstart.py | 118 +++++++++++++++++++++++-----------------
imgcreate/yuminst.py | 1
tools/livecd-creator | 11 +++
7 files changed, 88 insertions(+), 71 deletions(-)
New commits:
commit bf6f92d47a8dab0487b29f7a87afd0f6b5437704
Merge: 36b6165 d13d6b3
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:05:05 2013 -0800
Merge branch 'f18-branch' into master-test
commit d13d6b3e7b44e95a9e9e3ec7168ead427383e994
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:01:12 2013 -0800
Simplify kickstart example (#903378)
This example isn't meant to be a complete running system, see the
spin-kickstarts packages for that.
diff --git a/config/livecd-fedora-minimal.ks b/config/livecd-fedora-minimal.ks
index 147f4ea..91abe9e 100644
--- a/config/livecd-fedora-minimal.ks
+++ b/config/livecd-fedora-minimal.ks
@@ -10,14 +10,6 @@ repo --name=development --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist
%packages
-@core
-anaconda-runtime
-bash
-kernel
-passwd
-policycoreutils
-chkconfig
-authconfig
-rootfiles
+@standard
%end
commit 7d0753cecdaa9ca3e55325eac3a2b825944377ca
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 16 12:18:34 2013 -0800
default to symlink for /etc/localtime (#885246)
If it doesn't exist use a symlink.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 809b694..fe0c711 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -150,17 +150,20 @@ class TimezoneConfig(KickstartConfig):
utc = str(kstimezone.isUtc)
# /etc/localtime is a symlink with glibc > 2.15-41
- if os.path.islink(self.path("/etc/localtime")):
- os.unlink(self.path("/etc/localtime"))
- os.symlink("/usr/share/zoneinfo/%s" %(tz,),
- self.path("/etc/localtime"))
- else:
+ # but if it exists as a file keep it as a file and fall back
+ # to a symlink.
+ localtime = self.path("/etc/localtime")
+ if os.path.isfile(localtime) and \
+ not os.path.islink(localtime):
try:
shutil.copy2(self.path("/usr/share/zoneinfo/%s" %(tz,)),
- self.path("/etc/localtime"))
+ localtime)
except (OSError, shutil.Error) as e:
logging.error("Error copying timezone: %s" %(e.strerror,))
-
+ else:
+ if os.path.exists(localtime):
+ os.unlink(localtime)
+ os.symlink("/usr/share/zoneinfo/%s" %(tz,), localtime)
class AuthConfig(KickstartConfig):
"""A class to apply a kickstart authconfig configuration to a system."""
commit ba5710bf1cba4c60ae938eefff1f3d84aef05713
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Fri Dec 14 16:33:01 2012 -0800
Version 18.14
diff --git a/Makefile b/Makefile
index 394a8fc..ab3768b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.13
+VERSION = 18.14
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
commit 7adb3b214f5a01e6c7ad8233eda09a90b1304227
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Fri Dec 14 12:01:00 2012 -0800
add --verifyudev to dmsetup (#885385)
diff --git a/imgcreate/fs.py b/imgcreate/fs.py
index d4558d3..bd327c1 100644
--- a/imgcreate/fs.py
+++ b/imgcreate/fs.py
@@ -559,7 +559,7 @@ class DeviceMapperSnapshot(object):
self.imgloop.device,
self.cowloop.device)
- args = ["/sbin/dmsetup", "create", self.__name,
+ args = ["/sbin/dmsetup", "create", self.__name, "-vv", "--verifyudev",
"--uuid", "LIVECD-%s" % self.__name, "--table", table]
if call(args) != 0:
self.cowloop.cleanup()
commit 4d61763eaad82409b400b9b8aac2b9e896e82ca4
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 15:07:17 2012 -0800
Version 18.13
diff --git a/Makefile b/Makefile
index bb1f5c6..394a8fc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.12
+VERSION = 18.13
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
commit 93cfdfd84be5170532ca2cc103b1ea76c86aba62
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 15:03:08 2012 -0800
silence the selinux umount error
diff --git a/imgcreate/creator.py b/imgcreate/creator.py
index 0e5ed6b..64cd188 100644
--- a/imgcreate/creator.py
+++ b/imgcreate/creator.py
@@ -474,8 +474,10 @@ class ImageCreator(object):
return
# if the system was running selinux clean up our lies
- arglist = ["/bin/umount", self._instroot + self.__selinux_mountpoint + "/load"]
- subprocess.call(arglist, close_fds = True)
+ path = self._instroot + self.__selinux_mountpoint + "/load"
+ if os.path.exists(path):
+ arglist = ["/bin/umount", path]
+ subprocess.call(arglist, close_fds = True)
def mount(self, base_on = None, cachedir = None):
"""Setup the target filesystem in preparation for an install.
commit 6c8585f724ee1fa624ff3fd1e51791303a400934
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 13:33:50 2012 -0800
use systemd instead of inittab for startx
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index e3d4697..809b694 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -236,19 +236,23 @@ class ServicesConfig(KickstartConfig):
class XConfig(KickstartConfig):
"""A class to apply a kickstart X configuration to a system."""
+ RUNLEVELS = {3: 'multi-user.target', 5: 'graphical.target'}
+
def apply(self, ksxconfig):
- if ksxconfig.startX:
- f = open(self.path("/etc/inittab"), "rw+")
- buf = f.read()
- buf = buf.replace("id:3:initdefault", "id:5:initdefault")
- f.seek(0)
- f.write(buf)
- f.close()
if ksxconfig.defaultdesktop:
f = open(self.path("/etc/sysconfig/desktop"), "w")
f.write("DESKTOP="+ksxconfig.defaultdesktop+"\n")
f.close()
+ if ksxconfig.startX:
+ if not os.path.isdir(self.path('/etc/systemd/system')):
+ logging.warning("there is no /etc/systemd/system directory, cannot update default.target!")
+ return
+ default_target = self.path('/etc/systemd/system/default.target')
+ if os.path.islink(default_target):
+ os.unlink(default_target)
+ os.symlink(self.path('/lib/systemd/system/graphical.target'), default_target)
+
class RPMMacroConfig(KickstartConfig):
"""A class to apply the specified rpm macros to the filesystem"""
def apply(self, ks):
commit efc4fa2e962ac20c0a19ae5aa09e8e8c4ef1f791
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 12:34:58 2012 -0800
set selinux permissive mode when building
diff --git a/tools/livecd-creator b/tools/livecd-creator
index 44d07a1..a39e43f 100755
--- a/tools/livecd-creator
+++ b/tools/livecd-creator
@@ -23,6 +23,7 @@ import sys
import time
import optparse
import logging
+import selinux
import imgcreate
from imgcreate.fs import makedirs
@@ -143,6 +144,12 @@ def main():
print >> sys.stderr, "You must run %s as root" % sys.argv[0]
return 1
+ # Set selinux to Permissive if it is enforcing
+ selinux_enforcing = False
+ if selinux.is_selinux_enabled() and selinux.security_getenforce():
+ selinux_enforcing = True
+ selinux.security_setenforce(0)
+
if options.fslabel:
fslabel = options.fslabel
name = fslabel
@@ -196,6 +203,8 @@ def main():
else:
# Cannot happen, we validate this when parsing options.
logging.error(u"'%s' is not a valid image type" % options.image_type)
+ if selinux_enforcing:
+ selinux.security_setenforce(1)
return 1
creator.compress_type = options.compress_type
@@ -219,6 +228,8 @@ def main():
return 1
finally:
creator.cleanup()
+ if selinux_enforcing:
+ selinux.security_setenforce(1)
return 0
commit 925d47614b1b49360dfc1be0af0c7ed5330d9d12
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 10:53:28 2012 -0800
fix kickstart logging entry
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 7ee4102..e3d4697 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -159,7 +159,7 @@ class TimezoneConfig(KickstartConfig):
shutil.copy2(self.path("/usr/share/zoneinfo/%s" %(tz,)),
self.path("/etc/localtime"))
except (OSError, shutil.Error) as e:
- log.error("Error copying timezone: %s" %(e.strerror,))
+ logging.error("Error copying timezone: %s" %(e.strerror,))
class AuthConfig(KickstartConfig):
commit 2f58f519a2693d4eecac9adb968061c503c18ab1
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Dec 4 10:52:19 2012 -0800
write hostname to /etc/hostname (#870805)
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 7adb37a..7ee4102 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -328,11 +328,6 @@ class NetworkConfig(KickstartConfig):
else:
f.write("NETWORKING_IPV6=no\n")
- if hostname:
- f.write("HOSTNAME=%s\n" % hostname)
- else:
- f.write("HOSTNAME=localhost.localdomain\n")
-
if gateway:
f.write("GATEWAY=%s\n" % gateway)
@@ -354,6 +349,16 @@ class NetworkConfig(KickstartConfig):
f.write("::1\t\tlocalhost6.localdomain6 localhost6\n")
f.close()
+ def write_hostname(self, hostname):
+ if not hostname:
+ return
+
+ path = self.path("/etc/hostname")
+ f = file(path, "w+")
+ os.chmod(path, 0644)
+ f.write("%s\n" % (hostname,))
+ f.close()
+
def write_resolv(self, nodns, nameservers):
if nodns or not nameservers:
return
@@ -407,6 +412,7 @@ class NetworkConfig(KickstartConfig):
self.write_sysconfig(useipv6, hostname, gateway)
self.write_hosts(hostname)
+ self.write_hostname(hostname)
self.write_resolv(nodns, nameservers)
class SelinuxConfig(KickstartConfig):
commit 84b14777b7d9025a802e03008fcec670d4164f1f
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Oct 9 13:19:05 2012 -0700
add nocontexts for selinux (#858373)
We relabel everything after the install, so tell rpm not to use
selinux.
diff --git a/imgcreate/yuminst.py b/imgcreate/yuminst.py
index 97e5ecf..f753e8f 100644
--- a/imgcreate/yuminst.py
+++ b/imgcreate/yuminst.py
@@ -79,6 +79,7 @@ class LiveCDYum(yum.YumBase):
conf += "reposdir=\n"
conf += "failovermethod=priority\n"
conf += "keepcache=1\n"
+ conf += "tsflags=nocontexts\n"
f = file(confpath, "w+")
f.write(conf)
commit d72c04d6c3228de5e83eef94d8fca68398f0dab5
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Oct 30 16:39:46 2012 -0700
remove lokkit usage
Write to /etc/selinux/config instead of using lokkit.
Setup firewall with firewalld's firewall-offline-cmd
diff --git a/imgcreate/creator.py b/imgcreate/creator.py
index 891d6ef..0e5ed6b 100644
--- a/imgcreate/creator.py
+++ b/imgcreate/creator.py
@@ -607,13 +607,6 @@ class ImageCreator(object):
self._get_excluded_packages()):
ayum.deselectPackage(pkg)
- # if the system is running selinux and the kickstart wants it disabled
- # we need /usr/sbin/lokkit
- def __can_handle_selinux(self, ayum):
- file = "/usr/sbin/lokkit"
- if not kickstart.selinux_enabled(self.ks) and selinux.is_selinux_enabled() and not ayum.installHasFile(file):
- raise CreatorError("Unable to disable SELinux because the installed package set did not include the file %s" % (file))
-
def install(self, repo_urls = {}):
"""Install packages into the install root.
@@ -657,8 +650,6 @@ class ImageCreator(object):
self.__select_groups(ayum)
self.__deselect_packages(ayum)
- self.__can_handle_selinux(ayum)
-
ayum.runInstall()
except yum.Errors.RepoError, e:
raise CreatorError("Unable to download from repo : %s" % (e,))
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 1d8f5cf..7adb37a 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -175,23 +175,25 @@ class AuthConfig(KickstartConfig):
class FirewallConfig(KickstartConfig):
"""A class to apply a kickstart firewall configuration to a system."""
def apply(self, ksfirewall):
- if not os.path.exists(self.path("/usr/sbin/lokkit")):
- return
- args = ["/usr/sbin/lokkit", "-f", "--quiet", "--nostart"]
- if ksfirewall.enabled:
- args.append("--enabled")
-
- for port in ksfirewall.ports:
- args.append("--port=%s" %(port,))
- for svc in ksfirewall.services:
- args.append("--service=%s" %(svc,))
- for dev in ksfirewall.trusts:
- args.append("--trust=%s" %(dev,))
+ args = ["/usr/bin/firewall-offline-cmd"]
+ # enabled is None if neither --enable or --disable is passed
+ # default to enabled if nothing has been set.
+ if ksfirewall.enabled == False:
+ args += ["--disabled"]
else:
- args.append("--disabled")
+ args += ["--enabled"]
+
+ for dev in ksfirewall.trusts:
+ args += [ "--trust=%s" % (dev,) ]
+
+ for port in ksfirewall.ports:
+ args += [ "--port=%s" % (port,) ]
+
+ for service in ksfirewall.services:
+ args += [ "--service=%s" % (service,) ]
self.call(args)
-
+
class RootPasswordConfig(KickstartConfig):
"""A class to apply a kickstart root password configuration to a system."""
def unset(self):
@@ -426,17 +428,27 @@ class SelinuxConfig(KickstartConfig):
self.call(["/sbin/setfiles", "-p", "-e", "/proc", "-e", "/sys", "-e", "/dev", selinux.selinux_file_context_path(), "/"])
def apply(self, ksselinux):
- if os.path.exists(self.path("/usr/sbin/lokkit")):
- args = ["/usr/sbin/lokkit", "--quiet", "--nostart"]
+ selinux_config = "/etc/selinux/config"
+ if not os.path.exists(self.instroot+selinux_config):
+ return
- if ksselinux.selinux == ksconstants.SELINUX_ENFORCING:
- args.append("--selinux=enforcing")
- if ksselinux.selinux == ksconstants.SELINUX_PERMISSIVE:
- args.append("--selinux=permissive")
- if ksselinux.selinux == ksconstants.SELINUX_DISABLED:
- args.append("--selinux=disabled")
+ if ksselinux.selinux == ksconstants.SELINUX_ENFORCING:
+ cmd = "SELINUX=enforcing\n"
+ elif ksselinux.selinux == ksconstants.SELINUX_PERMISSIVE:
+ cmd = "SELINUX=permissive\n"
+ elif ksselinux.selinux == ksconstants.SELINUX_DISABLED:
+ cmd = "SELINUX=disabled\n"
+ else:
+ return
- self.call(args)
+ # Replace the SELINUX line in the config
+ lines = open(self.instroot+selinux_config).readlines()
+ with open(self.instroot+selinux_config, "w") as f:
+ for line in lines:
+ if line.startswith("SELINUX="):
+ f.write(cmd)
+ else:
+ f.write(line)
self.relabel(ksselinux)
commit 9260623205f51ab5d27a39734b55a20c80025b57
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Mon Oct 29 17:32:01 2012 -0700
use locale.conf not sysconfig/i18n (#870805)
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index c82dde3..1d8f5cf 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -131,7 +131,7 @@ class LanguageConfig(KickstartConfig):
def apply(self, kslang):
lang = kslang.lang or "en_US.UTF-8"
- f = open(self.path("/etc/sysconfig/i18n"), "w+")
+ f = open(self.path("/etc/locale.conf"), "w+")
f.write("LANG=\"" + lang + "\"\n")
f.close()
commit fa6a0a2ab7f7bc2c5a16622ac33ae446bf2b3d52
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Mon Oct 29 17:26:40 2012 -0700
don't write clock (#870805)
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index b66367c..c82dde3 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -149,11 +149,6 @@ class TimezoneConfig(KickstartConfig):
tz = kstimezone.timezone or "America/New_York"
utc = str(kstimezone.isUtc)
- f = open(self.path("/etc/sysconfig/clock"), "w+")
- f.write("ZONE=\"" + tz + "\"\n")
- f.write("UTC=" + utc + "\n")
- f.close()
-
# /etc/localtime is a symlink with glibc > 2.15-41
if os.path.islink(self.path("/etc/localtime")):
os.unlink(self.path("/etc/localtime"))
commit 31bc3dff2ad2644e4cb24030b02fdf8e03841efc
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Oct 18 14:10:55 2012 -0700
add remainder of virtio modules to initrd (#864012)
diff --git a/imgcreate/live.py b/imgcreate/live.py
index 189b869..47b9dcd 100755
--- a/imgcreate/live.py
+++ b/imgcreate/live.py
@@ -82,7 +82,8 @@ class LiveImageCreatorBase(LoopImageCreator):
self.__modules = ["=ata", "sym53c8xx", "aic7xxx", "=usb", "=firewire",
"=mmc", "=pcmcia", "mptsas", "udf", "virtio_blk",
- "virtio_pci"]
+ "virtio_pci", "virtio_scsi", "virtio_net", "virtio_mmio",
+ "virtio_balloon", "virtio-rng"]
self.__modules.extend(kickstart.get_modules(self.ks))
self._isofstype = "iso9660"
commit 2c50a2f1d852688d8c769d4880143d48b024e33b
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Oct 2 11:25:20 2012 -0700
Version 18.12
diff --git a/Makefile b/Makefile
index 04acde9..bb1f5c6 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.11
+VERSION = 18.12
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
commit 77e8d47a39370de9c8149a51b687c65d283687ba
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Tue Oct 2 10:29:19 2012 -0700
Remove grub 0.97 splash
diff --git a/imgcreate/live.py b/imgcreate/live.py
index c5f757c..189b869 100755
--- a/imgcreate/live.py
+++ b/imgcreate/live.py
@@ -717,14 +717,12 @@ menu end
shim.efi
gcdx64.efi
fonts/unicode.pf2
- grub/splash.xpm.gz
"""
fail = False
missing = []
files = [("/boot/efi/EFI/*/shim.efi", "/EFI/BOOT/BOOT%s.efi" % (self.efiarch,)),
("/boot/efi/EFI/*/gcdx64.efi", "/EFI/BOOT/grubx64.efi"),
("/boot/efi/EFI/*/fonts/unicode.pf2", "/EFI/BOOT/fonts/"),
- ("/boot/grub/splash.xpm.gz", "/EFI/BOOT"),
]
makedirs(isodir+"/EFI/BOOT/fonts/")
for src, dest in files:
commit 864071c175b0f36af71d17414be34f8c16e0b608
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 13 14:02:26 2012 -0700
Version 18.11
diff --git a/Makefile b/Makefile
index c3f33a3..04acde9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.10
+VERSION = 18.11
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
commit 5de9176a1bf9ae7e21c0f7e6293e3b3293d98fff
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 13 07:32:22 2012 -0700
not copying UEFI files shouldn't be fatal (#856893)
This reverts the change that made copying EFI files fatal and instead
logs a warning that UEFI won't be supported on the image.
(cherry picked from commit 80b3559390d84cb43b68d280b6dbf617b684f64a)
diff --git a/imgcreate/live.py b/imgcreate/live.py
index 528d885..c5f757c 100755
--- a/imgcreate/live.py
+++ b/imgcreate/live.py
@@ -804,7 +804,8 @@ search --no-floppy --set=root -l '%(isolabel)s'
"""Set up the configuration for an EFI bootloader"""
if self.__copy_efi_files(isodir):
shutil.rmtree(isodir + "/EFI")
- raise CreatorError("Failed to copy EFI files")
+ logging.warn("Failed to copy EFI files, no EFI Support will be included.")
+ return
cfg = self.__get_basic_efi_config(isolabel = self.fslabel,
timeout = self._timeout)
commit 7f920f2bd695bc30729c1b9fc9ac0c60a5a49281
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 13 07:25:17 2012 -0700
don't require shim and grub2-efi (#856893)
32 bit builds don't support UEFI so let comps or the kickstart handle
including shim and grub2-efi instead of making them hard-coded.
(cherry picked from commit 61e85caa54f32bd695f70e29068ae26b99451471)
diff --git a/imgcreate/live.py b/imgcreate/live.py
index 73e3466..528d885 100755
--- a/imgcreate/live.py
+++ b/imgcreate/live.py
@@ -400,7 +400,7 @@ class x86LiveImageCreator(LiveImageCreatorBase):
return options
def _get_required_packages(self):
- return ["syslinux", "grub2-efi", "shim"] \
+ return ["syslinux"] \
+ LiveImageCreatorBase._get_required_packages(self)
def _get_isolinux_stanzas(self, isodir):
commit e5635e13282d3a930df158869cfbdd3e2095c098
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 6 16:38:20 2012 -0700
Version 18.10
diff --git a/Makefile b/Makefile
index c319f77..c3f33a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.9
+VERSION = 18.10
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
commit acd44429ed4911721e6029e6fd646c1ef395fb91
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 6 15:27:31 2012 -0700
use cp -r instead of -a
diff --git a/tools/livecd-iso-to-disk.sh b/tools/livecd-iso-to-disk.sh
index c681e37..1a87869 100755
--- a/tools/livecd-iso-to-disk.sh
+++ b/tools/livecd-iso-to-disk.sh
@@ -1089,7 +1089,7 @@ BOOTCONFIG=$TGTMNT/$SYSLINUXPATH/isolinux.cfg
BOOTCONFIG_EFI=
if [ -n "$efi" ]; then
echo "Setting up $EFI_BOOT"
- cp -a $SRCMNT$EFI_BOOT/* $TGTMNT$EFI_BOOT
+ cp -r $SRCMNT$EFI_BOOT/* $TGTMNT$EFI_BOOT
# The GRUB EFI config file can be one of:
# boot?*.conf
commit bfaa85aa63e580540ac1bc84b25ea3e826f9776c
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Thu Sep 6 12:24:57 2012 -0700
Version 18.9
diff --git a/Makefile b/Makefile
index 16b370b..c319f77 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
-VERSION = 18.8
+VERSION = 18.9
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
10 years, 10 months
Branch 'f18-branch' - config/livecd-fedora-minimal.ks
by Brian C. Lane
config/livecd-fedora-minimal.ks | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
New commits:
commit d13d6b3e7b44e95a9e9e3ec7168ead427383e994
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 23 15:01:12 2013 -0800
Simplify kickstart example (#903378)
This example isn't meant to be a complete running system, see the
spin-kickstarts packages for that.
diff --git a/config/livecd-fedora-minimal.ks b/config/livecd-fedora-minimal.ks
index 147f4ea..91abe9e 100644
--- a/config/livecd-fedora-minimal.ks
+++ b/config/livecd-fedora-minimal.ks
@@ -10,14 +10,6 @@ repo --name=development --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist
%packages
-@core
-anaconda-runtime
-bash
-kernel
-passwd
-policycoreutils
-chkconfig
-authconfig
-rootfiles
+@standard
%end
10 years, 10 months
Branch 'f18-branch' - imgcreate/kickstart.py
by Brian C. Lane
imgcreate/kickstart.py | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
New commits:
commit 7d0753cecdaa9ca3e55325eac3a2b825944377ca
Author: Brian C. Lane <bcl(a)redhat.com>
Date: Wed Jan 16 12:18:34 2013 -0800
default to symlink for /etc/localtime (#885246)
If it doesn't exist use a symlink.
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 809b694..fe0c711 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -150,17 +150,20 @@ class TimezoneConfig(KickstartConfig):
utc = str(kstimezone.isUtc)
# /etc/localtime is a symlink with glibc > 2.15-41
- if os.path.islink(self.path("/etc/localtime")):
- os.unlink(self.path("/etc/localtime"))
- os.symlink("/usr/share/zoneinfo/%s" %(tz,),
- self.path("/etc/localtime"))
- else:
+ # but if it exists as a file keep it as a file and fall back
+ # to a symlink.
+ localtime = self.path("/etc/localtime")
+ if os.path.isfile(localtime) and \
+ not os.path.islink(localtime):
try:
shutil.copy2(self.path("/usr/share/zoneinfo/%s" %(tz,)),
- self.path("/etc/localtime"))
+ localtime)
except (OSError, shutil.Error) as e:
logging.error("Error copying timezone: %s" %(e.strerror,))
-
+ else:
+ if os.path.exists(localtime):
+ os.unlink(localtime)
+ os.symlink("/usr/share/zoneinfo/%s" %(tz,), localtime)
class AuthConfig(KickstartConfig):
"""A class to apply a kickstart authconfig configuration to a system."""
10 years, 10 months