# execute platform specific script [ -e $TARGETDIR/platforms/$PLATFORM/pre.inc.sh ] && . $TARGETDIR/platforms/$PLATFORM/pre.inc.sh [ "$PRODUCT_NAME" ] && \ MEDIA_NAME=`PLATFORM=$PRODUCT_NAME media_name` || MEDIA_NAME=`media_name` #if [ "$FORCE" = "1" -o ! -e "$LOCALSTATEDIR/$MEDIA_NAME" ]; then [ $MEDIA = "raw" ] && create_raw_filesystem $LOCALSTATEDIR/$MEDIA_NAME $MEDIA_SIZE 1024k $ROOTFS #create_livecd create_rpm_database create_devices create_fstab "$ROOTDEV" "$ROOTFS" install_rpms "filesystem gzip texinfo ldconfig bash libreadline glibc libncurses initscripts setup coreutils chkconfig libattr libstdc++6" "--nodeps --noorder --noscripts" # Workaround: avoid a circular dependency with bash INSTALLED="texinfo" #install_rpms_by_target \ # "Installing kernel..." mtd-base \ # "$NOARCHDIR/filesystem*" #if [ "$BUILDARCH" != "$ARCH" ]; then # NOSCRIPTARG="--noscripts" #fi if [ "$BUILDARCH" != "$ARCH" ]; then pre_qemu QEMU_COPIED_FOR_INST=1 fi install_rpms_by_target "Installing base packages for ${MAKEDIST_TARGET} target" ${MAKEDIST_TARGET}-base "--replacepkgs ${RPMEXTRAARGS} ${NOSCRIPTARG}" pre_install_rpms if [ ! "$KERNEL_IGNORE" ]; then install_kernel ${KERNEL_EXTRAVER}${KERNEL_PLATFORM} "${KERNEL_ADDITIONAL}" fi # set system hostname and domain [[ "$TARGET_HOSTNAME" ]] || TARGET_HOSTNAME="$MAKEDIST_TARGET" [[ "$TARGET_DOMAIN" ]] || TARGET_DOMAIN="localdomain" sed -i "s|HOSTNAME=.*|HOSTNAME=$TARGET_HOSTNAME|" $MOUNTDIR/etc/sysconfig/network sed -i "s|\(127\.0\.0\.1\W*\)\(.*\)|\1 $TARGET_HOSTNAME.$TARGET_DOMAIN $TARGET_HOSTNAME \2|" \ $MOUNTDIR/etc/hosts #install_rpms_by_target "Installing tools packages for ${MAKEDIST_TARGET} target" ${MAKEDIST_TARGET}-tools "" install_rpms_by_target "Installing ${PLATFORM} platform packages" ${MAKEDIST_TARGET}-${PLATFORM} "${RPMEXTRAARGS}" [ "$LANGUAGE" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for language $LANGUAGE" ${MAKEDIST_TARGET}-${PLATFORM}-${LANGUAGE} "${RPMEXTRAARGS}" [ "$ARCH" ] && install_rpms_by_target "Installing ${PLATFORM} platform localization packages for arch $ARCH" ${MAKEDIST_TARGET}-${PLATFORM}-${ARCH} "${RPMEXTRAARGS}" if [ ! "$KERNEL_IGNORE" ]; then update_modules_dependencies ${KERNEL_VER}${KERNEL_EXTRAVER} fi if [ "$APPLICATION_TARGET" ]; then for t in $APPLICATION_TARGET; do install_rpms_by_target "Installing $t application packages." "$t" "${RPMEXTRAARGS}" done fi if [ ${DEBUG:-0} -gt 0 ]; then install_rpms_by_target "Installing debugging packages." ${MAKEDIST_TARGET}-debug "${RPMEXTRAARGS}" cat > $MOUNTDIR/etc/sysconfig/network-devices/ifconfig.eth0 << _EOF IF=eth0 ONBOOT=yes ZONE=local BOOTPROTO=dhcp _EOF fi # erase_rpm_database clean_rpm_database [ "$LANGUAGE" ] && { [ "$LANGUAGE" = "en" ] && KEYMAP=us || KEYMAP="$LANGUAGE" # configure localization cat > $MOUNTDIR/etc/sysconfig/keyboard << _EOF KEYMAP=$KEYMAP.map XKB_LAYOUT=$KEYMAP XKB_MODEL=pc105 XKB_OPTIONS= _EOF [ "$COUNTRY" ] && { cat > $MOUNTDIR/etc/sysconfig/i18n << _EOF LANG=${LANGUAGE}_${COUNTRY}.UTF-8 _EOF } } echo "Deleting unneeded files..." # delete unused localizations # find $MOUNTDIR/usr/share/locale \ -maxdepth 1 -mindepth 1 -type d \ ! -name it* ! -name en* ! -name C ! -name l10n -exec rm -rf {} \; # cleanup: prevent generating a cleanfs script crash due to a unionfs bug rm -rf $MOUNTDIR/tmp/.ICE-unix #$CHROOTCMD chkconfig --add acpid || # { echo "$mkcd_me: fatal error, aborting installation" >&2 # { (exit 1); exit 1; }; } # configure extlinux boot loader #cat > $MOUNTDIR/boot/extlinux.conf << _EOF #DEFAULT $PLATFORM #LABEL $PLATFORM #KERNEL /boot/vmlinuz-${KERNEL_VER}${KERNEL_EXTRAVER} #APPEND video=vesafb:1280x1024-32 root=$ROOTDEV console=tty1 #resume2=swap:$SWAPDEV #_EOF if [ "$U_BOOT" ]; then echo "Copying u-boot Image for Kernel" #mkimage -A ppc -O linux -T kernel -C gzip -a 0x8000 -e 0x8000 \ # -n "$DISTRONAME 2.6" -d $MOUNTDIR/boot/vmlinuz-2.6.12 $DISTRONAME-$MAKEDIST_TARGET-uImage.bin fi # disable parport #sed -i "/parport_pc/d" $MOUNTDIR/etc/modprobe.conf # disable multithreaded init ? if [ ${MULTITHREAD:-0} -gt 0 ]; then sed -i "s|multithread=1|multithread=0|" $MOUNTDIR/etc/sysconfig/rc fi # blacklist buggy ehci_hcd #echo "blacklist ehci_hcd" > $MOUNTDIR/etc/modprobe.conf.d/ehci_hcd # set rootdev on extlinux [ -e $MOUNTDIR/boot/extlinux.conf ] && sed -i "s|\([^::alpha]root=\)[^ ]*|\1$ROOTDEV|" $MOUNTDIR/boot/extlinux.conf # execute platform specific script [ -e $TARGETDIR/platforms/$PLATFORM/post.inc.sh ] && . $TARGETDIR/platforms/$PLATFORM/post.inc.sh post_install_rpms [ "$QEMU_COPIED_FOR_INST" ] && post_qemu # copy static files for target [ -e $TARGETDIR/root ] && cp -a $TARGETDIR/root/* $MOUNTDIR/ # copy static files for specific platform [ -e $TARGETDIR/platforms/$PLATFORM/root -a "`ls $TARGETDIR/platforms/$PLATFORM/root/* 2>/dev/null`" ] && cp -a $TARGETDIR/platforms/$PLATFORM/root/* $MOUNTDIR/ # copy localized static files for specific platform [ "$LANGUAGE" -a -e $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE ] && cp -a $TARGETDIR/platforms/$PLATFORM/root-$LANGUAGE/* $MOUNTDIR/ produce_media