I 've recently seen many people on the internet struggle to make their own releases, so I took my notes and shared them with you.
Note: The Path/data/disk is the path of the CD. You can modify it according to your environment.
========================================================== ====================
Basic Process:
Customized RPM package
Modify comps. xml
Recompile comps. rpm
Regenerate hdlist
Create pkglist
Use buildinstall to process the installer
Use mkisofs to create an installation Image
------------------------------------------------
The Master System is centos4.3. To get the latest software, first upgrade your system-related software.
Rpm -- import http://mirror.be10.com/centos/4.3/ OS /i386/RPM-GPG-KEY-centos4
Rpm -- import/usr/share/doc/centos-release-4/RPM-GPG-KEY>/dev/null
Yum-y update
The following is a required package for creating and installing a cd
Yum install pump-devel gtk2-devel booty bogl-devel bogl-bterm elfutils-devel beecrypt-devel dietlibc
Yum install anaconda-runtime busybox-anaconda
========================================================== ============================================
Package Arch Version Repository Size
========================================================== ============================================
Installing:
Anaconda i386 10.1.1.37-1. centos4.2 base 4.3 M
Anaconda-runtime i386 10.1.1.37-1. centos4.2 base 526 k
Busybox-anaconda i386 1.00.rc1-5 base 177 k
Installing for dependencies:
Anaconda-help noarch 10.1.0-1. centos4 base 800 k
Bogl i386 0.1.18-4 base 93 k
Booty i386 0.44.3-1 base 85 k
Pyparted i386 1.6.8-2 base 22 k
Check RPM package dependency
Cd/data/disk/EServer/RPMS
Mkdir/tmp/testdb
Rpm -- initdb -- dbpath/tmp/testdb
Rpm -- test -- dbpath/tmp/testdb-Uvh *. rpm
The procedure is as follows:
1. Set python system environment variables
Export PYTHONPATH =/usr/lib/anaconda
Export PATH = "$ PATH:/usr/lib/anaconda-runtime"
2. Update the file tree of the CD
Genhdlist -- productpath = EServer/data/disk
3. Generate the pkgfile file required for the next step.
Pkgorder -- product EServer/data/disk/EServer>/data/pkgfile
4. compile and generate the CD boot file and image installation interface Image
Buildinstall -- pkgorder/data/pkgfile \
-- Version "1.2 "\
-- Product "EServer "\
-- Release "Beta "\
-- Prodpath EServer/data/disk
5. Create ISO
Mkisofs-r-T-J-V "EServer 1.2"-B isolinux/isolinux. bin \
-C isolinux/boot. cat-no-emul-boot-load-size 4 \
-Boot-info-table-x "lost + found "\
-O/data/EServer. iso/data/disk
The file isolinux/boot. cat will be generated later by the mkisofs Program
----------------------------------------------------
Generate md5 verification value for the CD
Implantisomd5/data/EServer. iso
Inserting md5sum into iso image...
Md5 = b49c693f83c23d7e746dfe0f81a56016
Setting supported flag to 0
To change the graphic interface to a personalized interface, you need to modify stage2.img (CD boot image. If the hard disk is installed, You need to modify other imgfiles ......)
Note:
Anaconda resource modification:
Mkdir/data/anaconda
Mount-o loop/data/disk/EServer/base/stage2.img/data/anaconda
Cd/data/anaconda
Tar-cvf/data/stage2.tar.
Mkdir/data/stage2
Cd/data/stage2
Tar-xvf/data/stage2.tar
Chmod + w-R ../stage2
# ----------- Modify a resource -----------------#
.....
....
# Repackaging an img Image
Cd/data
Mkcramfs stage2/stage2.img. new
Cp/data/stage2.img. new/data/disk/EServer/base/stage2.img
Disk startup screen modification:
Yum-y install syslinux
The graphic is in a somewhat odd format, called LSS16. As the name indicates, it is limited to 16 colors. To edit the graphic, first convert it to a PPM:
Lss16toppm <splash. lss> splash. ppm
Next, edit the file using The Gimp. save the resulting file as an indexed gif with no more than 14 colors (plus black and white, for a total of 16 ). then, convert the file to a pnm/ppm:
Giftopnm <splash.gif | ppmtolss16> splash. lss
Cp splash. lss/data/disk/isolinux/splash. lss
Yum install gcc xorg-x11-devel.
Compiled by gif2lss-0.4.tar.gz
Make sure that the following packages are in the rpm directory of the CD. These packages are required for graphic creation. Without them, buildinstall will report an error.
Anaconda
Anaconda-runtime
Anaconda-help
Anaconda-product
Busybox
Busybox-anaconda
Memtest86 +
Fonts-xorg-base
Xorg-x11
Joe
Kernel *
Note:
Rpm-qpi # displays rpm package information
Rpm-Uvh # Install the rpm package
Rpm-qpl # column files in the rpm package
: Em18:
The above steps are post-practice notes, so they are generally successful. There are still some details, such as the modification and syntax of comps. xml.