Hi!
I was trying to build a customized CentOS 5 with all the update rpms integrated, on a CentOS 5 box. I have installed anaconda, anaconda-runtime, bogl, booty, netpbm, netpbm-progs and mkisofs in the building box. The CentOS 5 installation of the building box is fully updated.
The following is what I did:
1) Create repo data # createrepo -g comps.xml -c /tmp /centos/5-respin/os/i386/CentOS
Repo data was generated all right.
2) buildinstall
# /usr/lib/anaconda-runtime/buildinstall --pkgorder os/i386/pkgorder.txt \ --version 5 --product CentOS --release CentOS-5-respin \ --prodpath CentOS /centos/5-respin/os/i386 >/tmp/buildinstall.err 2>&1
Here's the output of buildinstall:
Running buildinstall... /centos/5-respin/os/i386/buildinstall.tree.4822 /centos/5-respin /centos/5-respin Building images... Assembling package list... Expanding text packages... Expanding graphical packages... retrieving timezones Creating nsswitch.conf Creating libuser.conf Fixing up /etc/man.config to point into /mnt/sysimage Running mkfontdir... Creating SELinux policy... Getting pango modules Getting gtk2 input method modules Getting gtk2 gdk-pixbuf loaders Scrubbing trees... /tmp/treedir.4822/image-template ARCH=x86_64 BASH=/bin/bash BASH_ARGC=([0]="1") BASH_ARGV=([0]="/tmp/treedir.4822/image-template") BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/tmp/treedir.4822/image-template/usr/lib/anaconda-runtime/scrubtree") BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu") BASH_VERSION='3.1.17(1)-release' COLORTERM=gnome-terminal CVS_RSH=ssh DEBUG= DIRSTACK=() DISPLAY=localhost:11.0 EUID=0 GROUPS=() G_BROKEN_FILENAMES=1 HOME=/root HOSTNAME=centos5-64.in.linx HOSTTYPE=x86_64 IFS=$' \t\n' KDEDIR=/usr KDE_IS_PRELINKED=1 KDE_NO_IPV6=1 LANG=zh_CN.UTF-8 LESSOPEN='|/usr/bin/lesspipe.sh %s' LIBDIR=lib64 LOGNAME=root LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35:' MACHTYPE=x86_64-redhat-linux-gnu MAIL=/var/mail/root OLDPWD=/centos/5-respin OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PIPESTATUS=([0]="0") PPID=4834 PS4='+ ' PWD=/tmp/treedir.4822/image-template/usr/bin PYTHONPATH=/usr/lib/anaconda SHELL=/bin/bash SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=5 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_AUTH_SOCK=/tmp/ssh-vfqlfC2592/agent.2592 SSH_CLIENT='172.16.0.102 47665 22' SSH_CONNECTION='172.16.0.102 47665 172.16.0.14 22' STRIP=strip TERM=xterm UID=0 USER=root WINDOWID=52428884 _=/tmp/treedir.4822/image-template/usr/bin p=/tmp/treedir.4822/image-template Scrubbing trees... /tmp/treedir.4822/instimage ARCH=x86_64 BASH=/bin/bash BASH_ARGC=([0]="1") BASH_ARGV=([0]="/tmp/treedir.4822/instimage") BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/scrubtree") BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="1" [4]="release" [5]="x86_64-redhat-linux-gnu") BASH_VERSION='3.1.17(1)-release' COLORTERM=gnome-terminal CVS_RSH=ssh DEBUG= DIRSTACK=() DISPLAY=localhost:11.0 EUID=0 GROUPS=() G_BROKEN_FILENAMES=1 HOME=/root HOSTNAME=centos5-64.in.linx HOSTTYPE=x86_64 IFS=$' \t\n' KDEDIR=/usr KDE_IS_PRELINKED=1 KDE_NO_IPV6=1 LANG=zh_CN.UTF-8 LESSOPEN='|/usr/bin/lesspipe.sh %s' LIBDIR=lib64 LOGNAME=root LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35:' MACHTYPE=x86_64-redhat-linux-gnu MAIL=/var/mail/root OLDPWD=/centos/5-respin OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PIPESTATUS=([0]="0") PPID=4834 PS4='+ ' PWD=/tmp/treedir.4822/instimage/usr/bin PYTHONPATH=/usr/lib/anaconda SHELL=/bin/bash SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=5 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_AUTH_SOCK=/tmp/ssh-vfqlfC2592/agent.2592 SSH_CLIENT='172.16.0.102 47665 22' SSH_CONNECTION='172.16.0.102 47665 172.16.0.14 22' STRIP=strip TERM=xterm UID=0 USER=root WINDOWID=52428884 _=/tmp/treedir.4822/instimage/usr/bin p=/tmp/treedir.4822/instimage Compressing .mo files in stage2 images... Creating fontconfig cache Creating debug dir Patching python library... /centos/5-respin Cleaning ramdisk install images... Creating repository metadata... Error: groupfile /centos/5-respin/os/i386/CentOS/base/comps.xml cannot be found.
createrepo [options] directory-of-packages
Options: -u, --baseurl <url> = optional base url location for all files -o, --outputdir <dir> = optional directory to output to -x, --exclude = files globs to exclude, can be specified multiple times -q, --quiet = run quietly -g, --groupfile <filename> to point to for group information (precreated) (<filename> relative to directory-of-packages) -v, --verbose = run verbosely -c, --cachedir <dir> = specify which dir to use for the checksum cache -U, --update-info-location <url> = acquire package update metadata -h, --help = show this help -V, --version = output version -p, --pretty = output xml files in pretty format.
Getting package order... PYTHONPATH=/tmp/treedir.4822/instimage/usr/lib/anaconda /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/pkgorder /centos/5-respin/os/i386 i386 CentOS Traceback (most recent call last): File "/tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/pkgorder", line 33, in ? from yuminstall import YumSorter File "/tmp/treedir.4822/instimage/usr/lib/anaconda/yuminstall.py", line 29, in ? from packages import recreateInitrd File "/tmp/treedir.4822/instimage/usr/lib/anaconda/packages.py", line 19, in ? import iutil File "/tmp/treedir.4822/instimage/usr/lib/anaconda/iutil.py", line 16, in ? import os, isys, string, stat File "/tmp/treedir.4822/instimage/usr/lib/anaconda/isys.py", line 18, in ? import _isys ImportError: /tmp/treedir.4822/instimage/usr/lib/anaconda/_isys.so: wrong ELF class: ELFCLASS32 Making images... Found keymap override, using it cannot find package kernel in path /centos/5-respin/os/i386/CentOS No i586 kernel, trying i686... unpacking /centos/5-respin/os/i386/CentOS/kernel-2.6.18-8.1.15.el5.i686.rpm.i686 Building initrd.img /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 261: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 261: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 247: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/moddeps: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 247: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/moddeps: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 314: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory Wrote /tmp/makebootdisk.initrdimage.16060 (2468k compressed) Building isolinux directory mkdir: cannot create directory `/centos/5-respin/os/i386/isolinux': File exists 192000 pixels, 68078 bytes, (29.09% compression) mkdosfs 2.11 (12 Mar 2005) /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images.x86: line 104: /tmp/treedir.4822/instimage/usr/lib/syslinux/syslinux-nomtools: No such file or directory unpacking /centos/5-respin/os/i386/CentOS/kernel-xen-2.6.18-8.1.15.el5.i686.rpm.i686 Building i686 guest initrd.img /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 261: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 261: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 247: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/moddeps: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 247: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/moddeps: No such file or directory /centos/5-respin/os/i386/buildinstall.tree.4822/mk-images: line 314: /tmp/treedir.4822/instimage/usr/lib/anaconda-runtime/modlist: No such file or directory Wrote /tmp/makebootdisk.initrdimage.16060 (2464k compressed) Building minstg.img Running mksquashfs /tmp/instimage.dir.16060 /tmp/minstg2.img -all-root -no-fragments Creating little endian 3.0 filesystem on /tmp/minstg2.img.16060, block size 65536.
Little endian filesystem, data block size 65536, compressed data, compressed metadata, no fragments Filesystem size 31412.76 Kbytes (30.68 Mbytes) 23.25% of uncompressed filesystem size (135115.62 Kbytes) Inode table size 63765 bytes (62.27 Kbytes) 32.46% of uncompressed inode table size (196455 bytes) Directory table size 55988 bytes (54.68 Kbytes) 35.24% of uncompressed directory table size (158895 bytes) Number of duplicate files found 38 Number of inodes 5583 Number of files 3742 Number of symbolic links 831 Number of device nodes 0 Number of fifo nodes 0 Number of socket nodes 0 Number of directories 1010 Number of uids 1 root (0) Number of gids 0 Wrote /centos/5-respin/os/i386/images/minstg2.img (31416k)... Building stage2.img Running mksquashfs /tmp/treedir.4822/instimage /tmp/instimage.img.16060 -all-root -no-fragments Creating little endian 3.0 filesystem on /tmp/instimage.img.16060, block size 65536.
Little endian filesystem, data block size 65536, compressed data, compressed metadata, no fragments Filesystem size 85468.17 Kbytes (83.47 Mbytes) 36.42% of uncompressed filesystem size (234681.76 Kbytes) Inode table size 92126 bytes (89.97 Kbytes) 32.88% of uncompressed inode table size (280210 bytes) Directory table size 72823 bytes (71.12 Kbytes) 46.30% of uncompressed directory table size (157287 bytes) Number of duplicate files found 87 Number of inodes 7743 Number of files 4819 Number of symbolic links 2336 Number of device nodes 0 Number of fifo nodes 0 Number of socket nodes 0 Number of directories 588 Number of uids 1 root (0) Number of gids 0 Wrote /centos/5-respin/os/i386/images/stage2.img (85472k) Writing .discinfo file timestamp not specified; using the current time
I have four questions: 1) why createrepo is called by buildinstall? Do I need to run createrepo seperately? 2) why buildinstall is still looking for comps.xml in the CentOS/base directory? 3) why is the pkgorder error? 4) why buildinstall is complaining that cannot find modlist and moddeps?
Here's the images generated:
-rw-r--r-- 1 root root 4.7M 11-20 11:39 boot.iso -rw-r--r-- 1 root root 12M 11-20 11:39 diskboot.img -rw-r--r-- 1 root root 31M 11-20 11:40 minstg2.img drwxr-xr-x 2 root root 4.0K 11-20 11:39 pxeboot -rw-r--r-- 1 root root 650 11-20 11:39 README -rw-r--r-- 1 root root 84M 11-20 11:41 stage2.img drwxr-xr-x 2 root root 4.0K 11-20 11:39 xen
The sizes of the images are OK execpt the boot.iso, as the size of the official one is 7M.
Thank you!