<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=PXEboot_patch</id>
	<title>PXEboot patch - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://t2bwiki.iihe.ac.be/index.php?action=history&amp;feed=atom&amp;title=PXEboot_patch"/>
	<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=PXEboot_patch&amp;action=history"/>
	<updated>2026-04-20T11:38:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://t2bwiki.iihe.ac.be/index.php?title=PXEboot_patch&amp;diff=227&amp;oldid=prev</id>
		<title>Maintenance script: Created page with &quot; === PXE boot patch === (steps for RHEL5 and later) *pxeboot start from 2 files: kernel (typically called &lt;tt&gt;vmliuz&lt;/tt&gt; and the initrd (called &lt;tt&gt;initrd.img&lt;/tt&gt;) *to cr...&quot;</title>
		<link rel="alternate" type="text/html" href="https://t2bwiki.iihe.ac.be/index.php?title=PXEboot_patch&amp;diff=227&amp;oldid=prev"/>
		<updated>2015-08-26T12:28:59Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; === PXE boot patch === (steps for RHEL5 and later) *pxeboot start from 2 files: kernel (typically called &amp;lt;tt&amp;gt;vmliuz&amp;lt;/tt&amp;gt; and the initrd (called &amp;lt;tt&amp;gt;initrd.img&amp;lt;/tt&amp;gt;) *to cr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=== PXE boot patch ===&lt;br /&gt;
(steps for RHEL5 and later)&lt;br /&gt;
*pxeboot start from 2 files: kernel (typically called &amp;lt;tt&amp;gt;vmliuz&amp;lt;/tt&amp;gt; and the initrd (called &amp;lt;tt&amp;gt;initrd.img&amp;lt;/tt&amp;gt;)&lt;br /&gt;
*to create new pxeboot kernel?&lt;br /&gt;
**locate the kernel version used (to download precompiled modules for the correct version)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
strings vmlinuz |grep &amp;#039;2\.6&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**eg&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@localhost test_pxe]# strings vmlinuz |grep &amp;#039;2\.6&amp;#039;&lt;br /&gt;
2.6.18-53.el5&lt;br /&gt;
2.6.18-53.el5 (mockbuild@builder6.centos.org) #1 SMP Mon Nov 12 02:14:55 EST 2007&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**set the version and architecture (the variables are used later). eg. for centos 5.1 64-bit&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL=2.6.18-53.el5&lt;br /&gt;
ARCH=x86_64&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**3ware modules: 3ware has precompiled modules to boot with at http://www.3ware.com/kb/article.aspx?id=14546. These in general do not include rpms for later kernels, so you have to do that yourself&lt;br /&gt;
**get the file, unzip it and locate the .ko file&lt;br /&gt;
**you also need the pcitable with identifiers so the hardware is recognised&lt;br /&gt;
**XFS&lt;br /&gt;
**centos has kernel modules (in rpms) for XFS in centosplus repository&lt;br /&gt;
**get the rpms&lt;br /&gt;
*to add modules to the initrd&lt;br /&gt;
**download the initrd&lt;br /&gt;
**become root user&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
su -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**prepare &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HERE=$PWD&lt;br /&gt;
mkdir orig initrd-old modules-old&lt;br /&gt;
cp initrd.img orig&lt;br /&gt;
mv initrd.img initrd-old/initrd.img.gz&lt;br /&gt;
cd initrd-old&lt;br /&gt;
zcat initrd.img.gz |cpio -i&lt;br /&gt;
/bin/rm initrd.img.gz&lt;br /&gt;
cp modules/modules.cgz $HERE/modules-old&lt;br /&gt;
cd $HERE/modules-old&lt;br /&gt;
zcat modules.cgz|cpio -ivd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*now you have a directory &amp;lt;tt&amp;gt;$KERNEL/$ARCH&amp;lt;/tt&amp;gt;with all current modules. This is the place to add new ones or replace old one.&lt;br /&gt;
**3ware&lt;br /&gt;
**unzip the .zip files from 3ware site&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@localhost 3ware]# unzip ../191-3w-95xx-9650_9690_rhel5-kernel2.6.18-53.EL5-installdisk-x86_64-9.5-GUID083205f49ac341bc980c5c58ff4f1bc0.zip &lt;br /&gt;
Archive:  ../191-3w-95xx-9650_9690_rhel5-kernel2.6.18-53.EL5-installdisk-x86_64-9.5-GUID083205f49ac341bc980c5c58ff4f1bc0.zip&lt;br /&gt;
  inflating: modinfo                 &lt;br /&gt;
  inflating: modules.alias           &lt;br /&gt;
  inflating: modules.cgz             &lt;br /&gt;
  inflating: modules.dep             &lt;br /&gt;
  inflating: modules.pcimap          &lt;br /&gt;
  inflating: pci.ids                 &lt;br /&gt;
  inflating: pcitable                &lt;br /&gt;
  inflating: Readme                  &lt;br /&gt;
  inflating: rhdd                  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**the module you need is in modules.cgz&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zcat modules.cgz |cpio -ivd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**locate the module and copy it to &amp;lt;tt&amp;gt;$HERE/modules-old/$KERNEL/$ARCH/&amp;lt;/tt&amp;gt; &lt;br /&gt;
**the zip file also comes with a pci.ids file. you now have to compare the contents of this file with the 3ware section of the one in &amp;lt;tt&amp;gt;$HERE/initrd-old/modules/pci.ids&amp;lt;/tt&amp;gt;&lt;br /&gt;
***if fields are missing, add them&lt;br /&gt;
**XFS&lt;br /&gt;
**rename the xfs rpm to xfs.rpm (eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd $HERE&lt;br /&gt;
cp kmod-xfs-0.4-1.2.6.18_53.el5.centos.plus.x86_64.rpm xfs.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**then do&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd $HERE&lt;br /&gt;
mkdir xfs&lt;br /&gt;
cd xfs&lt;br /&gt;
rpm2cpio ../xfs.rpm |cpio -ivd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
**you know should have an xfs.ko file&lt;br /&gt;
**mind that when using centosplus, the kernel name that is used to compile this module is slightly different from the one in vmlinuz/initrd (it has .centos.plus added). This should not give any issues though&lt;br /&gt;
**copy this file to &amp;lt;tt&amp;gt;$HERE/modules-old/$KERNEL/$ARCH/&amp;lt;/tt&amp;gt; &lt;br /&gt;
*repack the modules&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd $HERE/modules-old&lt;br /&gt;
/bin/rm modules.cgz&lt;br /&gt;
find $KERNEL|cpio -ov -H crc|gzip -c9 &amp;gt; modules.cgz&lt;br /&gt;
/bin/rm $HERE/initrd-old/modules/modules.cgz&lt;br /&gt;
cp modules.cgz $HERE/initrd-old/modules/modules.cgz&lt;br /&gt;
cd $HERE/initrd-old&lt;br /&gt;
find . |cpio -o -H newc|gzip &amp;gt; ../initrd.img.new&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*the new initrd is now in &amp;lt;tt&amp;gt;$HERE/initrd.img.new&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TracNotice|{{PAGENAME}}}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>