- done
- set -e
-
- echo "removing unneccessary build files"
- (cd $CD_ROOT/lib/modules && \
- find ./ -type d -name build -maxdepth 2 -exec rm -rf {} \;)
-
- echo "setting up non-ssh authentication"
- mkdir -p $CD_ROOT/etc/samba
- /usr/sbin/chroot $CD_ROOT /usr/sbin/authconfig --nostart --kickstart \
- --enablemd5 --enableshadow
-
- echo "setting root password"
- sed -i "s#root::#root:$ROOT_PASSWORD:#g" $CD_ROOT/etc/shadow
-
- echo "relocate some large directories out of the root system"
- # get /var/lib/rpm out, its 12mb. create in its place a
- # symbolic link to /usr/relocated/var/lib/rpm
- mkdir -p $CD_ROOT/usr/relocated/var/lib/
- mv $CD_ROOT/var/lib/rpm $CD_ROOT/usr/relocated/var/lib/
- (cd $CD_ROOT/var/lib && ln -s ../../usr/relocated/var/lib/rpm rpm)
-
- # get /var/cache/yum out, its 100Mb. create in its place a
- # symbolic link to /usr/relocated/var/cache/yum
- mkdir -p $CD_ROOT/usr/relocated/var/cache/
- mv $CD_ROOT/var/cache/yum $CD_ROOT/usr/relocated/var/cache/
- (cd $CD_ROOT/var/cache && ln -s ../../usr/relocated/var/cache/yum yum)
-
- # get /lib/tls out
- mkdir -p $CD_ROOT/usr/relocated/lib
- mv $CD_ROOT/lib/tls $CD_ROOT/usr/relocated/lib/
- (cd $CD_ROOT/lib && ln -s ../usr/relocated/lib/tls tls)
-
- echo "extracting syslinux, copying isolinux files to cd"
- mkdir -p $CD_ROOT/usr/isolinux/
- mkdir -p $BUILD_DIR/syslinux
- tar -C $BUILD_DIR/syslinux -xjvf $SYSLINUX_SRC
- find $BUILD_DIR/syslinux -name isolinux.bin \
- -exec cp -f {} $CD_ROOT/usr/isolinux/ \;
-
- echo "moving kernel to isolinux directory"
- KERNEL=$CD_ROOT/boot/vmlinuz-*
- mv -f $KERNEL $CD_ROOT/usr/isolinux/kernel
-
- echo "moving /usr/bin/find and /usr/bin/dirname to /bin"
- mv $CD_ROOT/usr/bin/find $CD_ROOT/bin/
- mv $CD_ROOT/usr/bin/dirname $CD_ROOT/bin/
-
- echo "creating version files"
- echo "$FULL_VERSION_STRING" > $CD_ROOT/usr/isolinux/pl_version
- echo "$FULL_VERSION_STRING" > $CD_ROOT/pl_version
-
- touch $CD_ROOT/.built
-}
-
-function init_initrd()
-{
- echo "initialize configuration files"
-
- echo "copy fstab and mtab"
- cp -f $CONF_FILES_DIR/fstab $CD_ROOT/etc/
- cp -f $CONF_FILES_DIR/mtab $CD_ROOT/etc/
-
- echo "installing generic modprobe.conf"
- cp -f $CONF_FILES_DIR/modprobe.conf $CD_ROOT/etc/
-
- echo "installing our own inittab and init scripts"
- cp -f $CONF_FILES_DIR/inittab $CD_ROOT/etc
- init_scripts="pl_sysinit pl_hwinit pl_netinit pl_validateconf pl_boot"
- for script in $init_scripts; do
- cp -f $CONF_FILES_DIR/$script $CD_ROOT/etc/init.d/
- chmod +x $CD_ROOT/etc/init.d/$script
- done
-
- echo "setup basic networking files"
- cp -f $CONF_FILES_DIR/hosts $CD_ROOT/etc/
-
- echo "copying sysctl.conf (fix tcp window scaling and broken routers)"
- cp -f $CONF_FILES_DIR/sysctl.conf $CD_ROOT/etc/
-
- echo "setup default network conf file"
- mkdir -p $CD_ROOT/usr/boot
- cp -f $CONF_FILES_DIR/default-net.cnf $CD_ROOT/usr/boot/
-
- echo "setup boot server configuration"
- cp -f $CURRENT_CONFIG_DIR/$PRIMARY_SERVER_CERT $CD_ROOT/usr/boot/cacert.pem
- cp -f $CURRENT_CONFIG_DIR/$PRIMARY_SERVER_GPG $CD_ROOT/usr/boot/pubring.gpg
- echo "$PRIMARY_SERVER" > $CD_ROOT/usr/boot/boot_server
- echo "$PRIMARY_SERVER_PORT" > $CD_ROOT/usr/boot/boot_server_port
- echo "$PRIMARY_SERVER_PATH" > $CD_ROOT/usr/boot/boot_server_path
-
- echo "setup backup boot server configuration"
- mkdir -p $CD_ROOT/usr/boot/backup
- cp -f $CURRENT_CONFIG_DIR/$BACKUP_SERVER_CERT \
- $CD_ROOT/usr/boot/backup/cacert.pem
- cp -f $CURRENT_CONFIG_DIR/$BACKUP_SERVER_GPG \
- $CD_ROOT/usr/boot/backup/pubring.gpg
- echo "$BACKUP_SERVER" > $CD_ROOT/usr/boot/backup/boot_server
- echo "$BACKUP_SERVER_PORT" > $CD_ROOT/usr/boot/backup/boot_server_port
- echo "$BACKUP_SERVER_PATH" > $CD_ROOT/usr/boot/backup/boot_server_path
-
- echo "copying old boot cd directory bootme (TEMPORARY)"
- cp -r bootme_old $CD_ROOT/usr/bootme
- echo "$FULL_VERSION_STRING" > $CD_ROOT/usr/bootme/ID
- echo "$PRIMARY_SERVER" > $CD_ROOT/usr/bootme/BOOTSERVER
- echo "$PRIMARY_SERVER" > $CD_ROOT/usr/bootme/BOOTSERVER_IP
- echo "$PRIMARY_SERVER_PORT" > $CD_ROOT/usr/bootme/BOOTPORT
-
- echo "copying cacert to old boot cd directory bootme (TEMPORARY)"
- mkdir -p $CD_ROOT/usr/bootme/cacert/$PRIMARY_SERVER/
- cp -f $CURRENT_CONFIG_DIR/$PRIMARY_SERVER_CERT \
- $CD_ROOT/usr/bootme/cacert/$PRIMARY_SERVER/cacert.pem
-
- echo "forcing lvm to make lvm1 partitions (TEMPORARY)"
- cp -f $CONF_FILES_DIR/lvm.conf $CD_ROOT/etc/lvm/
-
- echo "copying isolinux configuration files"
- echo "$FULL_VERSION_STRING" > $CD_ROOT/usr/isolinux/message.txt
-
- echo "writing /etc/issue"
- echo "$FULL_VERSION_STRING" > $CD_ROOT/etc/issue
- echo "Kernel \r on an \m" >> $CD_ROOT/etc/issue
- echo "" >> $CD_ROOT/etc/issue
- echo "" >> $CD_ROOT/etc/issue
-
- if [[ ! -z "$NODE_CONFIGURATION_FILE" ]]; then
- echo "Copying node configuration file to cd"
- cp -f $CURRENT_CONFIG_DIR/$NODE_CONFIGURATION_FILE \
- $CD_ROOT/usr/boot/plnode.txt
- fi
-
- echo "building pcitable for hardware detection"
- pci_map_file=`find $CD_ROOT/lib/modules/ -name modules.pcimap | head -1`
- module_dep_file=`find $CD_ROOT/lib/modules/ -name modules.dep | head -1`
- pci_table=$CD_ROOT/usr/share/hwdata/pcitable
- $BOOTMANAGER_DIR/source/merge_hw_tables.py \
- $module_dep_file $pci_map_file $pci_table $CD_ROOT/etc/pl_pcitable