#!/bin/bash # $Id: make_isolinux,v 1.15 2009-01-31 00:05:47 tim Exp $ if [ $# -ne 1 ]; then echo "You must supply the kernel image" exit 1 fi SRC_DIR=tmp-build1 INITRD_DIR=tmp-build2 KERNEL=$1 #atl2-modules for eeepc REQUIRED_PKGS="linux-image-${KERNEL} aufs-modules-${KERNEL} atl2-modules-${KERNEL} syslinux dash" trim_lead_slash() { slash=/ echo ${1/#$slash/} } copyfile() { mkdir -p ${INITRD_DIR}/$( dirname ${1} ) cp -p ${SRC_DIR}/${1} ${INITRD_DIR}/${1} } rm -fr ${SRC_DIR} ${INITRD_DIR} rm -fr isolinux #Initialize the directory for installing a kernel mkdir ${SRC_DIR} cd ${SRC_DIR} restore -r -f ../install.dmp cd .. cp -dpR aptmirror/debian ${SRC_DIR}/debian echo "deb file:/debian stable main" >${SRC_DIR}/etc/apt/sources.list echo "deb file:/debian stable/updates main" >>${SRC_DIR}/etc/apt/sources.list #Install a kernel and syslinux #setup kernel-img.conf cat >${SRC_DIR}/etc/kernel-img.conf <${SRC_DIR}/etc/fstab < ramdisk / tempfs defaults 0 0 none /proc proc defaults 0 0 EOF #Needed for dash install mknod ${SRC_DIR}/dev/null c 1 3 chroot ${SRC_DIR} /bin/bash </tmp/modules.$$.mk make -f /tmp/modules.$$.mk $MODULES rm -f /tmp/modules.$$.mk #Finally calculate a modules.dep depmod -a -F ${SRC_DIR}/boot/System.map-${kernelver} -C ${INITRD_DIR}/etc/modules.conf -b ${INITRD_DIR} ${kernelver} #Create /etc/udev cp -dpR ${SRC_DIR}/etc/udev/ ${INITRD_DIR}/etc/udev #set up our ld.so stuff cp /sbin/ldconfig ${INITRD_DIR}/sbin chroot ${INITRD_DIR} /sbin/ldconfig rm ${INITRD_DIR}/sbin/ldconfig cp serial ${INITRD_DIR}/serial (cd "${INITRD_DIR}" && find . | cpio --quiet --dereference -o -H newc | gzip -9 >"../isolinux/initrd") || exit 1 rm -fr ${INITRD_DIR} rm -fr ${SRC_DIR} exit 0