dhongqian wrote:
Hello,everyone: I'm sorry that "/data/OWLinux" is my written mistake.
Now It can find the cd, but the cd does not match my boot media.
" No CentOS CD was found which matches your boot media. Please insert the CentOS CD and press OK to retry".
Why? My discinfo is :
1200551587.126943 CentOS-4 i386 1,2,3 CentOS/base CentOS/RPMS CentOS/pixmaps
the original discinfo is :
CentOS-4 i386 i386 1,2,3 CentOS/base CentOS/RPMS CentOS/pixmaps
the discinfo is generate by the buildinstall.
My step is that:
genhdlist --productpath=CentOS /data/centos
pkgorder --product CentOS /data/centos/ CentOS > /data/pkgfile
buildinstall --pkgorder /data/pkgfile \ --version "4" \ --product "CentOS" \ --release "CentOS-4" \ --prodpath CentOS /data/centos
2008-01-17
dhongqian
When you use buildinstall, you are creating a new distro spin. You should get a new set of install images generated (in the /images directory) and a new boot.iso. You can not use the old boot.iso or images directory (from the CentOS tree) anymore as the time stamps are different.
The reason is that the initrd images (on all the CDs, the boot.iso CD, the pxeinstall dir, the pen drive .img file, etc.) and the .discinfo files on the CDs must all contain the same timestamp, and a new one is generated when you run buildinstall.
1200551587.126943 is the timestamp on the one that you posted, the one for centos-4.6 is 1195488871.805863 (that is the i386 version, each arch has it's own timestamp when buildinstall was run). I am not sure all the places this is checked for inside the install initrd image by anaconda.
I do not easily see a way to pass in a timestamp to buildinstall, here is all the documentation I can find about it:
http://fedoraproject.org/wiki/Anaconda/BuildInstall
It is possible to edit the initrd.img file (and the boot.iso) to contain a different timestamp, though I have personally never done this. Google knows how :D
Also, here is the script that is in use by CentOS to build CentOS-4 from the tree (this one was when the CentOS version was 4.3, but it is the same:
http://mirror.centos.org/centos/4/build/distro/build.sh.txt
Regardless, this is not easy to do. It is even harder if you want the items you produce to also still use other CentOS install media that already exist. Unless you REALLY need to have your programs on the CD, the best bet is to use the normal CentOS CDs and create a separate repo and use yum to install your programs after the fact.
Thanks, Johnny Hughes
发件人: Matt Hyclak 发送时间: 2008-01-16 23:14:22 收件人: The CentOS developers mailing list. 抄送: 主题: Re: [CentOS-devel] how to update install CD ?
On Wed, Jan 16, 2008 at 02:54:30PM +0000, James Pearson enlightened us:
I want to add new rpm into install cd .
I have searched the answer on the net and done it like what they have said. But when I use the cd I made to install OS, It told me that " The CentOS-4 i386 CD was not found in any of your CDROM drivers. Please insert the CentOS-4 i386 cd and press OK to retry". I don't know why. Could anyone help ?
The following is the step : pkgorder --product CentOS /data/CentOS/ CentOS > /data/pkgfile genhdlist --productpath=CentOS /data/OWLinux pkgorder --product CentOS /data/CentOS/ CentOS > /data/pkgfile
buildinstall --pkgorder /data/pkgfile \ --version "4" \ --product "CentOS" \ --release "1" \ --prodpath CentOS /data/OWLinux
mkisofs -J -R -v -T -o ./CentOS.iso -V CentOS-4 -b \ isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table ./CentOS/
In the above commands you are using /data/CentOS for the pkgorder and genhdlist, and /data/OWLinux with buildinstall - so you might not actually be making a CD of install you've just created ...
Are there any errors from the buildinstall process?
Also, I'm not sure why you are running pkgorder twice - I re-build the installer by running genhdlist, pkgorder and then genhdlist again with the output from pkgorder before running buildinstall
Most likely you are missing the .discinfo file. Matt