Index: kernel-src/initrd-2.4.26/buildk --- kernel-src/initrd-2.4.26/buildk +++ kernel-src/initrd-2.4.26/buildk @@ -110,6 +110,7 @@ MKNBI=mknbi-linux KERNEL_OUTPUT=vmlinuz-${KERNEL_VER} +KERNEL_OUTPUT_SPLASH=vmlinuz-splash-${KERNEL_VER} INITRD_IMG=${DEST}/initrd.ltsp echo "VER = ${VER}" @@ -299,9 +300,28 @@ ${INITRD_OUTPUT} # +# Create kernel+initrd image with bootsplash support +# +INITRD_OUTPUT_SPLASH=${DEST}/initrd-splash-${KERNEL_VER}.gz +cp ${INITRD_OUTPUT} ${INITRD_OUTPUT_SPLASH} + +# Create splash signature and append it to the gzipped initrd +/sbin/splash.bin -s -f \ + /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg \ + >> ${INITRD_OUTPUT_SPLASH} + +echo "running mknbi-linux (splash)" +${MKNBI} --output=${DEST}/${KERNEL_OUTPUT_SPLASH} \ + --append="init=/linuxrc rw video=vesa:ywrap,mtrr,1024x768@60 vga=0x317 splash=silent" \ + --rootdir="/dev/ram0" \ + ${KERNEL_IMG} \ + ${INITRD_OUTPUT_SPLASH} + +# # Show the size of the kernel+initrd image # ls -l ${DEST}/${KERNEL_OUTPUT} +ls -l ${DEST}/${KERNEL_OUTPUT_SPLASH} echo Index: kernel-src/initrd_tree/initrd_tree/linuxrc --- kernel-src/initrd_tree/initrd_tree/linuxrc +++ kernel-src/initrd_tree/initrd_tree/linuxrc @@ -49,6 +49,7 @@ [ "${INITRD_DBG}" = "1" ] && exec /bin/sh +[ -w /proc/splash ] && echo "show 10000" > /proc/splash [ -w /proc/progress ] && echo 40 "Detecting network card" >/proc/progress [ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} @@ -99,6 +100,7 @@ IRQOPT="irq=${IRQ}" fi +[ -w /proc/splash ] && echo "show 20000" > /proc/splash [ -w /proc/progress ] && echo 45 "Loading network driver" >/proc/progress [ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} @@ -124,6 +126,7 @@ # /etc/dhcpc/dhcpcd.exe is used to perform additional configuration. # [ "${INITRD_DBG}" = "6" ] && exec /bin/sh +[ -w /proc/splash ] && echo "show 30000" > /proc/splash [ -w /proc/progress ] && echo 50 "Sending DHCP request" >/proc/progress [ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} @@ -197,6 +200,7 @@ NFS_IP=${DHCPSERVER} fi +[ -w /proc/splash ] && echo "show 40000" > /proc/splash [ -w /proc/progress ] && echo 55 "Mounting root filesystem" >/proc/progress [ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} @@ -218,6 +222,7 @@ fi [ "${INITRD_DBG}" = "8" ] && exec /bin/sh +[ -w /proc/splash ] && echo "show 50000" > /proc/splash [ -w /proc/progress ] && echo 60 "Pivoting root" >/proc/progress [ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} @@ -235,6 +240,7 @@ # We temporarily re-mount /proc, so we can display the progress message # mount -t proc /proc /proc +/usr/bin/[ -w /proc/splash ] && echo "show 65534" > /proc/splash /usr/bin/[ -w /proc/progress ] && echo 65 "Running /sbin/init" >/oldroot/proc/progress /usr/bin/[ "${SLEEP}" -gt 0 ] && sleep ${SLEEP} Index: kernel-src/linux-2.4.26/config --- kernel-src/linux-2.4.26/config +++ kernel-src/linux-2.4.26/config @@ -57,7 +57,7 @@ # CONFIG_HIGHMEM64G is not set # CONFIG_HIGHMEM is not set CONFIG_MATH_EMULATION=y -# CONFIG_MTRR is not set +CONFIG_MTRR=y # CONFIG_SMP is not set # CONFIG_X86_UP_APIC is not set # CONFIG_X86_UP_IOAPIC is not set @@ -160,7 +160,7 @@ # CONFIG_CISS_MONITOR_THREAD is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_LOOP is not set +CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 @@ -1052,6 +1052,8 @@ # CONFIG_FB_TRIDENT is not set # CONFIG_FB_IT8181 is not set # CONFIG_FB_VIRTUAL is not set +CONFIG_FBCON_SPLASHSCREEN=y +CONFIG_FBCON_CFB16=y # CONFIG_FBCON_ADVANCED is not set CONFIG_FBCON_MFB=m CONFIG_FBCON_CFB8=y Index: kernel-src/linux-2.4.26/package.def --- kernel-src/linux-2.4.26/package.def +++ kernel-src/linux-2.4.26/package.def @@ -22,8 +22,15 @@ http://www.ltsp.org/tarballs/${PKG1}, \ ftp://ftp.sourceforge.net/pub/sourceforge/ltsp/${PKG1} +PKG2 = bootsplash-3.0.7-2.4.26.diff +MD5SUM2 = 4a735a5e65d68f901d17987b99af9c97 + +SOURCE2 = http://www.bootsplash.de/files/old/${PKG2} + UNPACK1 = bunzip2 < ${TARBALL} | tar xf - +UNPACK2 = cp ${TARBALL} . + SOURCEDIR = linux-${KERNEL_VER} BUILDDIR = linux-${KERNEL_VER} @@ -34,6 +41,7 @@ POSTPATCH1 = gunzip <../nfs-swap-${KERNEL_VER}.patch.gz | patch -p1 POSTPATCH2 = gunzip <../cmpxchg-2.4.26.patch.gz | patch -p1 POSTPATCH3 = gunzip <../supermount-2.4.26.patch.gz | patch -p1 +POSTPATCH4 = patch -p1 < ../bootsplash-3.0.7-2.4.26.diff BUILD = CPUS=${CPUS} ../build_kernel ${KERNEL_VER} ${EXTRAVERSION} Index: kernel-src/syslinux/install.sh --- kernel-src/syslinux/install.sh +++ kernel-src/syslinux/install.sh @@ -39,20 +39,29 @@ # cat <${PXEDIR}/pxelinux.cfg/default prompt=0 +default linux + label linux kernel bzImage-${KERNEL_VER} append init=/linuxrc rw root=/dev/ram0 initrd=initrd-${KERNEL_VER}.gz + +label linux-splash + kernel bzImage-${KERNEL_VER} + append init=/linuxrc rw root=/dev/ram0 initrd=initrd-splash-${KERNEL_VER}.gz video=vesa:ywrap,mtrr,1024x768@60 vga=0x317 splash=silent EOF cp ${DEST}/bzImage-${KERNEL_VER} ${DEST}/${KERNEL_VER}/ cp ${DEST}/initrd-${KERNEL_VER}.gz ${DEST}/${KERNEL_VER}/ +cp ${DEST}/initrd-splash-${KERNEL_VER}.gz ${DEST}/${KERNEL_VER}/ FILELIST=/tmp/ltsp_kernel.list cat <${FILELIST} vmlinuz-${KERNEL_VER} +vmlinuz-splash-${KERNEL_VER} ${KERNEL_VER}/ ${KERNEL_VER}/bzImage-${KERNEL_VER} ${KERNEL_VER}/initrd-${KERNEL_VER}.gz +${KERNEL_VER}/initrd-splash-${KERNEL_VER}.gz ${KERNEL_VER}/pxelinux.0 ${KERNEL_VER}/pxelinux.cfg ${KERNEL_VER}/pxelinux.cfg/default Index: lbe-src/package_list --- lbe-src/package_list +++ lbe-src/package_list @@ -37,3 +37,5 @@ e2fsprogs util-linux cpio +bootsplash +bootsplash-theme Index: lbe-src/bootsplash/package.def --- /dev/null +++ lbe-src/bootsplash/package.def @@ -0,0 +1,37 @@ +# +# package.def file for building a package in the the LTSP build environment +# +# Copyright (c) 2003 by James A. McQuillan (McQuillan Systems, LLC) +# Copyright (c) 2004 by Rasmus Ory Nielsen +# +# This software is licensed under the Gnu General Public License. +# The full text of which can be found at http://www.LTSP.org/license.txt +# + +VERSION = 3.1 +RELEASE = 0 +PKG1COMPONENT = lbe_core +PKG1NAME = lbe-bootsplash + +PKG1 = bootsplash-3.1.tar.bz2 +MD5SUM1 = f9950a4d61fe6261e3211d317eab0e03 + +SOURCE1 = http://www.bootsplash.de/files/splashutils/${PKG1} + +UNPACK1 = tar xjf ${TARBALL} + +BUILDDIR = bootsplash-3.1 + +BUILD = cd Utilities && \ + make -j ${CPUS} PREFIX=${INSTALLDIR} CFLAGS="-march=i386" \ + splash && \ + strip splash + +INSTALL = cd Utilities && \ + install -m 755 splash ${INSTALLDIR}/sbin/splash.bin && \ + cd ../Scripts && \ + install -m 755 splash.sh ${INSTALLDIR}/sbin/splash + +CLEAN = rm -rf ${BUILDDIR} && \ + rm -f ${INSTALLDIR}/sbin/splash.bin && \ + rm -f ${INSTALLDIR}/sbin/splash Index: lbe-src/bootsplash-theme/package.def --- /dev/null +++ lbe-src/bootsplash-theme/package.def @@ -0,0 +1,35 @@ +# +# package.def file for building a package in the the LTSP build environment +# +# Copyright (c) 2003 by James A. McQuillan (McQuillan Systems, LLC) +# Copyright (c) 2004 by Rasmus Ory Nielsen +# +# This software is licensed under the Gnu General Public License. +# The full text of which can be found at http://www.LTSP.org/license.txt +# + +VERSION = 1.0 +RELEASE = 0 +PKG1COMPONENT = lbe_core +PKG1NAME = lbe-bootsplash-theme + +PKG1 = Theme-Linux.tar.bz2 +MD5SUM1 = 3f4c45b28f915b69a3bf2828936ef117 + +SOURCE1 = ftp://ftp.openbios.org/pub/bootsplash/themes/${PKG1} + +UNPACK1 = tar xjf ${TARBALL} + +BUILDDIR = Linux + +INSTALL = mkdir -p ${INSTALLDIR}/etc/bootsplash/themes/Linux/config && \ + mkdir -p ${INSTALLDIR}/etc/bootsplash/themes/Linux/images && \ + install -m 644 config/bootsplash-1024x768.cfg \ + ${INSTALLDIR}/etc/bootsplash/themes/Linux/config && \ + install -m 644 images/bootsplash-1024x768.jpg \ + ${INSTALLDIR}/etc/bootsplash/themes/Linux/images && \ + install -m 644 images/silent-1024x768.jpg \ + ${INSTALLDIR}/etc/bootsplash/themes/Linux/images + +CLEAN = rm -rf ${BUILDDIR} && \ + rm -rf ${INSTALLDIR}/etc/bootsplash