Centos4.3-based production of linux releases

Source: Internet
Author: User

 

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.