I'm trying to add XFS and ReiserFS to CentOS, integrating with Kickstart. I think I'm fairly close. I've added xfs.ko and reiserfs.ko to modules.cgz in initrd. Several of my partitions now specify --fstype=xfs. I can see tty5 mkfs.xfs is creating the XFS file systems. The system currently installs completely via kickstart, but it does not mount the XFS file systems while in the kick process. /mnt/sysimage/etc/fstab is populated correctly.
In tty2, lsmod does not show that the xfs module is loaded (ext3 is in the list). I tried loading it manually with modprobe and insmod but I don't think it's loading (no error message at all -- no error).
BTW, as with Fedora, I also specified 'xfs' as an option to syslinux/pxelinux.
What else am I missing?
Thanks for any help.
Fong Vang wrote:
I'm trying to add XFS and ReiserFS to CentOS, integrating with Kickstart. I think I'm fairly close. I've added xfs.ko and reiserfs.ko to modules.cgz in initrd. Several of my partitions now specify --fstype=xfs. I can see tty5 mkfs.xfs is creating the XFS file systems. The system currently installs completely via kickstart, but it does not mount the XFS file systems while in the kick process. /mnt/sysimage/etc/fstab is populated correctly.
In tty2, lsmod does not show that the xfs module is loaded (ext3 is in the list). I tried loading it manually with modprobe and insmod but I don't think it's loading (no error message at all -- no error).
BTW, as with Fedora, I also specified 'xfs' as an option to syslinux/pxelinux.
What else am I missing?
How did you add xfs.ko and reiserfs.ko to modules.cgz in initrd?
By default, the initrd doesn't have any file system modules - they are normally loaded at stage2 time
The way I've got XFS to work is to make sure the xfsprogs and XFS enabled kernel RPMS are in the distribution tree - you might need to add xfsprogs to the CentOS/base/comps.xml file (not sure if it is required, as I think anaconda will install it anyway if xfs is selected at install time) and then rebuild your installer ... which is easier said than done, but basically involves installing the anaconda-runtime RPM and its dependencies and then running the various build scripts - which are all given in http://centos.hughesjr.com/testing/build.sh.txt
James Pearson
On 8/18/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
I'm trying to add XFS and ReiserFS to CentOS, integrating with Kickstart. I think I'm fairly close. I've added xfs.ko and reiserfs.ko to modules.cgz in initrd. Several of my partitions now specify --fstype=xfs. I can see tty5 mkfs.xfs is creating the XFS file systems. The system currently installs completely via kickstart, but it does not mount the XFS file systems while in the kick process. /mnt/sysimage/etc/fstab is populated correctly.
In tty2, lsmod does not show that the xfs module is loaded (ext3 is in the list). I tried loading it manually with modprobe and insmod but I don't think it's loading (no error message at all -- no error).
BTW, as with Fedora, I also specified 'xfs' as an option to syslinux/pxelinux.
What else am I missing?
How did you add xfs.ko and reiserfs.ko to modules.cgz in initrd?
By default, the initrd doesn't have any file system modules - they are normally loaded at stage2 time
The way I've got XFS to work is to make sure the xfsprogs and XFS enabled kernel RPMS are in the distribution tree - you might need to add xfsprogs to the CentOS/base/comps.xml file (not sure if it is required, as I think anaconda will install it anyway if xfs is selected at install time) and then rebuild your installer ... which is easier said than done, but basically involves installing the anaconda-runtime RPM and its dependencies and then running the various build scripts - which are all given in http://centos.hughesjr.com/testing/build.sh.txt
I figured out the same thing last night. The reason why I added it to initrd is because ext3 exists there. Looking more closely at the anaconda log, it wasn't able to find the xfs module. I then added the XFS tools and module to stage2. Anaconda is able to find it now; it even copies it to /tmp (same as other module). The anaconda/loader log indicates that it's able to find the xfs module, but it's failing to load it (code 80). Comparison of the modinfo information for both ext3.ko and xfs.ko look exactly the same (kernel identification).
The xfs module is built manually. I will try to build it using rpmbuild from the kernel src rpm and try it.
James Pearson _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
On 8/18/05, Fong Vang sudoyang@gmail.com wrote:
On 8/18/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
I'm trying to add XFS and ReiserFS to CentOS, integrating with Kickstart. I think I'm fairly close. I've added xfs.ko and reiserfs.ko to modules.cgz in initrd. Several of my partitions now specify --fstype=xfs. I can see tty5 mkfs.xfs is creating the XFS file systems. The system currently installs completely via kickstart, but it does not mount the XFS file systems while in the kick process. /mnt/sysimage/etc/fstab is populated correctly.
In tty2, lsmod does not show that the xfs module is loaded (ext3 is in the list). I tried loading it manually with modprobe and insmod but I don't think it's loading (no error message at all -- no error).
BTW, as with Fedora, I also specified 'xfs' as an option to syslinux/pxelinux.
What else am I missing?
How did you add xfs.ko and reiserfs.ko to modules.cgz in initrd?
By default, the initrd doesn't have any file system modules - they are normally loaded at stage2 time
The way I've got XFS to work is to make sure the xfsprogs and XFS enabled kernel RPMS are in the distribution tree - you might need to add xfsprogs to the CentOS/base/comps.xml file (not sure if it is required, as I think anaconda will install it anyway if xfs is selected at install time) and then rebuild your installer ... which is easier said than done, but basically involves installing the anaconda-runtime RPM and its dependencies and then running the various build scripts - which are all given in http://centos.hughesjr.com/testing/build.sh.txt
I figured out the same thing last night. The reason why I added it to initrd is because ext3 exists there. Looking more closely at the anaconda log, it wasn't able to find the xfs module. I then added the XFS tools and module to stage2. Anaconda is able to find it now; it even copies it to /tmp (same as other module). The anaconda/loader log indicates that it's able to find the xfs module, but it's failing to load it (code 80). Comparison of the modinfo information for both ext3.ko and xfs.ko look exactly the same (kernel identification).
The xfs module is built manually. I will try to build it using rpmbuild from the kernel src rpm and try it.
The module size is different when built from rpmbuild vs building manually. The module is still not loading. This is the relevant anaconda log entries:
loaded xfs from /mnt/runtime/modules/modules.cgz ... failed to insert module (1) failed to insert /tmp/xfs.ko ... formatting /data as xfs ...
ls -l /tmp/xfs.ko:
-rwxr--r-- 1 root 0 579936 Aug 18 2005 /tmp/xfs.ko
modinfo of xfs.ko:
filename: /tmp/xfs.ko author: Silicon Graphics, Inc. description: SGI XFS with ACLs, security attributes, large block numbers, no debug enabled license: GPL vermagic: 2.6.9-11.EL 586 REGPARM 4KSTACKS gcc-3.4 depends:
James Pearson _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
On 8/18/05, Fong Vang sudoyang@gmail.com wrote:
On 8/18/05, Fong Vang sudoyang@gmail.com wrote:
On 8/18/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
I'm trying to add XFS and ReiserFS to CentOS, integrating with Kickstart. I think I'm fairly close. I've added xfs.ko and reiserfs.ko to modules.cgz in initrd. Several of my partitions now specify --fstype=xfs. I can see tty5 mkfs.xfs is creating the XFS file systems. The system currently installs completely via kickstart, but it does not mount the XFS file systems while in the kick process. /mnt/sysimage/etc/fstab is populated correctly.
In tty2, lsmod does not show that the xfs module is loaded (ext3 is in the list). I tried loading it manually with modprobe and insmod but I don't think it's loading (no error message at all -- no error).
BTW, as with Fedora, I also specified 'xfs' as an option to syslinux/pxelinux.
What else am I missing?
How did you add xfs.ko and reiserfs.ko to modules.cgz in initrd?
By default, the initrd doesn't have any file system modules - they are normally loaded at stage2 time
The way I've got XFS to work is to make sure the xfsprogs and XFS enabled kernel RPMS are in the distribution tree - you might need to add xfsprogs to the CentOS/base/comps.xml file (not sure if it is required, as I think anaconda will install it anyway if xfs is selected at install time) and then rebuild your installer ... which is easier said than done, but basically involves installing the anaconda-runtime RPM and its dependencies and then running the various build scripts - which are all given in http://centos.hughesjr.com/testing/build.sh.txt
I figured out the same thing last night. The reason why I added it to initrd is because ext3 exists there. Looking more closely at the anaconda log, it wasn't able to find the xfs module. I then added the XFS tools and module to stage2. Anaconda is able to find it now; it even copies it to /tmp (same as other module). The anaconda/loader log indicates that it's able to find the xfs module, but it's failing to load it (code 80). Comparison of the modinfo information for both ext3.ko and xfs.ko look exactly the same (kernel identification).
The xfs module is built manually. I will try to build it using rpmbuild from the kernel src rpm and try it.
The module size is different when built from rpmbuild vs building manually. The module is still not loading. This is the relevant anaconda log entries:
loaded xfs from /mnt/runtime/modules/modules.cgz ... failed to insert module (1) failed to insert /tmp/xfs.ko ... formatting /data as xfs ...
ls -l /tmp/xfs.ko:
-rwxr--r-- 1 root 0 579936 Aug 18 2005 /tmp/xfs.ko
modinfo of xfs.ko:
filename: /tmp/xfs.ko author: Silicon Graphics, Inc. description: SGI XFS with ACLs, security attributes, large block numbers, no debug enabled license: GPL vermagic: 2.6.9-11.EL 586 REGPARM 4KSTACKS gcc-3.4 depends:
Maybe I need to move this discussion to the anaconda mailing list.
Anyway, I've been unable to get the xfs kernel module to load. Comparing the setup in Fedora Core 4, I noticed that xfs.ko is dependent on exportfs.ko (in modules.dep). I've added the modules to netstg2.img and stage2.img. Anaconda (loader) is unable to load the modules (although both are copied to /tmp). There's nothing in the log to pinpoint what the problem is. Anyone knows what I'm missing? Why is anaconda/loader unable to load these modules?
James Pearson _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Fong Vang wrote:
Maybe I need to move this discussion to the anaconda mailing list.
Anyway, I've been unable to get the xfs kernel module to load. Comparing the setup in Fedora Core 4, I noticed that xfs.ko is dependent on exportfs.ko (in modules.dep). I've added the modules to netstg2.img and stage2.img. Anaconda (loader) is unable to load the modules (although both are copied to /tmp). There's nothing in the log to pinpoint what the problem is. Anyone knows what I'm missing? Why is anaconda/loader unable to load these modules?
My guess is that these modules don't match the running installer kernel.
I think you should really start from scratch - get hold of the CentOSPlus kernel RPMS and xfsprogs RPM and rebuild the installer - hacking modules into the various installer images is very unlikely to work and difficult to maintain - I've tried it before, but it is so much simpler to rebuild the installer (once you've worked out what to do) ...
James Pearson
On 8/19/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
Maybe I need to move this discussion to the anaconda mailing list.
Anyway, I've been unable to get the xfs kernel module to load. Comparing the setup in Fedora Core 4, I noticed that xfs.ko is dependent on exportfs.ko (in modules.dep). I've added the modules to netstg2.img and stage2.img. Anaconda (loader) is unable to load the modules (although both are copied to /tmp). There's nothing in the log to pinpoint what the problem is. Anyone knows what I'm missing? Why is anaconda/loader unable to load these modules?
My guess is that these modules don't match the running installer kernel.
I think you should really start from scratch - get hold of the CentOSPlus kernel RPMS and xfsprogs RPM and rebuild the installer - hacking modules into the various installer images is very unlikely to work and difficult to maintain - I've tried it before, but it is so much simpler to rebuild the installer (once you've worked out what to do) ...
What do you mean by rebuild the installer? I wonder what could be different since I am using rpmbuild to build the i586 kernel then copying just the new modules I'm interested in.
James Pearson
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Fong Vang wrote:
My guess is that these modules don't match the running installer kernel.
I think you should really start from scratch - get hold of the CentOSPlus kernel RPMS and xfsprogs RPM and rebuild the installer - hacking modules into the various installer images is very unlikely to work and difficult to maintain - I've tried it before, but it is so much simpler to rebuild the installer (once you've worked out what to do) ...
What do you mean by rebuild the installer? I wonder what could be different since I am using rpmbuild to build the i586 kernel then copying just the new modules I'm interested in.
That's likely to be you're problem - the kernel modules from a rebuilt kernel RPM probably won't match the kernel in the installer.
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 ...
James Pearson
On 8/19/05, James Pearson james-p@moving-picture.com wrote:
Fong Vang wrote:
My guess is that these modules don't match the running installer kernel.
I think you should really start from scratch - get hold of the CentOSPlus kernel RPMS and xfsprogs RPM and rebuild the installer - hacking modules into the various installer images is very unlikely to work and difficult to maintain - I've tried it before, but it is so much simpler to rebuild the installer (once you've worked out what to do) ...
What do you mean by rebuild the installer? I wonder what could be different since I am using rpmbuild to build the i586 kernel then copying just the new modules I'm interested in.
That's likely to be you're problem - the kernel modules from a rebuilt kernel RPM probably won't match the kernel in the installer.
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).
thanks
James Pearson
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
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
Note: I only needed to rebuild the installer for doing NFS installs, so I stopped after the 'buildinstall' step - I also started at the first genhdlist step.
James Pearson
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. The variables are not well commented, but I assume BUILDDIR is where the build will happen and DISTDIR is the original source is located.
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?
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
Note: I only needed to rebuild the installer for doing NFS installs, so I stopped after the 'buildinstall' step - I also started at the first genhdlist step.
James Pearson
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
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
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.
Much appreciated. I will try it out tonight.
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
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.