comments about the following while i finish the rest of it? **** Overview This is a quick and dirty guide for how to create your own customized Red Hat-based distro starting with Red Hat 8.0 as a template. **** Preliminaries Before you start, issues to consider: 1) Verify that the anaconda-runtime RPM is installed, which supplies commands like genhdlist, buildinstall, splitdistro and so on, that you'll be running. 2) For convenience, you might extend your search path to save typing: # PATH=$PATH:/usr/lib/anaconda-runtime 3) If you don't want to create a complete distro, you might not want to add the SRPMS, just the RPMS. 4) Do all of this as root, since you will have to mount filesystems. **** The initial structure: Assuming you're doing this on an i386 architecture, build the entire install directory structure under a directory name of your choice, in an "i386" subdirectory. For this exercise, we'll use /mydistro/i386. (Yes, a later step really does require a subdirectory whose name is "i386".) Start with the initial build structure in this directory (some of which is clearly optional, depending on how complete you want to be): autorun dosutils/ images/ isolinux/ RedHat/ RPMS/ [all RPMS you want to include] base/ comps.xml comps.rpm {EULA,GPL,README*,RELEASE-NOTES*} Note that, unless you want to explicitly include the SRPMS, you can leave out that entire directory structure, but this will require you to run a modified version of the "splitdistro" utility later. Note also that all of the other (original) files under the RedHat/base directory (hdlist, hdlist2, *.img) will be rebuilt anyway, so there's no need to make copies of them if you don't want to waste the time or space. (In fact, most of the *.img floppy boot images in the images/ directory will be rebuilt as well, just in case you cared.) **** Replace the RPMs Add, delete, replace RPMs under RedHat/RPMS. **** Branding your distribution As it stands, if you modify the stock Red Hat distro, it's probably a good idea to brand it with a name other than "Red Hat". Once you pick a cool, new name, you can rebrand by installing the anaconda src RPM, hacking the source, changing all references to "Red Hat" to your new name, rebuilding that RPM, and replacing the stock anaconda RPM with it. Details to follow at the end for the more ambitious. (Is the above reasonably accurate?) **** Generate a new header list The files RedHat/base/{hdlist,hdlist2} contain information about all of the RPMs, information like dependencies and mapping from package names to file names. To (re)build these files based on your new collection of RPMs: # genhdlist /mydistro/i386 **** Update comps.xml Because this file is now an XML file, updating it to reflect your new collection of RPMs is a bit more work than it used to be when it was just a text file in earlier releases. Once again, let me leave this to the end. We'll just assume you've updated it properly to reflect your new collection of RPMs and their component groupings. **** Rebuilding the installer Run the "buildinstall" utility, which will rebuild a number of the images/*.img floppy images, as well as RedHat/base/ {hdstg1,netstg1,stage2}.img. # buildinstall \ --pkgorder /mydistro/i386/pkgorder.txt \ --comp dist-8.0 \ --version 8.0 \ --release "My cool new distro" \ /mydistro/i386 It will also build a few other files that are needed in subsequent steps. QUESTION: This step generated all kinds of warnings, some of which I'm not sure are serious or not. Given that I'm just testing a build with the stock files and directories, I would assume that this should build nicely, so I'm assuming that all of these warnings are not serious. (I can supply the entire 560-line output file if anyone feels *really* ambitious. :-) A small sample that I extracted from the output of this step (should I be concerned about any of these?) Expanding packages... Expanding packages... util-linux-2.11r-10.i386.rpmwarning: /mydistro/i386/RedHat/RPMS/util-linux-2.11r-10.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Expanding packages... Expanding packages... vte-0.8.19-1.i386.rpmwarning: /mydistro/i386/RedHat/RPMS/vte-0.8.19-1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Expanding packages... Expanding packages... retrieving timezones Moving comps-extras pixmaps to where anaconda expects them Running mkfontdir... /usr/X11R6/bin/mkfontdir: failed to create directory in /mydistro/i386/RedHat/instimage/usr/share/fonts/ISO8859-2/* Getting pango modules /usr/bin/pango-querymodules: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory Getting gtk2 input method modules /usr/bin/gtk-query-immodules-2.0: error while loading shared libraries: libXi.so.6: cannot open shared object file: No such file or directory Munging fonts.confScrubbing trees...Scrubbing trees... /mydistro/i386/image-templateusr/sbin/ldconfig: /usr/lib/libnewt.so.0.51 is not a symbolic link usr/sbin/ldconfig: /usr/lib/libbz2.so.1 is not a symbolic link Scrubbing trees... Scrubbing trees... /mydistro/i386/RedHat/instimageusr/sbin/ldconfig: /usr/lib/libnewt.so.0.51 is not a symbolic link usr/sbin/ldconfig: /usr/lib/libbz2.so.1 is not a symbolic link Scrubbing trees... Compressing .mo files in stage2 images... Creating fontconfig cache /usr/bin/fc-cache: "/usr/X11R6/lib/X11/fonts/Type1": caching, 29 fonts, 0 dirs Loading /lib/kbd/keymaps/i386/qwertz/slovene.map.gz found 9 valid keymaps creating keymap file /tmp/keymaps.28460/slovene.map Loading /lib/kbd/keymaps/i386/qwerty/speakup.map.gz KDSKBENT: Invalid argument failed to bind key 55 to value 1030 found 10 valid keymaps creating keymap file /tmp/keymaps.28460/speakup.map Loading /lib/kbd/keymaps/i386/qwerty/speakup-lt.map.gz KDSKBENT: Invalid argument failed to bind key 55 to value 1030 found 10 valid keymaps creating keymap file /tmp/keymaps.28460/speakup-lt.map Loading /lib/kbd/keymaps/i386/qwerty/trq.map.gz found 10 valid keymaps creating keymap file /tmp/keymaps.28460/trq.map Loading /lib/kbd/keymaps/i386/qwerty/ua.map.gz found 37 valid keymaps creating keymap file /tmp/keymaps.28460/ua.map Loading /lib/kbd/keymaps/i386/qwerty/uk.map.gz found 9 valid keymaps creating keymap file /tmp/keymaps.28460/uk.map Loading /lib/kbd/keymaps/i386/qwerty/us.map.gz found 9 valid keymaps creating keymap file /tmp/keymaps.28460/us.map Loading /lib/kbd/keymaps/i386/qwerty/us-acentos.map.gz found 9 valid keymaps creating keymap file /tmp/keymaps.28460/us-acentos.map Loading /lib/kbd/keymaps/i386/qwerty/us.map.gz warning: /mydistro/i386/RedHat/RPMS/kernel-BOOT-2.4.18-14.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e warning: /mydistro/i386/RedHat/RPMS/kernel-pcmcia-cs-3.1.31-9.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e warning: /mydistro/i386/RedHat/RPMS/kernel-BOOT-2.4.18-14.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e unpacking /mydistro/i386/RedHat/RPMS/kernel-BOOT-2.4.18-14.i386.rpm Building dosutils/autoboot/initrd.img Module hid not found in kernel rpm Module keybdev not found in kernel rpm Module usb-ohci not found in kernel rpm Module usb-uhci not found in kernel rpm Module vfat not found in kernel rpm install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/x/xterm-color': No such file or directory install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/v/vt100': No such file or directory 16000+0 records in 16000+0 records out mke2fs 1.27 (8-Mar-2002) Wrote /tmp/makebootdisk.tree.28438 (510k compressed, 1515k free) Building images/pxeboot/initrd.img Module hid not found in kernel rpm Module keybdev not found in kernel rpm Module usb-ohci not found in kernel rpm Module usb-uhci not found in kernel rpm Module vfat not found in kernel rpm install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/x/xterm-color': No such file or directory install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/v/vt100': No such file or directory 16000+0 records in 16000+0 records out mke2fs 1.27 (8-Mar-2002) Wrote /tmp/makebootdisk.tree.28438 (543k compressed, 1472k free) Building images/initrd-pcmcia.img Module hid not found in kernel rpm Module keybdev not found in kernel rpm Module usb-ohci not found in kernel rpm Module usb-uhci not found in kernel rpm Module vfat not found in kernel rpm install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/x/xterm-color': No such file or directory install: cannot stat `/mydistro/i386/RedHat/instimage/usr/share/terminfo/v/vt100': No such file or directory 16000+0 records in 16000+0 records out mke2fs 1.27 (8-Mar-2002) Wrote /tmp/makebootdisk.tree.28438 (520k compressed, 1392k free) rday