On 8/19/05, Johnny Hughes mailing-lists@hughesjr.com wrote:
On Fri, 2005-08-19 at 13:51 -0700, Fong Vang wrote:
On 8/19/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
Rebuilding the installer with and an XFS enabled kernel will result in a working installer ... as you've seen, hacking the installer by adding modules, doesn't work - that is the main difference ...
Makes sense. Thank you for the insight. Could you point to some document detailing the steps to rebuild the installer (not really sure what that means).
See an earlier post in this thread:
http://lists.centos.org/pipermail/centos/2005-August/010119.html
Basically you need to have the whole distribution (from CDs etc) on line, replace all the various kernel RPMS with the ones from centosplus downloads and add the xfsprogs (and jfsutils and reiserfs) RPMS to the CentOS/RPMS directory, install the anaconda-runtime RPM and run something like the script at http://centos.hughesjr.com/testing/build.sh.txt
I tried to run it, but looks like you need the SRPMS. The script doesn't do much error checking.
I don't make mistakes ... just kidding :)
This is the script I use to make the CD ISOs for CentOS 4 ... It isn't really meant for redistribution (Not that it is a huge secret or anything, I just never really commented it for distribution).
The variables are not well commented, but I assume BUILDDIR is where the build will happen and DISTDIR is the original source is located.
correct. $BUILDDIR needs to look like /usr/src/redhat and you need to have it also be %_topdir in your .rpmmacros. You need all the items you want to put on the CDs under a $ARCH (i386, x86_64, etc.) directory under $DISTDIR ... also in your .rpmmacros, the full path to $DISTDIR needs to be %rpmdbtree ... and $DISTDIR/$ARCH/CentOS/base needs to be % basedir.
Here is the .rpmmacros that I build with: http://centos.hughesjr.com/testing/rpmmacros
This also signs the packages with a key named CentOS-4 (which you probably don't have .... signing the packages is not required, but you would need to remark out the "rpm --resign" steps if you don't want to sign.
Anyway, I guess I'll have to dive into the script and try to figure out how it's doing it. BTW, last question. Does it create the initrd, kernel, netstg and stage2 images automatically?
Yes it will .... And generate all the install images, boot.iso, etc.
Here's my sample run:
ls: /scratch/fong/centos-4.1-rebuild/SRPMS/comps-4*: No such file or directory ls: /scratch/fong/centos-4.1-rebuild/SRPMS/rpmdb-CentOS*: No such file or directory Starting Build ... - logging to /scratch/buildcentos/rpmbuild/build.200508191350.log ./build.sh: line 42: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory cp: missing destination file Try `cp --help' for more information. cp: missing destination file Try `cp --help' for more information. rpm: no packages given for install rpm: no packages given for install Building Comps ./build.sh: line 73: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory ./build.sh: line 80: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory ./build.sh: line 81: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory ./build.sh: line 82: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory ./build.sh: line 83: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory ./build.sh: line 84: /scratch/buildcentos/rpmbuild/build.200508191350.log: No such file or directory Building Rpmdb
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux)
iD8DBQBDBkwzTKkMgmrBY7MRAnr+AKCXw1EXBY1leNL7M3ZyOe5uCyU6AACfZsSf lwAod3Cdg6dDTQd60PPV/vY= =UH6k -----END PGP SIGNATURE-----
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
I'm not successful, yet. Looks like buildinstall is able to create the complete disc1, but the generated initrd does not contain the xfs.ko module. I've verified that the kernel files copied into $DISTDIR/i386/CentOS/RPMS/ contain the xfs module.
buildinstall generated a few errors:
Going to run buildinstall again Building images... Assembling package list... Expanding text packages... Expanding graphical packages... retrieving timezones ln: creating symbolic link `/tmp/treedir.8894/instimage/etc/joe/picorc' to `jpicorc': No such file or directory ln: creating symbolic link `/tmp/treedir.8894/instimage/etc/joe/emacsrc' to `jmacsrc': No such file or directory Creating nsswitch.conf Fixing up /etc/man.config to point into /mnt/sysimage Running mkfontdir... /tmp/treedir.8894/instimage/usr/X11R6/lib/X11/fonts/*/: opendir: No such file or directory Getting pango modules mv: cannot stat `/tmp/treedir.8894/instimage/usr/bin/pango-querymodules*': No such file or directory /scratch/fong/centos-4.1-rebuild/i386/buildinstall.tree.8881/upd-instroot: line 940: /tmp/treedir.8894/instimage/etc/pango/pango.modules: No such file or directory /scratch/fong/centos-4.1-rebuild/i386/buildinstall.tree.8881/upd-instroot: line 944: /tmp/treedir.8894/instimage/etc/pango/pangorc: No such file or directory Getting gtk2 input method modules mv: cannot stat `/tmp/treedir.8894/instimage/usr/bin/gtk-query-immodules-2.0*': No such file or directory /usr/sbin/chroot: cannot run command `/usr/bin/gtk-query-immodules-2.0': No such file or directory Getting gtk2 gdk-pixbuf loaders mv: cannot stat `/tmp/treedir.8894/instimage/usr/bin/gdk-pixbuf-query-loaders*': No such file or directory /usr/sbin/chroot: cannot run command `/usr/bin/gdk-pixbuf-query-loaders': No such file or directory Scrubbing trees... /tmp/treedir.8894/image-template mv: cannot stat `/tmp/treedir.8894/image-template/usr/sbin/busybox.anaconda': No such file or directory ARCH=i386 ... ... USER=root _=/tmp/treedir.8894/image-template/usr/bin p=/tmp/treedir.8894/image-template Scrubbing trees... /tmp/treedir.8894/instimage cp: cannot stat `/tmp/treedir.8894/instimage/boot/memtest*': No such file or directory mv: cannot stat `/tmp/treedir.8894/instimage/usr/sbin/busybox.anaconda': No such file or directory ARCH=i386 ... ... _=/tmp/treedir.8894/instimage/usr/bin p=/tmp/treedir.8894/instimage Compressing .mo files in stage2 images... Creating fontconfig cache Creating debug dir Patching python library... /scratch/fong/centos-4.1-rebuild Removing unused python files in hdimage... Traceback (most recent call last): File "/usr/bin/anaconda", line 356, in ? import signal, traceback, string, isys, iutil, time File "/usr/lib/anaconda/isys.py", line 18, in ? import _isys ImportError: libbogl.so.0: cannot open shared object file: No such file or directory find: usr/lib/booty: No such file or directory done. Cleaning ramdisk install images... ln: creating symbolic link `/tmp/treedir.8894/instimage/usr/X11R6/lib/X11/xkb/compiled' to `/tmp': No such file or directory ... ... cannot find package kernel-BOOT in path /scratch/fong/centos-4.1-rebuild/i386/CentOS/RPMS kernel-BOOT does not exist for i586 -- using kernel package unpacking /scratch/fong/centos-4.1-rebuild/i386/CentOS/RPMS/kernel-2.6.9-11.EL.i586.rpm.i586 Building i586 initrd-everything.img Wrote /tmp/makebootdisk.tree.15542 (3052k compressed, 2275k free) Building isolinux directory cpio: /scratch/fong/centos-4.1-rebuild/i386/isolinux/./syslinux.cfg not created: newer or same age version exists cpio: /scratch/fong/centos-4.1-rebuild/i386/isolinux/./syslinux-splash.png not created: newer or same age version exists /scratch/fong/centos-4.1-rebuild/i386/buildinstall.tree.8881/mk-images.i386: line 29: pngtopnm: command not found /usr/bin/ppmtolss16: stdin is not a PNM file at /usr/bin/ppmtolss16 line 215. /scratch/fong/centos-4.1-rebuild/i386/buildinstall.tree.8881/mk-images: Failed to create splash.lss Writing .discinfo file timestamp not specified; using the current time Traceback (most recent call last): File "/usr/lib/anaconda-runtime/splittree.py", line 455, in ? logfile = timber.main() File "/usr/lib/anaconda-runtime/splittree.py", line 379, in main self.createSplitDirs() File "/usr/lib/anaconda-runtime/splittree.py", line 228, in createSplitDirs os.makedirs("%s-disc%d/%s/RPMS" % (self.dist_dir, i, self.product_path)) File "/usr/lib/python2.3/os.py", line 154, in makedirs mkdir(name, mode) OSError: [Errno 17] File exists: '/scratch/fong/centos-4.1-rebuild/i386/-disc1/CentOS/RPMS'
What am I missing now? Any help is appreciated.