Initrd image updates
This commit is contained in:
parent
e22457b09a
commit
d6998bd841
3
share/config_files/.profile
Normal file
3
share/config_files/.profile
Normal file
@ -0,0 +1,3 @@
|
||||
PS1="[anaconda \u@\h \W]\\\\$ "
|
||||
PATH=/bin:/usr/bin:/usr/sbin:/mnt/sysimage/sbin:/mnt/sysimage/usr/sbin:/mnt/sysimage/bin:/mnt/sysimage/usr/bin
|
||||
export PATH PS1
|
10
share/config_files/libuser.conf
Normal file
10
share/config_files/libuser.conf
Normal file
@ -0,0 +1,10 @@
|
||||
[defaults]
|
||||
skeleton = /mnt/sysimage/etc/skel
|
||||
mailspooldir = /mnt/sysimage/var/mail
|
||||
crypt_style = md5
|
||||
modules = files shadow
|
||||
create_modules = files shadow
|
||||
[files]
|
||||
directory = /mnt/sysimage/etc
|
||||
[shadow]
|
||||
directory = /mnt/sysimage/etc
|
2
share/config_files/selinux.config
Normal file
2
share/config_files/selinux.config
Normal file
@ -0,0 +1,2 @@
|
||||
SELINUX=permissive
|
||||
SELINUXTYPE=targeted
|
@ -8,7 +8,7 @@ install "NetworkManager-gnome"
|
||||
install "at-spi"
|
||||
install "at-spi-python"
|
||||
install "audit"
|
||||
install "bind-libs-lite"
|
||||
install "bind-libs"
|
||||
install "bind-utils"
|
||||
install "bitmap-fangsongti-fonts"
|
||||
install "btrfs-progs"
|
||||
@ -64,6 +64,7 @@ install "lsof"
|
||||
install "lvm2-cluster"
|
||||
install "madan-fonts"
|
||||
install "man-db"
|
||||
install "memtest86+"
|
||||
install "metacity"
|
||||
install "mt-st"
|
||||
install "mtr"
|
||||
@ -264,7 +265,6 @@ remove "libselinux-utils"
|
||||
remove "libsndfile"
|
||||
remove "libsoup"
|
||||
remove "libtiff"
|
||||
remove "libusb1"
|
||||
remove "libutempter"
|
||||
remove "libvirt-client"
|
||||
remove "libwnck"
|
||||
@ -521,7 +521,9 @@ remove "NetworkManager" "/etc/rc.d/*"
|
||||
remove "NetworkManager" "/lib/systemd/*"
|
||||
remove "NetworkManager" "/usr/bin/*"
|
||||
remove "NetworkManager" "/usr/share/NetworkManager/*"
|
||||
remove "NetworkManager" "/usr/share/locale/*/NetworkManager.mo"
|
||||
remove "NetworkManager-gnome" "/etc/xdg/*"
|
||||
remove "NetworkManager-gnome" "/usr/bin/nm-applet"
|
||||
remove "NetworkManager-gnome" "/usr/${libdir}/*"
|
||||
remove "NetworkManager-gnome" "/usr/share/applications/*"
|
||||
remove "anaconda" "/etc/*"
|
||||
@ -540,6 +542,11 @@ remove "bash" "/etc/*"
|
||||
remove "bash" "/usr/bin/*"
|
||||
remove "bash" "/usr/share/*"
|
||||
remove "bitmap-fangsongti-fonts" "/usr/share/fonts/*"
|
||||
remove "btrfs-progs" "/sbin/btrfs"
|
||||
remove "btrfs-progs" "/sbin/btrfs-*"
|
||||
remove "btrfs-progs" "/sbin/btrfstune"
|
||||
remove "ca-certificates" "/etc/pki/java/*"
|
||||
remove "ca-certificates" "/etc/pki/tls/certs/ca-bundle.trust.crt"
|
||||
remove "ca-certificates" "/etc/ssl/*"
|
||||
remove "cjkuni-uming-fonts" "/etc/X11/*"
|
||||
remove "coreutils" "/etc/*"
|
||||
@ -561,6 +568,8 @@ remove "dejavu-sans-fonts" "/usr/share/fonts/dejavu/DejaVuSans-BoldOblique*"
|
||||
remove "dejavu-sans-fonts" "/usr/share/fonts/dejavu/DejaVuSans-ExtraLight*"
|
||||
remove "dejavu-sans-fonts" "/usr/share/fonts/dejavu/DejaVuSans-Oblique*"
|
||||
remove "dejavu-sans-fonts" "/usr/share/fonts/dejavu/DejaVuSansCondensed*"
|
||||
remove "dejavu-sans-mono-fonts" "/usr/share/fonts/dejavu/DejaVuSansMono-Bold*"
|
||||
remove "dejavu-sans-mono-fonts" "/usr/share/fonts/dejavu/DejaVuSansMono-Oblique*"
|
||||
remove "device-mapper-multipath" "/etc/*"
|
||||
remove "dhclient" "/usr/*"
|
||||
remove "dmz-cursor-themes" "/usr/share/icons/dmz/*"
|
||||
@ -580,7 +589,11 @@ remove "fcoe-utils" "/etc/rc.d/*"
|
||||
remove "fedora-gnome-theme" "/etc/gtk-3.0/*"
|
||||
remove "fedora-gnome-theme" "/usr/share/themes/*"
|
||||
remove "file-libs" "/usr/share/*"
|
||||
remove "findutils" "/usr/bin/oldfind"
|
||||
remove "findutils" "/usr/share/*"
|
||||
remove "firstboot" "/usr/sbin/*"
|
||||
remove "firstboot" "/usr/share/firstboot/*"
|
||||
remove "firstboot" "/usr/share/locale/*"
|
||||
remove "fontconfig" "/usr/bin/*"
|
||||
remove "gawk" "/usr/bin/*"
|
||||
remove "gawk" "/usr/libexec/*"
|
||||
@ -622,10 +635,15 @@ remove "gnome-themes" "/usr/share/themes/LowContrast*"
|
||||
remove "gnome-themes" "/usr/share/themes/Mist/*"
|
||||
remove "gnome-themes" "/usr/share/themes/Simple/*"
|
||||
remove "gnutls" "/usr/share/locale/*"
|
||||
remove "gpgme" "/usr/${libdir}/libgpgme-*"
|
||||
remove "grep" "/etc/*"
|
||||
remove "grep" "/usr/share/locale/*"
|
||||
remove "grub" "/sbin/grub-*"
|
||||
remove "grub" "/usr/bin/*"
|
||||
remove "groff" "/usr/share/*"
|
||||
remove "gstreamer" "/usr/bin/*"
|
||||
remove "gstreamer" "/usr/lib64/gstreamer-0.10/*"
|
||||
remove "gstreamer" "/usr/lib64/libgst*"
|
||||
remove "gstreamer" "/usr/libexec/*"
|
||||
remove "gstreamer" "/usr/share/locale/*"
|
||||
remove "gtk+" "/etc/*"
|
||||
@ -661,6 +679,10 @@ remove "iproute" "/usr/*"
|
||||
remove "iputils" "/etc/*"
|
||||
remove "iputils" "/usr/sbin/*"
|
||||
remove "iscsi-initiator-utils" "/etc/rc.d/*"
|
||||
remove "jfsutils" "/sbin/jfs_fsck"
|
||||
remove "jfsutils" "/sbin/jfs_fscklog"
|
||||
remove "jfsutils" "/sbin/jfs_logdump"
|
||||
remove "jfsutils" "/sbin/jfs_mkfs"
|
||||
remove "kbd" "/usr/share/locale/*"
|
||||
remove "krb5-libs" "/usr/${libdir}/*"
|
||||
remove "less" "/etc/*"
|
||||
@ -693,9 +715,14 @@ remove "libuser" "/usr/share/locale/*"
|
||||
remove "libvorbis" "/usr/${libdir}/libvorbisenc.*"
|
||||
remove "libxcb" "/usr/${libdir}/libxcb-*"
|
||||
remove "libxml2" "/usr/bin/*"
|
||||
remove "libxml2-python" "/usr/${libdir}/python?.?/site-packages/libxml2mod.a"
|
||||
remove "libxml2-python" "/usr/${libdir}/python?.?/site-packages/libxml2mod.la"
|
||||
remove "lldpad" "/etc/*"
|
||||
remove "lua" "/usr/bin/*"
|
||||
remove "lvm2" "/etc/*"
|
||||
remove "lvm2-cluster" "/etc/rc.d/init.d/*"
|
||||
remove "lvm2-cluster" "/usr/sbin/*"
|
||||
remove "madan-fonts" "/usr/share/fonts/madan/*"
|
||||
remove "man-db" "/etc/sysconfig/*"
|
||||
remove "man-db" "/usr/bin/*"
|
||||
remove "man-db" "/usr/libexec/*"
|
||||
@ -714,6 +741,8 @@ remove "metacity" "/usr/share/themes/Esco/*"
|
||||
remove "metacity" "/usr/share/themes/Metabox/*"
|
||||
remove "metacity" "/usr/share/themes/Simple/*"
|
||||
remove "module-init-tools" "/etc/*"
|
||||
remove "module-init-tools" "/sbin/insmod.static"
|
||||
remove "module-init-tools" "/sbin/weak-modules"
|
||||
remove "mt-st" "/etc/*"
|
||||
remove "mt-st" "/sbin/*"
|
||||
remove "mtools" "/etc/*"
|
||||
@ -733,6 +762,8 @@ remove "openldap" "/etc/openldap/*"
|
||||
remove "openssh" "/etc/ssh/*"
|
||||
remove "openssh" "/usr/libexec/*"
|
||||
remove "openssh-clients" "/etc/ssh/*"
|
||||
remove "openssh-clients" "/usr/bin/slogin"
|
||||
remove "openssh-clients" "/usr/bin/ssh-*"
|
||||
remove "openssh-clients" "/usr/${libdir}/*"
|
||||
remove "openssh-clients" "/usr/libexec/*"
|
||||
remove "openssh-server" "/etc/ssh/*"
|
||||
@ -782,6 +813,8 @@ remove "samba-winbind-clients" "/usr/${libdir}/libnss_*"
|
||||
remove "sed" "/usr/share/locale/*"
|
||||
remove "selinux-policy-targeted" "/usr/share/selinux/*"
|
||||
remove "smartmontools" "/etc/*"
|
||||
remove "smartmontools" "/usr/sbin/smartd"
|
||||
remove "smartmontools" "/usr/sbin/update-smart-drivedb"
|
||||
remove "smartmontools" "/usr/share/smartmontools/*"
|
||||
remove "sqlite" "/usr/bin/*"
|
||||
remove "system-config-date" "/etc/*"
|
||||
@ -813,6 +846,32 @@ remove "xorg-x11-drv-wacom" "/usr/bin/*"
|
||||
remove "xorg-x11-fonts-ethiopic" "/etc/X11/*"
|
||||
remove "xorg-x11-fonts-misc" "/etc/X11/*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/encodings/*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/10x20*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/12x*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/18x18*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/4x6*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/5x7*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/5x8*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/6x10*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/6x12*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/6x9*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/7x*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/8x*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/9x*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/arabic*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/cl*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/cu-*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/cu12*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/cuarabic*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/cudevnag*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/dec*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/gb*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/hang*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/jiskan*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/k14*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/micro*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/nil2*"
|
||||
remove "xorg-x11-fonts-misc" "/usr/share/X11/fonts/misc/olg*"
|
||||
remove "yum" "etc/*"
|
||||
remove "yum" "/usr/share/locale/*"
|
||||
remove "yum" "/usr/share/yum-cli/*"
|
||||
|
@ -186,7 +186,8 @@ class Lorax(BaseLoraxClass):
|
||||
|
||||
# set up install tree
|
||||
logger.info("setting up install tree")
|
||||
self.installtree = LoraxInstallTree(self.yum, self.basearch)
|
||||
self.installtree = LoraxInstallTree(self.yum, self.basearch,
|
||||
self.libdir)
|
||||
|
||||
# set up required build parameters
|
||||
logger.info("setting up build parameters")
|
||||
@ -251,9 +252,7 @@ class Lorax(BaseLoraxClass):
|
||||
logger.info("moving stubs")
|
||||
self.installtree.move_stubs()
|
||||
|
||||
# cleanup python files
|
||||
logger.info("cleaning up python files")
|
||||
self.installtree.cleanup_python_files()
|
||||
|
||||
|
||||
# get the list of required modules
|
||||
logger.info("getting list of required modules")
|
||||
@ -288,8 +287,8 @@ class Lorax(BaseLoraxClass):
|
||||
|
||||
self.installtree.get_config_files(config_dir)
|
||||
|
||||
# get loader
|
||||
self.installtree.get_loader()
|
||||
# get anaconda portions
|
||||
self.installtree.get_anaconda_portions()
|
||||
|
||||
# set up output tree
|
||||
logger.info("setting up output tree")
|
||||
@ -394,6 +393,10 @@ class Lorax(BaseLoraxClass):
|
||||
logger.debug("{0}\t{1}".format(package, pattern_list))
|
||||
self.installtree.yum.remove(package, pattern_list)
|
||||
|
||||
# cleanup python files
|
||||
logger.info("cleaning up python files")
|
||||
self.installtree.cleanup_python_files()
|
||||
|
||||
# compress install tree
|
||||
InitRD = namedtuple("InitRD", "fname fpath")
|
||||
initrd = InitRD("initrd.img", joinpaths(self.workdir, "initrd.img"))
|
||||
@ -695,11 +698,12 @@ class Lorax(BaseLoraxClass):
|
||||
|
||||
class LoraxInstallTree(BaseLoraxClass):
|
||||
|
||||
def __init__(self, yum, basearch):
|
||||
def __init__(self, yum, basearch, libdir):
|
||||
BaseLoraxClass.__init__(self)
|
||||
self.yum = yum
|
||||
self.root = self.yum.installroot
|
||||
self.basearch = basearch
|
||||
self.libdir = libdir
|
||||
|
||||
self.lcmds = constants.LoraxRequiredCommands()
|
||||
|
||||
@ -797,6 +801,13 @@ class LoraxInstallTree(BaseLoraxClass):
|
||||
dst = joinpaths(self.root, "usr/bin")
|
||||
shutil.move(src, dst)
|
||||
|
||||
# move sitecustomize.py
|
||||
pythonpath = joinpaths(self.root, "usr", self.libdir, "python?.?")
|
||||
for path in glob.glob(pythonpath):
|
||||
src = joinpaths(path, "site-packages/pyanaconda/sitecustomize.py")
|
||||
dst = joinpaths(path, "site-packages")
|
||||
shutil.move(src, dst)
|
||||
|
||||
def cleanup_python_files(self):
|
||||
for root, dnames, fnames in os.walk(self.root):
|
||||
for fname in fnames:
|
||||
@ -1045,11 +1056,35 @@ class LoraxInstallTree(BaseLoraxClass):
|
||||
dst = joinpaths(self.root, "root")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
def get_loader(self):
|
||||
# get .profile
|
||||
src = joinpaths(src_dir, ".profile")
|
||||
dst = joinpaths(self.root, "root")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
# get libuser.conf
|
||||
src = joinpaths(src_dir, "libuser.conf")
|
||||
dst = joinpaths(self.root, "etc")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
# get selinux config
|
||||
if os.path.exists(joinpaths(self.root, "etc/selinux/targeted")):
|
||||
src = joinpaths(src_dir, "selinux.config")
|
||||
dst = joinpaths(self.root, "etc/selinux", "config")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
def get_anaconda_portions(self):
|
||||
src = joinpaths(self.root, "usr", self.libdir, "anaconda", "loader")
|
||||
dst = joinpaths(self.root, "sbin")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
src = joinpaths(self.root, "usr/share/anaconda", "loader.tr")
|
||||
dst = joinpaths(self.root, "etc")
|
||||
shutil.move(src, dst)
|
||||
|
||||
src = joinpaths(self.root, "usr/libexec/anaconda", "auditd")
|
||||
dst = joinpaths(self.root, "sbin")
|
||||
shutil.copy2(src, dst)
|
||||
|
||||
def create_install_img(self, paths, type="squashfs", workdir="/tmp"):
|
||||
tempdir = tempfile.mkdtemp(prefix="install.img.", dir=workdir)
|
||||
|
||||
@ -1183,8 +1218,8 @@ normally would.
|
||||
"""
|
||||
|
||||
readme = joinpaths(imgdir, "README")
|
||||
with open(readme, "w") as fobj:
|
||||
fobj.write(text.format(self))
|
||||
#with open(readme, "w") as fobj:
|
||||
# fobj.write(text.format(self))
|
||||
|
||||
# write the images/pxeboot/README file
|
||||
text = """
|
||||
@ -1197,8 +1232,8 @@ initrd.img - an initrd with support for all install methods and
|
||||
"""
|
||||
|
||||
readme = joinpaths(pxebootdir, "README")
|
||||
with open(readme, "w") as fobj:
|
||||
fobj.write(text.format(self))
|
||||
#with open(readme, "w") as fobj:
|
||||
# fobj.write(text.format(self))
|
||||
|
||||
def get_kernels(self):
|
||||
kernels = self.installtree.kernels[:]
|
||||
@ -1238,11 +1273,13 @@ initrd.img - an initrd with support for all install methods and
|
||||
"kernel {0}".format(self.main_kernel.fname))
|
||||
|
||||
# set label for finding stage2 with a hybrid iso
|
||||
replace(isolinuxcfg, r"initrd=initrd.img",
|
||||
'initrd=initrd.img stage2=hd:LABEL="{0.product}"'.format(self))
|
||||
#replace(isolinuxcfg, r"initrd=initrd.img",
|
||||
# 'initrd=initrd.img stage2=hd:LABEL="{0.product}"'.format(self))
|
||||
|
||||
# copy memtest
|
||||
memtest = joinpaths(self.installtree.root, "boot/memtest*")
|
||||
memtest = joinpaths(self.installtree.root,
|
||||
"boot/memtest*")
|
||||
|
||||
for fname in glob.glob(memtest):
|
||||
shutil.copy2(fname, joinpaths(self.isolinuxdir, "memtest"))
|
||||
|
||||
@ -1259,18 +1296,20 @@ initrd.img - an initrd with support for all install methods and
|
||||
break
|
||||
|
||||
# get splash
|
||||
vesasplash = joinpaths(self.installtree.root,
|
||||
"usr/share/anaconda/syslinux-vesa-splash.jpg")
|
||||
vesasplash = joinpaths(self.installtree.root, "usr/share/anaconda",
|
||||
"boot/syslinux-vesa-splash.jpg")
|
||||
|
||||
vesamenu = joinpaths(self.installtree.root,
|
||||
"usr/share/syslinux/vesamenu.c32")
|
||||
|
||||
splashtolss = joinpaths(self.installtree.root,
|
||||
"usr/share/anaconda/splashtolss.sh")
|
||||
|
||||
syslinuxsplash = joinpaths(self.installtree.root,
|
||||
"usr/share/anaconda/boot/syslinux-splash.jpg")
|
||||
splashlss = joinpaths(self.installtree.root,
|
||||
"usr/share/anaconda/boot/splash.lss")
|
||||
syslinuxsplash = joinpaths(self.installtree.root, "usr/share/anaconda",
|
||||
"boot/syslinux-splash.jpg")
|
||||
|
||||
splashlss = joinpaths(self.installtree.root, "usr/share/anaconda",
|
||||
"boot/splash.lss")
|
||||
|
||||
if os.path.isfile(vesasplash):
|
||||
shutil.copy2(vesasplash, joinpaths(self.isolinuxdir, "splash.jpg"))
|
||||
@ -1280,7 +1319,10 @@ initrd.img - an initrd with support for all install methods and
|
||||
elif os.path.isfile(splashtolss):
|
||||
cmd = [splashtolss, syslinuxsplash, splashlss]
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
p.wait()
|
||||
rc = p.wait()
|
||||
if not rc == 0:
|
||||
logger.error("failed to create splash.lss")
|
||||
sys.exit(1)
|
||||
|
||||
if os.path.isfile(splashlss):
|
||||
shutil.copy2(splashlss, self.isolinuxdir)
|
||||
|
Loading…
Reference in New Issue
Block a user