From 77e44fe619a659bad9faa3a06845f66df9e4527b Mon Sep 17 00:00:00 2001 From: James Meyer Date: Fri, 9 Nov 2012 09:45:41 -0600 Subject: LinHES-config: transfer grub line modules to post install grub. This is in addition to blacklisting them in modules.conf. This is needed because blacklisting a module doesn't work if it's in the initrd. refs #726 closes #726 --- abs/core/LinHES-config/09_mythvantge_runit_grub | 11 ++++++++-- abs/core/LinHES-config/PKGBUILD | 6 +++--- abs/core/LinHES-config/mv_install.py | 27 ++++++++++++++++++++++--- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/abs/core/LinHES-config/09_mythvantge_runit_grub b/abs/core/LinHES-config/09_mythvantge_runit_grub index 1d7774e..8bf7396 100644 --- a/abs/core/LinHES-config/09_mythvantge_runit_grub +++ b/abs/core/LinHES-config/09_mythvantge_runit_grub @@ -7,6 +7,13 @@ if [ -z "$boot_device_id" ]; then boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" fi +if [ -f "/etc/grub.d/install_modules" ] +then + . /etc/grub.d/install_modules +else + install_modules='' +fi + gettext_printf "Found LinHES runit: \n" >&2 echo " menuentry 'LinHES' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-$boot_device_id' { @@ -22,7 +29,7 @@ menuentry 'LinHES' --class arch --class gnu-linux --class gnu --class os $menuen search --no-floppy --fs-uuid --set=root $boot_device_id fi echo 'Loading Linux core repo kernel ...' - linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash=silent init=/sbin/runit + linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash=silent init=/sbin/runit $install_modules echo 'Loading initial ramdisk ...' initrd /boot/initramfs-linux.img } @@ -39,7 +46,7 @@ menuentry 'LinHES --no-splash' --class arch --class gnu-linux --class gnu --clas search --no-floppy --fs-uuid --set=root $boot_device_id fi echo 'Loading Linux core repo kernel ...' - linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro init=/sbin/runit + linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro init=/sbin/runit $install_modules echo 'Loading initial ramdisk ...' initrd /boot/initramfs-linux.img } diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD index 1134402..f35c42f 100755 --- a/abs/core/LinHES-config/PKGBUILD +++ b/abs/core/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@ pkgname=LinHES-config pkgver=2.3 -pkgrel=184 +pkgrel=189 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config ) pkgdesc="Install and configure your system" depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted' @@ -127,8 +127,8 @@ build() { install -o root -g root -D -m 0755 blacklist_pcspkr.conf $startdir/pkg/etc/modprobe.d/blacklist_pcspkr.conf install -o root -g root -D -m 0755 blacklist_nouveau.conf $startdir/pkg/etc/modprobe.d/blacklist_nouveau.conf } -md5sums=('ecd120a453dd185fc2b345086bfd62f5' - 'f33e1a6f7985091b8d47cbaf7433f90f' +md5sums=('0bde52e0cc7708f3c208d4b424da49cc' + '48478aa0c2cfda6f6943c320b576d6f4' '17677b9e25b8fe3511ad3a139ed91eea' '2596460462cf6c889cf8f95485537b20' '985891a43f7c4c983eb2a362162f1a0f' diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py index 877ca67..cb19f2b 100755 --- a/abs/core/LinHES-config/mv_install.py +++ b/abs/core/LinHES-config/mv_install.py @@ -1308,12 +1308,13 @@ def add_to_modulelist(module): #return try: - f = open(rcfile, '1') + f = open(rcfile, 'a+') except: logging.critical(" *Couldn't open %s for writing",rcfile) return line = "%s" %module f.write(line) + f.write("\n") f.close() #for line in conflines: #newline = line @@ -1333,6 +1334,7 @@ def add_to_modulelist(module): def special_hardware_check(): + outlist = [] logging.info("_____Applying special boot parameters_______") try: f = open('/proc/cmdline', 'r') @@ -1347,12 +1349,14 @@ def special_hardware_check(): logging.debug(item) if (re.match("disablemodules",item) != None) or (re.match("modprobe.blacklist",item) != None ): logging.debug(" Found disabledmodules") + outlist.append(item) modulelist = item.split("=")[1] for module in modulelist.split(','): add_to_blacklist(module) if re.match("modules",item) != None : logging.debug(" Found modules") + outlist.append(item) modulelist = item.split("=")[1] for module in modulelist.split(','): add_to_modulelist(module) @@ -1372,6 +1376,19 @@ def special_hardware_check(): if re.match("no_meth",item) != None : cmd = " touch %s%s/.no_meth" %(data_config.MOUNTPOINT, data_config.MYTHHOME) runcmd(cmd) + if len(outlist) != 0: + outfile = data_config.MOUNTPOINT + "/etc/grub.d/install_modules" + logging.debug(" Writing out %s" %outfile) + try: + f = open(outfile, 'w') + templine = ' '.join(outlist) + outline = '''install_modules='%s' \n''' %templine + f.write(outline) + f.write("\n") + f.close() + except: + logging.critical(" *Couldn't write %s" %outfile) + return def swapsearch(): #currently unused! @@ -1549,12 +1566,14 @@ def full_install(hostoptions): update_status(msg) progress(98) + special_hardware_check() + mount_bind_chroot() grub_it() umount_bind_chroot() genlocale() #currently does nothing - special_hardware_check() + logging.info("______Configuring system________") cp_and_log("/etc/systemconfig", data_config.MOUNTPOINT+"/etc/systemconfig") @@ -1872,6 +1891,8 @@ def upgrade(hostoptions): fstab_it("upgrade") time.sleep(1) + special_hardware_check() + mount_bind_chroot() grub_it() umount_bind_chroot() @@ -1879,7 +1900,7 @@ def upgrade(hostoptions): genlocale() time.sleep(1) - special_hardware_check() + cp_and_log("/root/xorg.conf.install", data_config.MOUNTPOINT+"/etc/X11/xorg.conf.install") #this was needed to get around a pacman bug cp_and_log("/etc/mtab", data_config.MOUNTPOINT+"/etc/mtab") -- cgit v0.12