git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@2 67a159dc-881f-0410-a524-ba9dfbe2cb84cleanup-cruft
parent
bda7632e42
commit
0347fe12ee
@ -0,0 +1,33 @@
|
|||||||
|
VERY EXPERIMENTAL
|
||||||
|
seems to work so far on amd64 and x86
|
||||||
|
I've only tested with 2.6 kernels, it's possible that
|
||||||
|
the module-init-tools we use doesn't work with 2.4 in
|
||||||
|
which case we need to compile modutils as well and
|
||||||
|
provide a static binary for that....
|
||||||
|
|
||||||
|
INSTALLATION:
|
||||||
|
|
||||||
|
put genkernel.conf in /etc
|
||||||
|
|
||||||
|
put genkernel.sh in /usr/bin
|
||||||
|
|
||||||
|
put the rest of the files and directories in /usr/share/genkernel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PORTING:
|
||||||
|
|
||||||
|
To port to other arches:
|
||||||
|
|
||||||
|
cd /usr/share/genkernel
|
||||||
|
cp -Rp x86 ${myarch}
|
||||||
|
mkdir /usr/share/genkernel/pkg/${myarch}
|
||||||
|
|
||||||
|
|
||||||
|
modify what is needed in the /usr/share/genkernel/${myarch}
|
||||||
|
directory, this is all the arch-specific stuff, as well
|
||||||
|
as a generic kernel-config
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
get_official_arch() {
|
||||||
|
if [ "${CMD_ARCHOVERRIDE}" != "" ]
|
||||||
|
then
|
||||||
|
ARCH=${CMD_ARCHOVERRIDE}
|
||||||
|
else
|
||||||
|
ARCH=`uname -m`
|
||||||
|
case "${ARCH}" in
|
||||||
|
i?86)
|
||||||
|
ARCH="x86"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARCH_CONFIG="${GK_SHARE}/${ARCH}/config.sh"
|
||||||
|
[ ! -f "${ARCH_CONFIG}" ] && gen_die "ARCH: ${ARCH} not yet supported by genkernel. Please add arch-specific config file ${ARCH_CONFIG}"
|
||||||
|
}
|
@ -0,0 +1,161 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "GenKernel ${GK_V} Options"
|
||||||
|
echo "Available Options: "
|
||||||
|
|
||||||
|
echo " Debug settings"
|
||||||
|
echo " --debuglevel=<0-5> Debug Verbosity Level"
|
||||||
|
echo " --debugfile=<outfile> Output file for debug info"
|
||||||
|
echo " --color Output debug in color"
|
||||||
|
echo " --no-color Do not output debug in color"
|
||||||
|
echo " Kernel Compile settings"
|
||||||
|
echo " --menuconfig Run menu config after oldconfig"
|
||||||
|
echo " --no-menuconfig Do no run menu config after oldconfig"
|
||||||
|
echo " --mrproper Run make mrproper before compilation"
|
||||||
|
echo " --no-mrproper Do not run make mrproper before compilation"
|
||||||
|
echo " --bootsplash Install bootsplash to initrd"
|
||||||
|
echo " --no-bootsplash Do not use bootsplash"
|
||||||
|
echo " --install Install kernel after building"
|
||||||
|
echo " --no-install Do not install kernel after building"
|
||||||
|
echo " --kerneldir=<dir> Location of kernel source"
|
||||||
|
echo " --kernel-config=<file> Kernel configuration file to use for compilation"
|
||||||
|
echo " Low-Level Compile settings"
|
||||||
|
echo " --cc=<compiler> Compiler to use (e.g. distcc)"
|
||||||
|
echo " --ld=<linker> Linker to use"
|
||||||
|
echo " --as=<assembler> Assembler to use"
|
||||||
|
echo " Internals"
|
||||||
|
echo " --arch-override=<arch> Force to arch instead of autodetect (cross-compile?)"
|
||||||
|
echo " --busybox-config=<file> Busybox configuration file to use"
|
||||||
|
echo " --busybox-bin=<file> Don't compile busybox, use this _static_ bzip2'd binary"
|
||||||
|
echo " Misc Settings"
|
||||||
|
echo " --max-kernel-size=<k> Maximum kernel size"
|
||||||
|
echo " --max-initrd-size=<k> Maximum initrd size"
|
||||||
|
echo " --max-kernel-and-initrd-size=<k> Maximum combined initrd + kernel size"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_opt() {
|
||||||
|
case "$1" in
|
||||||
|
*\=*)
|
||||||
|
echo "$1" | cut -f2 -d=
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_cmdline() {
|
||||||
|
for x in $*
|
||||||
|
do
|
||||||
|
case "${x}" in
|
||||||
|
--cc*)
|
||||||
|
CMD_CC=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_CC: $CMD_CC"
|
||||||
|
;;
|
||||||
|
--ld*)
|
||||||
|
CMD_LD=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_LD: $CMD_LD"
|
||||||
|
;;
|
||||||
|
--as*)
|
||||||
|
CMD_AS=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_AS: $CMD_AS"
|
||||||
|
;;
|
||||||
|
--debuglevel*)
|
||||||
|
CMD_DEBUGLEVEL=`parse_opt "${x}"`
|
||||||
|
DEBUGLEVEL="${CMD_DEBUGLEVEL}"
|
||||||
|
print_info 2 "CMD_DEBUGLEVEL: $CMD_DEBUGLEVEL"
|
||||||
|
|
||||||
|
;;
|
||||||
|
--menuconfig)
|
||||||
|
CMD_MENUCONFIG=1
|
||||||
|
print_info 2 "CMD_MENUCONFIG: $CMD_MENUCONFIG"
|
||||||
|
;;
|
||||||
|
--no-menuconfig)
|
||||||
|
CMD_MENUCONFIG=0
|
||||||
|
print_info 2 "CMD_MENUCONFIG: $CMD_MENUCONFIG"
|
||||||
|
;;
|
||||||
|
--mrproper)
|
||||||
|
CMD_MRPROPER=1
|
||||||
|
print_info 2 "CMD_MRPROPER: $CMD_MRPROPER"
|
||||||
|
;;
|
||||||
|
--no-mrproper)
|
||||||
|
CMD_MRPROPER=0
|
||||||
|
print_info 2 "CMD_MRPROPER: $CMD_MRPROPER"
|
||||||
|
;;
|
||||||
|
--clean)
|
||||||
|
CMD_CLEAN=1
|
||||||
|
print_info 2 "CMD_CLEAN: $CMD_CLEAN"
|
||||||
|
;;
|
||||||
|
--no-clean)
|
||||||
|
CMD_CLEAN=0
|
||||||
|
print_info 2 "CMD_CLEAN: $CMD_CLEAN"
|
||||||
|
;;
|
||||||
|
--bootsplash)
|
||||||
|
CMD_BOOTSPLASH=1
|
||||||
|
print_info 2 "CMD_BOOTSPLASH: $CMD_BOOTSPLASH"
|
||||||
|
;;
|
||||||
|
--no-bootsplash)
|
||||||
|
CMD_BOOTSPLASH=0
|
||||||
|
print_info 2 "CMD_BOOTSPLASH: $CMD_BOOTSPLASH"
|
||||||
|
;;
|
||||||
|
--install)
|
||||||
|
CMD_NOINSTALL=0
|
||||||
|
print_info 2 "CMD_NOINSTALL: $CMD_NOINSTALL"
|
||||||
|
;;
|
||||||
|
--no-install)
|
||||||
|
CMD_NOINSTALL=1
|
||||||
|
print_info 2 "CMD_NOINSTALL: $CMD_NOINSTALL"
|
||||||
|
;;
|
||||||
|
--arch-override*)
|
||||||
|
CMD_ARCHOVERRIDE=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_ARCHOVERRIDE: $CMD_ARCHOVERRIDE"
|
||||||
|
;;
|
||||||
|
--color)
|
||||||
|
CMD_USECOLOR=1
|
||||||
|
print_info 2 "CMD_USECOLOR: $CMD_USECOLOR"
|
||||||
|
;;
|
||||||
|
--no-color)
|
||||||
|
CMD_USECOLOR=0
|
||||||
|
print_info 2 "CMD_USECOLOR: $CMD_USECOLOR"
|
||||||
|
;;
|
||||||
|
--debugfile*)
|
||||||
|
CMD_DEBUGFILE=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_DEBUGFILE: $CMD_DEBUGFILE"
|
||||||
|
;;
|
||||||
|
--kerneldir*)
|
||||||
|
CMD_KERNELDIR=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_KERNELDIR: $CMD_KERNELDIR"
|
||||||
|
;;
|
||||||
|
--kernel-config*)
|
||||||
|
CMD_KERNEL_CONFIG=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_KERNEL_CONFIG: $CMD_KERNEL_CONFIG"
|
||||||
|
;;
|
||||||
|
--busybox-config*)
|
||||||
|
CMD_BUSYBOX_CONFIG=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_BUSYBOX_CONFIG: $CMD_BUSYBOX_CONFIG"
|
||||||
|
;;
|
||||||
|
--busybox-bin*)
|
||||||
|
CMD_BUSYBOX_BIN=`parse_opt "${x}"`
|
||||||
|
print_info 2 "CMD_BUSYBOX_BIN: $CMD_BUSYBOX_BIN"
|
||||||
|
;;
|
||||||
|
--max-kernel-size*)
|
||||||
|
CMD_MAX_KERNEL_SIZE=`parse_opt "${x}"`
|
||||||
|
print_info 2 "MAX_KERNEL_SIZE: $CMD_MAX_KERNEL_SIZE"
|
||||||
|
;;
|
||||||
|
--max-initrd-size*)
|
||||||
|
CMD_MAX_INITRD_SIZE=`parse_opt "${x}"`
|
||||||
|
print_info 2 "MAX_INITRD_SIZE: $CMD_MAX_INITRD_SIZE"
|
||||||
|
;;
|
||||||
|
--max-kernel-and-initrd-size*)
|
||||||
|
CMD_MAX_KERNEL_AND_INITRD_SIZE=`parse_opt "${x}"`
|
||||||
|
print_info 2 "MAX_KERNEL_AND_INITRD_SIZE: $CMD_MAX_KERNEL_AND_INITRD_SIZE"
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,133 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
compile_generic() {
|
||||||
|
local RET
|
||||||
|
if [ "$#" -lt "1" ]
|
||||||
|
then
|
||||||
|
gen_die "compile_generic(): improper usage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${DEBUGLEVEL}" -gt "1" ]
|
||||||
|
then
|
||||||
|
# Output to stdout and debugfile
|
||||||
|
${MAKE} CC="${CC}" AS="${AS}" LD="${LD}" ${MAKEOPTS} ${1} 2>&1 | tee -a ${DEBUGFILE}
|
||||||
|
RET=$?
|
||||||
|
else
|
||||||
|
# Output to debugfile only
|
||||||
|
${MAKE} CC="${CC}" AS="${AS}" LD="${LD}" ${MAKEOPTS} ${1} >> ${DEBUGFILE} 2>&1
|
||||||
|
RET=$?
|
||||||
|
fi
|
||||||
|
[ "${RET}" -ne "0" ] && gen_die "compile of failed"
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_modules() {
|
||||||
|
print_info 1 "kernel: Starting compile of linux ${KV} modules"
|
||||||
|
cd ${KERNEL_DIR}
|
||||||
|
compile_generic "modules"
|
||||||
|
compile_generic "modules_install"
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_kernel() {
|
||||||
|
[ "${KERNEL_MAKE}" = "" ] && gen_die "KERNEL_MAKE undefined. Don't know how to compile kernel for arch."
|
||||||
|
cd ${KERNEL_DIR}
|
||||||
|
print_info 1 "kernel: Starting compile of linux ${KV} ${KERNEL_MAKE}"
|
||||||
|
compile_generic "${KERNEL_MAKE}"
|
||||||
|
cp "${KERNEL_BINARY}" "/boot/kernel-${KV}" || gen_die "Could not copy kernel binary to boot"
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_busybox() {
|
||||||
|
if [ ! -f "${BUSYBOX_BINCACHE}" ]
|
||||||
|
then
|
||||||
|
[ ! -f "${BUSYBOX_SRCTAR}" ] && gen_die "Could not find busybox source tarball: ${BUSYBOX_SRCTAR}"
|
||||||
|
[ ! -f "${BUSYBOX_CONFIG}" ] && gen_die "Cound not find busybox config file: ${BUSYBOX_CONFIG}"
|
||||||
|
cd ${TEMP}
|
||||||
|
rm -rf ${BUSYBOX_DIR} > /dev/null
|
||||||
|
tar -jxpf ${BUSYBOX_SRCTAR} || gen_die "Could not extract busybox source tarball"
|
||||||
|
[ ! -d "${BUSYBOX_DIR}" ] && gen_die "Busybox directory ${BUSYBOX_DIR} invalid"
|
||||||
|
cp "${BUSYBOX_CONFIG}" "${BUSYBOX_DIR}/.config"
|
||||||
|
cd "${BUSYBOX_DIR}"
|
||||||
|
if [ "${USE_DIETLIBC}" -eq "1" ]
|
||||||
|
then
|
||||||
|
OLD_CC="${CC}"
|
||||||
|
CC="${TEMP}/diet/bin/diet ${CC}"
|
||||||
|
fi
|
||||||
|
print_info 1 "Busybox: make oldconfig"
|
||||||
|
compile_generic "oldconfig"
|
||||||
|
print_info 1 "Busybox: make all"
|
||||||
|
compile_generic "all"
|
||||||
|
if [ "${USE_DIETLIBC}" -eq "1" ]
|
||||||
|
then
|
||||||
|
CC="${OLD_CC}"
|
||||||
|
fi
|
||||||
|
print_info 1 "Busybox: copying to bincache"
|
||||||
|
[ ! -f "${TEMP}/${BUSYBOX_DIR}/busybox" ] && gen_die "busybox executable does not exist after compile, error"
|
||||||
|
bzip2 "${TEMP}/${BUSYBOX_DIR}/busybox" || gen_die "bzip2 compression of busybox failed"
|
||||||
|
[ ! -f "${TEMP}/${BUSYBOX_DIR}/busybox.bz2" ] && gen_die "could not find compressed busybox binary"
|
||||||
|
mv "${TEMP}/${BUSYBOX_DIR}/busybox.bz2" "${BUSYBOX_BINCACHE}" || gen_die "could not copy busybox binary to arch package directory, does the directory exist?"
|
||||||
|
else
|
||||||
|
print_info 1 "Busybox: Found bincache at ${BUSYBOX_BINCACHE}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_module_init_tools() {
|
||||||
|
if [ ! -f "${MODULE_INIT_TOOLS_BINCACHE}" ]
|
||||||
|
then
|
||||||
|
[ ! -f "${MODULE_INIT_TOOLS_SRCTAR}" ] && gen_die "Could not find module-init-tools source tarball: ${MODULE_INIT_TOOLS_BINCACHE}"
|
||||||
|
cd ${TEMP}
|
||||||
|
rm -rf "${MODULE_INIT_TOOLS_DIR}"
|
||||||
|
tar -jxpf "${MODULE_INIT_TOOLS_SRCTAR}"
|
||||||
|
[ ! -d "${MODULE_INIT_TOOLS_DIR}" ] && gen_die "Module-init-tools directory ${MODULE_INIT_TOOLS_DIR} invalid"
|
||||||
|
cd "${MODULE_INIT_TOOLS_DIR}"
|
||||||
|
print_info 1 "module-init-tools: configure"
|
||||||
|
./configure >> ${DEBUGFILE} 2>&1 || gen_die "Configure of module-init-tools failed"
|
||||||
|
print_info 1 "module-init-tools: make all"
|
||||||
|
compile_generic "all"
|
||||||
|
print_info 1 "module-init-tools: copying to bincache"
|
||||||
|
[ ! -f "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static" ] && gen_die "insmod.static does not exist after compilation of module-init-tools"
|
||||||
|
bzip2 "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static" || gen_die "compression of busybox failed"
|
||||||
|
[ ! -f "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static.bz2" ] && gen_die "could not find compressed insmod.static.bz2 binary"
|
||||||
|
mv "${TEMP}/${MODULE_INIT_TOOLS_DIR}/insmod.static.bz2" "${MODULE_INIT_TOOLS_BINCACHE}"
|
||||||
|
else
|
||||||
|
print_info 1 "module-init-tools: Found bincache at ${MODULE_INIT_TOOLS_BINCACHE}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compile_dietlibc() {
|
||||||
|
local BUILD_DIETLIBC
|
||||||
|
local ORIGTEMP
|
||||||
|
|
||||||
|
BUILD_DIETLIBC=0
|
||||||
|
[ ! -f "${DIETLIBC_BINCACHE}" ] && BUILD_DIETLIBC=1
|
||||||
|
[ ! -f "${DIETLIBC_BINCACHE_TEMP}" ] && BUILD_DIETLIBC=1
|
||||||
|
if [ "${BUILD_DIETLIBC}" -eq "0" ]
|
||||||
|
then
|
||||||
|
ORIGTEMP=`cat "${DIETLIBC_BINCACHE_TEMP}"`
|
||||||
|
if [ "${TEMP}" != "${ORIGTEMP}" ]
|
||||||
|
then
|
||||||
|
print_info 1 "Dietlibc: Bincache exists, but current temp directory is different than original. Rebuilding."
|
||||||
|
BUILD_DIETLIBC=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${BUILD_DIETLIBC}" -eq "1" ]
|
||||||
|
then
|
||||||
|
[ ! -f "${DIETLIBC_SRCTAR}" ] && gen_die "Could not find dietlibc source tarball: ${DIETLIBC_SRCTAR}"
|
||||||
|
cd ${TEMP}
|
||||||
|
rm -rf ${DIETLIBC_DIR} > /dev/null
|
||||||
|
tar -jxpf ${DIETLIBC_SRCTAR} || gen_die "Could not extract dietlibc source tarball"
|
||||||
|
[ ! -d "${DIETLIBC_DIR}" ] && gen_die "Dietlibc directory ${DIETLIBC_DIR} invalid"
|
||||||
|
cd "${DIETLIBC_DIR}"
|
||||||
|
print_info 1 "Dietlibc: make"
|
||||||
|
compile_generic "prefix=${TEMP}/diet"
|
||||||
|
print_info 1 "Dietlibc: installing"
|
||||||
|
compile_generic "prefix=${TEMP}/diet install"
|
||||||
|
print_info 1 "Dietlibc: copying to bincache"
|
||||||
|
cd ${TEMP}
|
||||||
|
tar -jcpf "${DIETLIBC_BINCACHE}" diet || gen_die "Could not tar up dietlibc bin"
|
||||||
|
[ ! -f "${DIETLIBC_BINCACHE}" ] && gen_die "bincache not created"
|
||||||
|
echo "${TEMP}" > "${DIETLIBC_BINCACHE_TEMP}"
|
||||||
|
else
|
||||||
|
print_info 1 "Dietlibc: Found bincache at ${DIETLIBC_BINCACHE}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
config_kernel() {
|
||||||
|
print_info 1 "kernel: configuring source"
|
||||||
|
if [ "${CMD_KERNEL_CONFIG}" != "" ]
|
||||||
|
then
|
||||||
|
KERNEL_CONFIG="${CMD_KERNEL_CONFIG}"
|
||||||
|
elif [ "${DEFAULT_KERNEL_CONFIG}" != "" ]
|
||||||
|
then
|
||||||
|
KERNEL_CONFIG="${DEFAULT_KERNEL_CONFIG}"
|
||||||
|
else
|
||||||
|
gen_die "no kernel config specified"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ ! -f "${KERNEL_CONFIG}" ] && gen_die "kernel config not found at specified location"
|
||||||
|
|
||||||
|
|
||||||
|
cd "${KERNEL_DIR}" || gen_die "could not switch to kernel directory"
|
||||||
|
|
||||||
|
if isTrue ${MRPROPER}
|
||||||
|
then
|
||||||
|
print_info 1 "kernel: running mrproper"
|
||||||
|
compile_generic "mrproper"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If we're not cleaning, then we don't want to try to overwrite the configs there
|
||||||
|
# or we might screw up something someone is trying to test.
|
||||||
|
if isTrue ${CLEAN}
|
||||||
|
then
|
||||||
|
print_info 1 "kernel: using config from ${KERNEL_CONFIG}"
|
||||||
|
cp "${KERNEL_CONFIG}" "${KERNEL_DIR}/.config" || gen_die "could not copy config file"
|
||||||
|
|
||||||
|
print_info 1 "kernel: running oldconfig"
|
||||||
|
yes "" | compile_generic "oldconfig"
|
||||||
|
|
||||||
|
if isTrue ${MENUCONFIG}
|
||||||
|
then
|
||||||
|
print_info 1 "kernel: running menuconfig"
|
||||||
|
make menuconfig
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_info 1 "kernel: running clean"
|
||||||
|
compile_generic "clean"
|
||||||
|
else
|
||||||
|
print_info 1 "kernel: skipping copy of config. CLEAN is OFF"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,91 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
get_KV() {
|
||||||
|
local VER
|
||||||
|
# don't want PAT local anymore, used in initrd
|
||||||
|
# local PAT
|
||||||
|
local SUB
|
||||||
|
local EXV
|
||||||
|
|
||||||
|
VER=`grep ^VERSION\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
|
||||||
|
PAT=`grep ^PATCHLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
|
||||||
|
SUB=`grep ^SUBLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
|
||||||
|
EXV=`grep ^EXTRAVERSION\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
|
||||||
|
KV=${VER}.${PAT}.${SUB}${EXV}
|
||||||
|
}
|
||||||
|
|
||||||
|
determine_real_args() {
|
||||||
|
MAKE="make"
|
||||||
|
MAKEOPTS="-j2"
|
||||||
|
if [ "${CMD_KERNELDIR}" != "" ]
|
||||||
|
then
|
||||||
|
KERNEL_DIR=${CMD_KERNELDIR}
|
||||||
|
else
|
||||||
|
KERNEL_DIR=${DEFAULT_KERNEL_SOURCE}
|
||||||
|
fi
|
||||||
|
[ "${KERNEL_DIR}" = "" ] && gen_die "no kernel source directory"
|
||||||
|
|
||||||
|
get_KV
|
||||||
|
|
||||||
|
if [ "${CMD_CC}" != "" ]
|
||||||
|
then
|
||||||
|
CC=${CMD_CC}
|
||||||
|
elif [ "${CC}" = "" ]
|
||||||
|
then
|
||||||
|
CC="gcc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CMD_LD}" != "" ]
|
||||||
|
then
|
||||||
|
LD=${CMD_LD}
|
||||||
|
elif [ "${LD}" = "" ]
|
||||||
|
then
|
||||||
|
LD="ld"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CMD_AS}" != "" ]
|
||||||
|
then
|
||||||
|
AS=${CMD_AS}
|
||||||
|
elif [ "${AS}" = "" ]
|
||||||
|
then
|
||||||
|
AS="as"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DEFAULT_KERNEL_CONFIG=`arch_replace "${DEFAULT_KERNEL_CONFIG}"`
|
||||||
|
BUSYBOX_CONFIG=`arch_replace "${BUSYBOX_CONFIG}"`
|
||||||
|
BUSYBOX_BINCACHE=`arch_replace "${BUSYBOX_BINCACHE}"`
|
||||||
|
MODULE_INIT_TOOLS_BINCACHE=`arch_replace "${MODULE_INIT_TOOLS_BINCACHE}"`
|
||||||
|
DIETLIBC_BINCACHE=`arch_replace "${DIETLIBC_BINCACHE}"`
|
||||||
|
DIETLIBC_BINCACHE_TEMP=`arch_replace "${DIETLIBC_BINCACHE_TEMP}"`
|
||||||
|
if isTrue ${BOOTSPLASH}
|
||||||
|
then
|
||||||
|
BOOTSPLASH=1
|
||||||
|
else
|
||||||
|
BOOTSPLASH=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if isTrue ${COMPRESS_INITRD}
|
||||||
|
then
|
||||||
|
COMPRESS_INITRD=1
|
||||||
|
else
|
||||||
|
COMPRESS_INITRD=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CMD_MRPROPER}" != "" ]
|
||||||
|
then
|
||||||
|
MRPROPER="${CMD_MRPROPER}"
|
||||||
|
fi
|
||||||
|
if [ "${CMD_MENUCONFIG}" != "" ]
|
||||||
|
then
|
||||||
|
MENUCONFIG="${CMD_MENUCONFIG}"
|
||||||
|
fi
|
||||||
|
if [ "${CMD_CLEAN}" != "" ]
|
||||||
|
then
|
||||||
|
CLEAN="${CMD_CLEAN}"
|
||||||
|
if ! isTrue ${CLEAN}
|
||||||
|
then
|
||||||
|
MRPROPER=0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,169 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
isTrue() {
|
||||||
|
case "$1" in
|
||||||
|
[Tt][Rr][Uu][Ee])
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
[Tt])
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
[Yy][Ee][Ss])
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
[Yy])
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if isTrue ${USECOLOR}
|
||||||
|
then
|
||||||
|
# COLS="`stty size 2> /dev/null`"
|
||||||
|
# COLS="`getcols ${COLS}`"
|
||||||
|
# COLS=$((${COLS} - 7))
|
||||||
|
# ENDCOL=$'\e[A\e['${COLS}'G' # Now, ${ENDCOL} will move us to the end of the
|
||||||
|
# column; irregardless of character width
|
||||||
|
GOOD=$'\e[32;01m'
|
||||||
|
WARN=$'\e[33;01m'
|
||||||
|
BAD=$'\e[31;01m'
|
||||||
|
NORMAL=$'\e[0m'
|
||||||
|
HILITE=$'\e[36;01m'
|
||||||
|
BRACKET=$'\e[34;01m'
|
||||||
|
else
|
||||||
|
GOOD=""
|
||||||
|
WARN=""
|
||||||
|
BAD=""
|
||||||
|
NORMAL=""
|
||||||
|
HILITE=""
|
||||||
|
BRACKET=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# print_info(debuglevel, print [, newline [, prefixline [, forcefile ] ] ])
|
||||||
|
print_info() {
|
||||||
|
local NEWLINE=1
|
||||||
|
local FORCEFILE=0
|
||||||
|
local PREFIXLINE=1
|
||||||
|
local SCRPRINT=0
|
||||||
|
local STR=""
|
||||||
|
|
||||||
|
# NOT ENOUGH ARGS
|
||||||
|
if [ "$#" -lt "2" ] ; then return 1; fi
|
||||||
|
|
||||||
|
# IF 3 OR MORE ARGS, CHECK IF WE WANT A NEWLINE AFTER PRINT
|
||||||
|
if [ "$#" -gt "2" ]
|
||||||
|
then
|
||||||
|
if isTrue "$3"
|
||||||
|
then
|
||||||
|
NEWLINE="1";
|
||||||
|
else
|
||||||
|
NEWLINE="0";
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# IF 4 OR MORE ARGS, CHECK IF WE WANT TO PREFIX WITH A *
|
||||||
|
if [ "$#" -gt "3" ]
|
||||||
|
then
|
||||||
|
if isTrue "$4"
|
||||||
|
then
|
||||||
|
PREFIXLINE="1"
|
||||||
|
else
|
||||||
|
PREFIXLINE="0"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# IF 5 OR MORE ARGS, CHECK IF WE WANT TO FORCE OUTPUT TO DEBUG
|
||||||
|
# FILE EVEN IF IT DOESN'T MEET THE MINIMUM DEBUG REQS
|
||||||
|
if [ "$#" -gt "4" ]
|
||||||
|
then
|
||||||
|
if isTrue "$5"
|
||||||
|
then
|
||||||
|
FORCEFILE="1"
|
||||||
|
else
|
||||||
|
FORCEFILE="0"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# PRINT TO SCREEN ONLY IF PASSED DEBUGLEVEL IS HIGHER THAN
|
||||||
|
# OR EQUAL TO SET DEBUG LEVEL
|
||||||
|
if [ "$1" -lt "${DEBUGLEVEL}" -o "$1" -eq "${DEBUGLEVEL}" ]
|
||||||
|
then
|
||||||
|
SCRPRINT="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# RETURN IF NOT OUTPUTTING ANYWHERE
|
||||||
|
if [ "${SCRPRINT}" != "1" -a "${FORCEFILE}" != "1" ]
|
||||||
|
then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# STRUCTURE DATA TO BE OUTPUT TO SCREEN, AND OUTPUT IT
|
||||||
|
if [ "${SCRPRINT}" -eq "1" ]
|
||||||
|
then
|
||||||
|
if [ "${PREFIXLINE}" = "1" ]
|
||||||
|
then
|
||||||
|
STR="${GOOD}*${NORMAL} ${2}"
|
||||||
|
else
|
||||||
|
STR="${2}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${NEWLINE}" = "0" ]
|
||||||
|
then
|
||||||
|
echo -ne "${STR}"
|
||||||
|
else
|
||||||
|
echo "${STR}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# STRUCTURE DATA TO BE OUTPUT TO FILE, AND OUTPUT IT
|
||||||
|
if [ "${SCRPRINT}" -eq "1" -o "${FORCEFILE}" -eq "1" ]
|
||||||
|
then
|
||||||
|
if [ "${PREFIXLINE}" = "1" ]
|
||||||
|
then
|
||||||
|
STR="* ${2}"
|
||||||
|
else
|
||||||
|
STR="${2}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${NEWLINE}" = "0" ]
|
||||||
|
then
|
||||||
|
echo -ne "${STR}" >> ${DEBUGFILE}
|
||||||
|
else
|
||||||
|
echo "${STR}" >> ${DEBUGFILE}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# var_replace(var_name, var_value, string)
|
||||||
|
# $1 = variable name
|
||||||
|
# $2 = variable value
|
||||||
|
# $3 = string
|
||||||
|
var_replace()
|
||||||
|
{
|
||||||
|
echo "${3}" | sed -e "s/%%${1}%%/${2}/g" -
|
||||||
|
}
|
||||||
|
|
||||||
|
arch_replace() {
|
||||||
|
var_replace "ARCH" "${ARCH}" "${1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
clear_log() {
|
||||||
|
rm -f ${DEBUGFILE}
|
||||||
|
touch ${DEBUGFILE}
|
||||||
|
}
|
||||||
|
|
||||||
|
gen_die() {
|
||||||
|
if [ "$#" -gt "0" ]
|
||||||
|
then
|
||||||
|
print_info 1 "gen_die(): ${1}"
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
}
|
@ -0,0 +1,120 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# create_initrd_loop(size)
|
||||||
|
create_initrd_loop() {
|
||||||
|
[ "$#" -ne "1" ] && gen_die "invalid use of create_initrd_loop"
|
||||||
|
mkdir -p ${TEMP}/initrd-temp || gen_die "could not create loopback dir"
|
||||||
|
dd if=/dev/zero of=${TEMP}/initrd-loop bs=1k count=${1} >> "${DEBUGFILE}" 2>&1 || gen_die "could not zero initrd-loop"
|
||||||
|
mke2fs -F -q -N${1} "${TEMP}/initrd-loop" >> "${DEBUGFILE}" 2>&1 || gen_die "could not format initrd-loop"
|
||||||
|
mount -t ext2 -o loop "${TEMP}/initrd-loop" "${TEMP}/initrd-temp" >> "${DEBUGFILE}" 2>&1 || gen_die "could not mount initrd filesystem"
|
||||||
|
}
|
||||||
|
|
||||||
|
create_initrd_unmount_loop()
|
||||||
|
{
|
||||||
|
cd ${TEMP}
|
||||||
|
umount "${TEMP}/initrd-temp" || gen_die "could not unmount initrd system"
|
||||||
|
}
|
||||||
|
|
||||||
|
create_base_initrd_sys() {
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/dev
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/bin
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/etc
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/usr
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/proc
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/temp
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/.initrd
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/new_root
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/keymaps
|
||||||
|
ln -s bin ${TEMP}/initrd-temp/sbin
|
||||||
|
ln -s ../bin ${TEMP}/initrd-temp/usr/bin
|
||||||
|
ln -s ../bin ${TEMP}/initrd-temp/usr/sbin
|
||||||
|
echo "/dev/ram0 / ext2 defaults" > ${TEMP}/initrd-temp/etc/fstab
|
||||||
|
echo "proc /proc proc defaults 0 0" >> ${TEMP}/initrd-temp/etc/fstab
|
||||||
|
|
||||||
|
cd ${TEMP}/initrd-temp/dev
|
||||||
|
MAKEDEV generic-i386
|
||||||
|
MAKEDEV scd
|
||||||
|
|
||||||
|
cp "${BUSYBOX_BINCACHE}" "${TEMP}/initrd-temp/bin/busybox.bz2" || gen_die "could not copy busybox from bincache"
|
||||||
|
bunzip2 "${TEMP}/initrd-temp/bin/busybox.bz2" || gen_die "could not uncompress busybox"
|
||||||
|
|
||||||
|
cp "${MODULE_INIT_TOOLS_BINCACHE}" "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not copy insmod.static from bincache"
|
||||||
|
bunzip2 "${TEMP}/initrd-temp/bin/insmod.static.bz2" || gen_die "could not uncompress insmod.static"
|
||||||
|
|
||||||
|
for i in '[' ash basename cat chroot clear cp dirname echo env false find \
|
||||||
|
grep gunzip gzip insmod ln ls loadkmap losetup lsmod mkdir mknod modprobe more mount mv \
|
||||||
|
pivot_root ps awk pwd rm rmdir rmmod sh sleep tar test touch true umount uname \
|
||||||
|
xargs yes zcat chmod chown; do
|
||||||
|
rm -f ${TEMP}/initrd-temp/bin/$i > /dev/null
|
||||||
|
ln ${TEMP}/initrd-temp/bin/busybox ${TEMP}/initrd-temp/bin/$i || gen_die "could not link ${i}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
create_initrd_modules() {
|
||||||
|
if [ "${PAT}" -gt "4" ]
|
||||||
|
then
|
||||||
|
MOD_EXT=".ko"
|
||||||
|
else
|
||||||
|
MOD_EXT=".o"
|
||||||
|
fi
|
||||||
|
local modc i mods mymod
|
||||||
|
for modc in storage firewire ataraid pcmcia usb
|
||||||
|
do
|
||||||
|
mkdir -p ${TEMP}/initrd-temp/lib/modules/${modc}
|
||||||
|
mods=`echo $modc | tr [:lower:] [:upper:]`_MODULES
|
||||||
|
eval mymods=\$$mods
|
||||||
|
for i in ${mymods}
|
||||||
|
do
|
||||||
|
print_info 2 "$i : module searching" 1 0
|
||||||
|
mymod=`find /lib/modules/${KV} -name "${i}${MOD_EXT}"`
|
||||||
|
if [ -z "${mymod}" ]
|
||||||
|
then
|
||||||
|
print_info 2 "Warning : ${i}${MOD_EXT} not found; skipping..."
|
||||||
|
continue;
|
||||||
|
fi
|
||||||
|
print_info 2 "copying ${mymod} to initrd"
|
||||||
|
cp -ax --parents "${mymod}" "${TEMP}/initrd-temp"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
cp -ax --parents /lib/modules/${KV}/modules* ${TEMP}/initrd-temp
|
||||||
|
cat ${GK_SHARE}/${ARCH}/linuxrc | sed -e "s/%%STORAGE_MODULES%%/${STORAGE_MODULES}/" \
|
||||||
|
-e "s/%%FIREWIRE_MODULES%%/${FIREWIRE_MODULES}/" \
|
||||||
|
-e "s/%%ATARAID_MODULES%%/${ATARAID_MODULES}/" \
|
||||||
|
-e "s/%%PCMCIA_MODULES%%/${PCMCIA_MODULES}/" \
|
||||||
|
-e "s/%%USB_MODULES%%/${USB_MODULES}/" \
|
||||||
|
> ${TEMP}/initrd-temp/linuxrc
|
||||||
|
chmod +x ${TEMP}/initrd-temp/linuxrc
|
||||||
|
}
|
||||||
|
|
||||||
|
create_initrd() {
|
||||||
|
local MOD_EXT
|
||||||
|
print_info 1 "initrd: creating loopback filesystem"
|
||||||
|
create_initrd_loop 5000
|
||||||
|
|
||||||
|
print_info 1 "initrd: creating base system"
|
||||||
|
create_base_initrd_sys
|
||||||
|
|
||||||
|
print_info 1 "initrd: copying modules"
|
||||||
|
create_initrd_modules
|
||||||
|
|
||||||
|
print_info 1 "initrd: cleaning up and compressing initrd"
|
||||||
|
create_initrd_unmount_loop
|
||||||
|
|
||||||
|
if [ "${COMPRESS_INITRD}" ]
|
||||||
|
then
|
||||||
|
gzip -f -9 ${TEMP}/initrd-loop
|
||||||
|
mv ${TEMP}/initrd-loop.gz ${TEMP}/initrd-loop
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${BOOTSPLASH}" -eq "1" ]
|
||||||
|
then
|
||||||
|
print_info 1 "initrd: copying bootsplash"
|
||||||
|
/sbin/splash -s -f /etc/bootsplash/gentoo/config/bootsplash-800x600.cfg >> ${TEMP}/initrd-loop || gen_die "could not copy 800x600 bootsplash"
|
||||||
|
/sbin/splash -s -f /etc/bootsplash/gentoo/config/bootsplash-1024x768.cfg >> ${TEMP}/initrd-loop || gen_die "could not copy 1024x768 bootsplash"
|
||||||
|
/sbin/splash -s -f /etc/bootsplash/gentoo/config/bootsplash-1280x1024.cfg >> ${TEMP}/initrd-loop || gen_die "could not copy 1280x1024 bootsplash"
|
||||||
|
/sbin/splash -s -f /etc/bootsplash/gentoo/config/bootsplash-1600x1200.cfg >> ${TEMP}/initrd-loop || gen_die "could not copy 1600x1200 bootsplash"
|
||||||
|
fi
|
||||||
|
cp ${TEMP}/initrd-loop /boot/initrd-${KV} || gen_die "could not copy initrd to boot"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,75 @@
|
|||||||
|
# GenKernel Configuration File v3.0
|
||||||
|
|
||||||
|
# ===========GENKERNEL BASIC CONFIGURATION=============
|
||||||
|
|
||||||
|
# Run 'make menuconfig' before compiling this kernel?
|
||||||
|
MENUCONFIG="no"
|
||||||
|
|
||||||
|
# Run 'make clean' before compilation?
|
||||||
|
# If set to NO, implies MRPROPER WILL NOT be run
|
||||||
|
# Also, if clean is NO, it won't copy over any configuration
|
||||||
|
# file, it will use what's there.
|
||||||
|
CLEAN="yes"
|
||||||
|
|
||||||
|
# Run 'make mrproper' before configuration/compilation?
|
||||||
|
MRPROPER="yes"
|
||||||
|
|
||||||
|
# Copy bootsplash into the initrd image?
|
||||||
|
BOOTSPLASH="yes"
|
||||||
|
|
||||||
|
# Should we _not_ install the kernel into the default
|
||||||
|
# locations?
|
||||||
|
NOINSTALL="yes"
|
||||||
|
|
||||||
|
# Override the arch detection?
|
||||||
|
# available params "x86", "amd64", "ppc", "sparc"
|
||||||
|
# ARCH_OVERRIDE="x86"
|
||||||
|
|
||||||
|
# Use Color output in Genkernel?
|
||||||
|
USECOLOR="yes"
|
||||||
|
|
||||||
|
|
||||||
|
# =========GENKERNEL LOCATION CONFIGURATION============
|
||||||
|
# Variables:
|
||||||
|
# %%ARCH%% - Final determined architecture
|
||||||
|
|
||||||
|
# Default share directory location
|
||||||
|
GK_SHARE="/usr/share/genkernel"
|
||||||
|
#GK_SHARE="/home/brad/Desktop/genkernel"
|
||||||
|
|
||||||
|
# Location of helper-scripts
|
||||||
|
#GK_BIN="${GK_SHARE}/bin"
|
||||||
|
GK_BIN="${GK_SHARE}"
|
||||||
|
# Log output file
|
||||||
|
DEBUGFILE="/var/log/genkernel.log"
|
||||||
|
# Debug Level
|
||||||
|
DEBUGLEVEL=1
|
||||||
|
|
||||||
|
# Default location of kernel source
|
||||||
|
DEFAULT_KERNEL_SOURCE="/usr/src/linux"
|
||||||
|
# Default kernel config
|
||||||
|
DEFAULT_KERNEL_CONFIG="${GK_SHARE}/%%ARCH%%/kernel-config"
|
||||||
|
|
||||||
|
# Configuration file for busybox
|
||||||
|
BUSYBOX_CONFIG="${GK_SHARE}/%%ARCH%%/busy-config"
|
||||||
|
# BusyBox Version
|
||||||
|
BUSYBOX_VER="1.00-pre3"
|
||||||
|
# Busybox bin-cache location, to store pre-compiled busybox
|
||||||
|
# binary is just a bzip2 busybox executable
|
||||||
|
BUSYBOX_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/busybox-${BUSYBOX_VER}-%%ARCH%%.bz2"
|
||||||
|
# Location of BusyBox source tarball
|
||||||
|
BUSYBOX_SRCTAR="${GK_SHARE}/pkg/busybox-${BUSYBOX_VER}.tar.bz2"
|
||||||
|
# Directory created after busybox tarball is extracted
|
||||||
|
BUSYBOX_DIR="busybox-${BUSYBOX_VER}"
|
||||||
|
|
||||||
|
MODULE_INIT_TOOLS_VER="0.9.15-pre4"
|
||||||
|
MODULE_INIT_TOOLS_SRCTAR="${GK_SHARE}/pkg/module-init-tools-${MODULE_INIT_TOOLS_VER}.tar.bz2"
|
||||||
|
MODULE_INIT_TOOLS_DIR="module-init-tools-${MODULE_INIT_TOOLS_VER}"
|
||||||
|
MODULE_INIT_TOOLS_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/insmod-%%ARCH%%-static.bz2"
|
||||||
|
|
||||||
|
DIETLIBC_VER="0.24"
|
||||||
|
DIETLIBC_SRCTAR="${GK_SHARE}/pkg/dietlibc-${DIETLIBC_VER}.tar.bz2"
|
||||||
|
DIETLIBC_DIR="dietlibc-${DIETLIBC_VER}"
|
||||||
|
DIETLIBC_BINCACHE="${GK_SHARE}/pkg/%%ARCH%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%.tar.bz2"
|
||||||
|
DIETLIBC_BINCACHE_TEMP="${GK_SHARE}/pkg/%%ARCH%%/dietlibc-${DIETLIBC_VER}-%%ARCH%%-tempdir"
|
||||||
|
|
@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Genkernel v3.0
|
||||||
|
|
||||||
|
GK_V="3.0"
|
||||||
|
TEMP="/tmp"
|
||||||
|
|
||||||
|
small_die() {
|
||||||
|
echo $1
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
source /etc/genkernel.conf || small_die "could not read /etc/genkernel.conf"
|
||||||
|
source ${GK_BIN}/gen_funcs.sh || small_die "could not read ${GK_BIN}/gen_funcs.sh"
|
||||||
|
clear_log
|
||||||
|
source ${GK_BIN}/gen_cmdline.sh || gen_die "could not read ${GK_BIN}/gen_cmdline.sh"
|
||||||
|
source ${GK_BIN}/gen_arch.sh || gen_die "could not read ${GK_BIN}/gen_arch.sh"
|
||||||
|
source ${GK_BIN}/gen_determineargs.sh || gen_die "could not read ${GK_BIN}/gen_determineargs.sh"
|
||||||
|
source ${GK_BIN}/gen_compile.sh || gen_die "could not read ${GK_BIN}/gen_compile.sh"
|
||||||
|
source ${GK_BIN}/gen_configkernel.sh || gen_die "could not read ${GK_BIN}/gen_configkernel.sh"
|
||||||
|
source ${GK_BIN}/gen_initrd.sh || gen_die "could not read ${GK_BIN}/gen_initrd.sh"
|
||||||
|
|
||||||
|
# Parse all command line options, and load into memory
|
||||||
|
parse_cmdline $*
|
||||||
|
|
||||||
|
print_info 1 "GenKernel v${GK_V}" 1 0
|
||||||
|
|
||||||
|
# Set ${ARCH}
|
||||||
|
get_official_arch
|
||||||
|
|
||||||
|
# Read arch-specific config
|
||||||
|
source ${ARCH_CONFIG} || gen_die "could not read ${ARCH_CONFIG}"
|
||||||
|
source ${GK_SHARE}/${ARCH}/modules_load || gen_die "could not read ${GK_SHARE}/${ARCH}/modules_load"
|
||||||
|
|
||||||
|
# Based on genkernel.conf, arch-specific configs, and commandline options,
|
||||||
|
# get the real args for use.
|
||||||
|
determine_real_args
|
||||||
|
|
||||||
|
print_info 1 "ARCH: ${ARCH}"
|
||||||
|
|
||||||
|
# Configure kernel
|
||||||
|
config_kernel
|
||||||
|
|
||||||
|
# Compile modules
|
||||||
|
compile_modules
|
||||||
|
|
||||||
|
# Compile kernel
|
||||||
|
compile_kernel
|
||||||
|
|
||||||
|
# Compile dietlibc
|
||||||
|
if [ "${USE_DIETLIBC}" = "1" ]
|
||||||
|
then
|
||||||
|
compile_dietlibc
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compile Busybox
|
||||||
|
compile_busybox
|
||||||
|
|
||||||
|
# Compile module-init-tools
|
||||||
|
compile_module_init_tools
|
||||||
|
|
||||||
|
# Create initrd
|
||||||
|
create_initrd
|
||||||
|
|
||||||
|
print_info 1 "DONE"
|
@ -0,0 +1,37 @@
|
|||||||
|
copy .config to other location before making
|
||||||
|
mrproper
|
||||||
|
|
||||||
|
|
||||||
|
arch-dependant compiler setup scripts
|
||||||
|
check for max kernel size
|
||||||
|
check for max kernel + initrd size
|
||||||
|
(make initrd image : max kernel + initrd size - kernel size)
|
||||||
|
|
||||||
|
make --modify-bootloader execute
|
||||||
|
${GK_SHARE}/%%ARCH%%/dobootloader.sh ${kernelname} ${initrdname}
|
||||||
|
for each arch to automate bootloader installation.
|
||||||
|
|
||||||
|
|
||||||
|
sparc:
|
||||||
|
max kernel size + initrd size is 5MB
|
||||||
|
there is seperate max kernel size sparc64: 3.5MB
|
||||||
|
to make kernel : 'make image'
|
||||||
|
arch/sparc/boot/image
|
||||||
|
|
||||||
|
ppc:
|
||||||
|
no max kernel size + initrd size
|
||||||
|
initrd should be the same as x86, pvdabeel should know
|
||||||
|
make vmlinux
|
||||||
|
arch/ppc/boot/vmlinux
|
||||||
|
|
||||||
|
hppa:
|
||||||
|
make vmlinux
|
||||||
|
./vmlinux same as top-level makefile
|
||||||
|
|
||||||
|
alpha:
|
||||||
|
make vmlinux
|
||||||
|
./vmlinux same as top-level makefile
|
||||||
|
gzip -9c vmlinux > vmlinuz
|
||||||
|
no kernel/initrd limits
|
||||||
|
busybox/dietlibc work
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,395 @@
|
|||||||
|
#
|
||||||
|
# Automatically generated make config: don't edit
|
||||||
|
#
|
||||||
|
HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General Configuration
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
|
||||||
|
CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
|
||||||
|
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
|
||||||
|
# CONFIG_FEATURE_VERBOSE_USAGE is not set
|
||||||
|
# CONFIG_FEATURE_INSTALLER is not set
|
||||||
|
# CONFIG_LOCALE_SUPPORT is not set
|
||||||
|
CONFIG_FEATURE_DEVFS=y
|
||||||
|
CONFIG_FEATURE_DEVPTS=y
|
||||||
|
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||||
|
# CONFIG_FEATURE_SUID is not set
|
||||||
|
# CONFIG_SELINUX is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build Options
|
||||||
|
#
|
||||||
|
CONFIG_STATIC=y
|
||||||
|
# CONFIG_LFS is not set
|
||||||
|
# USING_CROSS_COMPILER is not set
|
||||||
|
EXTRA_CFLAGS_OPTIONS=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Installation Options
|
||||||
|
#
|
||||||
|
# CONFIG_INSTALL_NO_USR is not set
|
||||||
|
PREFIX="./_install"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Archival Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_AR is not set
|
||||||
|
# CONFIG_BUNZIP2 is not set
|
||||||
|
# CONFIG_CPIO is not set
|
||||||
|
# CONFIG_DPKG is not set
|
||||||
|
# CONFIG_DPKG_DEB is not set
|
||||||
|
CONFIG_GUNZIP=y
|
||||||
|
# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
|
||||||
|
CONFIG_GZIP=y
|
||||||
|
# CONFIG_RPM2CPIO is not set
|
||||||
|
# CONFIG_RPM is not set
|
||||||
|
CONFIG_TAR=y
|
||||||
|
CONFIG_FEATURE_TAR_CREATE=y
|
||||||
|
# CONFIG_FEATURE_TAR_BZIP2 is not set
|
||||||
|
# CONFIG_FEATURE_TAR_EXCLUDE is not set
|
||||||
|
CONFIG_FEATURE_TAR_GZIP=y
|
||||||
|
# CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set
|
||||||
|
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
|
||||||
|
# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
|
||||||
|
# CONFIG_UNCOMPRESS is not set
|
||||||
|
# CONFIG_UNZIP is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Coreutils
|
||||||
|
#
|
||||||
|
CONFIG_BASENAME=y
|
||||||
|
# CONFIG_CAL is not set
|
||||||
|
CONFIG_CAT=y
|
||||||
|
CONFIG_CHGRP=y
|
||||||
|
CONFIG_CHMOD=y
|
||||||
|
CONFIG_CHOWN=y
|
||||||
|
CONFIG_CHROOT=y
|
||||||
|
# CONFIG_CMP is not set
|
||||||
|
CONFIG_CP=y
|
||||||
|
CONFIG_CUT=y
|
||||||
|
CONFIG_DATE=y
|
||||||
|
CONFIG_FEATURE_DATE_ISOFMT=y
|
||||||
|
CONFIG_DD=y
|
||||||
|
CONFIG_DF=y
|
||||||
|
CONFIG_DIRNAME=y
|
||||||
|
# CONFIG_DOS2UNIX is not set
|
||||||
|
CONFIG_DU=y
|
||||||
|
CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
|
||||||
|
CONFIG_ECHO=y
|
||||||
|
CONFIG_FEATURE_FANCY_ECHO=y
|
||||||
|
CONFIG_ENV=y
|
||||||
|
# CONFIG_EXPR is not set
|
||||||
|
CONFIG_FALSE=y
|
||||||
|
# CONFIG_FOLD is not set
|
||||||
|
CONFIG_HEAD=y
|
||||||
|
# CONFIG_FEATURE_FANCY_HEAD is not set
|
||||||
|
# CONFIG_HOSTID is not set
|
||||||
|
CONFIG_ID=y
|
||||||
|
# CONFIG_LENGTH is not set
|
||||||
|
CONFIG_LN=y
|
||||||
|
# CONFIG_LOGNAME is not set
|
||||||
|
CONFIG_LS=y
|
||||||
|
CONFIG_FEATURE_LS_FILETYPES=y
|
||||||
|
CONFIG_FEATURE_LS_FOLLOWLINKS=y
|
||||||
|
# CONFIG_FEATURE_LS_RECURSIVE is not set
|
||||||
|
CONFIG_FEATURE_LS_SORTFILES=y
|
||||||
|
CONFIG_FEATURE_LS_TIMESTAMPS=y
|
||||||
|
CONFIG_FEATURE_LS_USERNAME=y
|
||||||
|
CONFIG_FEATURE_LS_COLOR=y
|
||||||
|
# CONFIG_MD5SUM is not set
|
||||||
|
CONFIG_MKDIR=y
|
||||||
|
# CONFIG_MKFIFO is not set
|
||||||
|
CONFIG_MKNOD=y
|
||||||
|
CONFIG_MV=y
|
||||||
|
# CONFIG_OD is not set
|
||||||
|
# CONFIG_PRINTF is not set
|
||||||
|
CONFIG_PWD=y
|
||||||
|
# CONFIG_REALPATH is not set
|
||||||
|
CONFIG_RM=y
|
||||||
|
CONFIG_RMDIR=y
|
||||||
|
# CONFIG_SHA1SUM is not set
|
||||||
|
CONFIG_SLEEP=y
|
||||||
|
# CONFIG_FEATURE_FANCY_SLEEP is not set
|
||||||
|
CONFIG_SORT=y
|
||||||
|
# CONFIG_FEATURE_SORT_REVERSE is not set
|
||||||
|
# CONFIG_FEATURE_SORT_UNIQUE is not set
|
||||||
|
# CONFIG_STTY is not set
|
||||||
|
CONFIG_SYNC=y
|
||||||
|
CONFIG_TAIL=y
|
||||||
|
# CONFIG_FEATURE_FANCY_TAIL is not set
|
||||||
|
# CONFIG_TEE is not set
|
||||||
|
CONFIG_TEST=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# test (forced enabled for use with shell)
|
||||||
|
#
|
||||||
|
CONFIG_TOUCH=y
|
||||||
|
# CONFIG_TR is not set
|
||||||
|
CONFIG_TRUE=y
|
||||||
|
CONFIG_TTY=y
|
||||||
|
CONFIG_UNAME=y
|
||||||
|
CONFIG_UNIQ=y
|
||||||
|
# CONFIG_USLEEP is not set
|
||||||
|
# CONFIG_UUDECODE is not set
|
||||||
|
# CONFIG_UUENCODE is not set
|
||||||
|
# CONFIG_WATCH is not set
|
||||||
|
# CONFIG_WC is not set
|
||||||
|
# CONFIG_WHO is not set
|
||||||
|
CONFIG_WHOAMI=y
|
||||||
|
CONFIG_YES=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for cp and mv
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for ls and more
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_AUTOWIDTH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for df, du, ls
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Console Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_CHVT is not set
|
||||||
|
CONFIG_CLEAR=y
|
||||||
|
# CONFIG_DEALLOCVT is not set
|
||||||
|
CONFIG_DUMPKMAP=y
|
||||||
|
# CONFIG_LOADACM is not set
|
||||||
|
CONFIG_LOADFONT=y
|
||||||
|
CONFIG_LOADKMAP=y
|
||||||
|
# CONFIG_OPENVT is not set
|
||||||
|
CONFIG_RESET=y
|
||||||
|
# CONFIG_SETKEYCODES is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debian Utilities
|
||||||
|
#
|
||||||
|
CONFIG_MKTEMP=y
|
||||||
|
CONFIG_READLINK=y
|
||||||
|
# CONFIG_RUN_PARTS is not set
|
||||||
|
# CONFIG_START_STOP_DAEMON is not set
|
||||||
|
CONFIG_WHICH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Editors
|
||||||
|
#
|
||||||
|
# CONFIG_AWK is not set
|
||||||
|
# CONFIG_PATCH is not set
|
||||||
|
CONFIG_SED=y
|
||||||
|
# CONFIG_FEATURE_SED_EMBEDED_NEWLINE is not set
|
||||||
|
# CONFIG_VI is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Finding Utilities
|
||||||
|
#
|
||||||
|
CONFIG_FIND=y
|
||||||
|
# CONFIG_FEATURE_FIND_MTIME is not set
|
||||||
|
# CONFIG_FEATURE_FIND_PERM is not set
|
||||||
|
CONFIG_FEATURE_FIND_TYPE=y
|
||||||
|
CONFIG_FEATURE_FIND_XDEV=y
|
||||||
|
CONFIG_FEATURE_FIND_NEWER=y
|
||||||
|
CONFIG_FEATURE_FIND_INUM=y
|
||||||
|
CONFIG_GREP=y
|
||||||
|
# CONFIG_FEATURE_GREP_EGREP_ALIAS is not set
|
||||||
|
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
|
||||||
|
# CONFIG_FEATURE_GREP_CONTEXT is not set
|
||||||
|
CONFIG_XARGS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Init Utilities
|
||||||
|
#
|
||||||
|
CONFIG_INIT=y
|
||||||
|
CONFIG_FEATURE_USE_INITTAB=y
|
||||||
|
CONFIG_FEATURE_INITRD=y
|
||||||
|
# CONFIG_FEATURE_INIT_COREDUMPS is not set
|
||||||
|
# CONFIG_FEATURE_EXTRA_QUIET is not set
|
||||||
|
CONFIG_HALT=y
|
||||||
|
CONFIG_POWEROFF=y
|
||||||
|
CONFIG_REBOOT=y
|
||||||
|
CONFIG_MESG=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Login/Password Management Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_USE_BB_PWD_GRP is not set
|
||||||
|
# CONFIG_ADDGROUP is not set
|
||||||
|
# CONFIG_DELGROUP is not set
|
||||||
|
# CONFIG_ADDUSER is not set
|
||||||
|
# CONFIG_DELUSER is not set
|
||||||
|
# CONFIG_GETTY is not set
|
||||||
|
# CONFIG_LOGIN is not set
|
||||||
|
# CONFIG_PASSWD is not set
|
||||||
|
# CONFIG_SU is not set
|
||||||
|
# CONFIG_SULOGIN is not set
|
||||||
|
# CONFIG_VLOCK is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Miscellaneous Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_ADJTIMEX is not set
|
||||||
|
# CONFIG_CROND is not set
|
||||||
|
# CONFIG_CRONTAB is not set
|
||||||
|
# CONFIG_DC is not set
|
||||||
|
# CONFIG_LAST is not set
|
||||||
|
# CONFIG_HDPARM is not set
|
||||||
|
# CONFIG_MAKEDEVS is not set
|
||||||
|
# CONFIG_MT is not set
|
||||||
|
# CONFIG_STRINGS is not set
|
||||||
|
# CONFIG_TIME is not set
|
||||||
|
# CONFIG_WATCHDOG is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linux Module Utilities
|
||||||
|
#
|
||||||
|
CONFIG_INSMOD=n
|
||||||
|
# CONFIG_FEATURE_OLD_MODULE_INTERFACE is not set
|
||||||
|
CONFIG_FEATURE_NEW_MODULE_INTERFACE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Support new (post 2.1) Linux kernels (Forced enabled)
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
|
||||||
|
CONFIG_LSMOD=y
|
||||||
|
CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y
|
||||||
|
CONFIG_MODPROBE=y
|
||||||
|
CONFIG_RMMOD=y
|
||||||
|
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Networking Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_IPV6 is not set
|
||||||
|
# CONFIG_ARPING is not set
|
||||||
|
# CONFIG_FTPGET is not set
|
||||||
|
# CONFIG_FTPPUT is not set
|
||||||
|
# CONFIG_HOSTNAME is not set
|
||||||
|
# CONFIG_HTTPD is not set
|
||||||
|
# CONFIG_IFCONFIG is not set
|
||||||
|
# CONFIG_IFUPDOWN is not set
|
||||||
|
# CONFIG_INETD is not set
|
||||||
|
# CONFIG_IP is not set
|
||||||
|
# CONFIG_IPCALC is not set
|
||||||
|
# CONFIG_IPADDR is not set
|
||||||
|
# CONFIG_IPLINK is not set
|
||||||
|
# CONFIG_IPROUTE is not set
|
||||||
|
# CONFIG_IPTUNNEL is not set
|
||||||
|
# CONFIG_NAMEIF is not set
|
||||||
|
# CONFIG_NC is not set
|
||||||
|
# CONFIG_NETSTAT is not set
|
||||||
|
# CONFIG_NSLOOKUP is not set
|
||||||
|
# CONFIG_PING is not set
|
||||||
|
# CONFIG_ROUTE is not set
|
||||||
|
# CONFIG_TELNET is not set
|
||||||
|
# CONFIG_TELNETD is not set
|
||||||
|
# CONFIG_TFTP is not set
|
||||||
|
# CONFIG_TRACEROUTE is not set
|
||||||
|
# CONFIG_VCONFIG is not set
|
||||||
|
# CONFIG_WGET is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# udhcp Server/Client
|
||||||
|
#
|
||||||
|
# CONFIG_UDHCPD is not set
|
||||||
|
# CONFIG_UDHCPC is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Process Utilities
|
||||||
|
#
|
||||||
|
CONFIG_FREE=y
|
||||||
|
CONFIG_KILL=y
|
||||||
|
CONFIG_KILLALL=y
|
||||||
|
# CONFIG_PIDOF is not set
|
||||||
|
CONFIG_PS=y
|
||||||
|
# CONFIG_RENICE is not set
|
||||||
|
# CONFIG_TOP is not set
|
||||||
|
CONFIG_UPTIME=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Another Bourne-like Shell
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_SH_IS_ASH=y
|
||||||
|
# CONFIG_FEATURE_SH_IS_HUSH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_LASH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_MSH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_NONE is not set
|
||||||
|
CONFIG_ASH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ash Shell Options
|
||||||
|
#
|
||||||
|
CONFIG_ASH_JOB_CONTROL=y
|
||||||
|
CONFIG_ASH_ALIAS=y
|
||||||
|
CONFIG_ASH_MATH_SUPPORT=y
|
||||||
|
# CONFIG_ASH_GETOPTS is not set
|
||||||
|
# CONFIG_ASH_CMDCMD is not set
|
||||||
|
CONFIG_ASH_MAIL=y
|
||||||
|
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
|
||||||
|
# CONFIG_HUSH is not set
|
||||||
|
# CONFIG_LASH is not set
|
||||||
|
# CONFIG_MSH is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bourne Shell Options
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_COMMAND_EDITING=y
|
||||||
|
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
|
||||||
|
CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
|
||||||
|
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
||||||
|
CONFIG_FEATURE_COMMAND_HISTORY=15
|
||||||
|
# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
|
||||||
|
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
||||||
|
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# System Logging Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_SYSLOGD is not set
|
||||||
|
# CONFIG_LOGGER is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linux System Utilities
|
||||||
|
#
|
||||||
|
CONFIG_DMESG=y
|
||||||
|
# CONFIG_FBSET is not set
|
||||||
|
# CONFIG_FDFLUSH is not set
|
||||||
|
# CONFIG_FDFORMAT is not set
|
||||||
|
# CONFIG_FDISK is not set
|
||||||
|
CONFIG_FREERAMDISK=y
|
||||||
|
# CONFIG_FSCK_MINIX is not set
|
||||||
|
# CONFIG_MKFS_MINIX is not set
|
||||||
|
# CONFIG_GETOPT is not set
|
||||||
|
# CONFIG_HEXDUMP is not set
|
||||||
|
# CONFIG_HWCLOCK is not set
|
||||||
|
CONFIG_LOSETUP=y
|
||||||
|
# CONFIG_MKSWAP is not set
|
||||||
|
CONFIG_MORE=y
|
||||||
|
CONFIG_FEATURE_USE_TERMIOS=y
|
||||||
|
CONFIG_PIVOT_ROOT=y
|
||||||
|
CONFIG_RDATE=y
|
||||||
|
CONFIG_SWAPONOFF=y
|
||||||
|
CONFIG_MOUNT=y
|
||||||
|
# CONFIG_NFSMOUNT is not set
|
||||||
|
CONFIG_UMOUNT=y
|
||||||
|
# CONFIG_FEATURE_MOUNT_FORCE is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for mount/umount
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_MOUNT_LOOP=y
|
||||||
|
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debugging Options
|
||||||
|
#
|
||||||
|
# CONFIG_DEBUG is not set
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# x86-config.sh
|
||||||
|
|
||||||
|
KERNEL_MAKE="bzImage"
|
||||||
|
KERNEL_BINARY="arch/i386/boot/bzImage"
|
||||||
|
|
||||||
|
# Busybox 1.00-pre3 won't build with dietlibc, when it does we
|
||||||
|
# can turn this flag on
|
||||||
|
USE_DIETLIBC=0
|
||||||
|
|
||||||
|
CC=gcc
|
||||||
|
AS=as
|
||||||
|
LD=ld
|
||||||
|
|
||||||
|
COMPRESS_INITRD=yes
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,189 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Daniel Robbins <drobbins@gentoo.org>
|
||||||
|
# Copyright 2003 Gentoo Technologies, Inc.
|
||||||
|
# Distributed under the GPL
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
BACK_UP="\033[1K\033[0G"
|
||||||
|
HILITE="\033[1m"
|
||||||
|
NORMAL="\033[0m"
|
||||||
|
WARN="\033[1m"
|
||||||
|
BAD="\033[1m"
|
||||||
|
#mount -o remount,rw /
|
||||||
|
mount /proc
|
||||||
|
INITRD="true"
|
||||||
|
SCSI="yes"
|
||||||
|
CDCACHE="no"
|
||||||
|
IDEBUG="no"
|
||||||
|
FIREWIRE="no"
|
||||||
|
ATARAID="no"
|
||||||
|
PCMCIA="no"
|
||||||
|
DETECT="no"
|
||||||
|
USB="yes"
|
||||||
|
KEYMAP="no"
|
||||||
|
if [ ! -e /dev/.devfsd ]
|
||||||
|
then
|
||||||
|
#mount devfs
|
||||||
|
mount -t devfs devfs /dev
|
||||||
|
fi
|
||||||
|
|
||||||
|
CMDLINE="`cat /proc/cmdline`"
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "doscsi" ]
|
||||||
|
then
|
||||||
|
SCSI="yes"
|
||||||
|
elif [ "$x" = "cdcache" ]
|
||||||
|
then
|
||||||
|
CDCACHE="yes"
|
||||||
|
elif [ "$x" = "idebug" ]
|
||||||
|
then
|
||||||
|
IDEBUG="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dofirewire" ]
|
||||||
|
then
|
||||||
|
FIREWIRE="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "nousb" ]
|
||||||
|
then
|
||||||
|
USB="no"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "doataraid" ]
|
||||||
|
then
|
||||||
|
ATARAID="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dopcmcia" ]
|
||||||
|
then
|
||||||
|
PCMCIA="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dokeymap" ]
|
||||||
|
then
|
||||||
|
KEYMAP="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
blurb() {
|
||||||
|
echo -ne ${HILITE}${1}
|
||||||
|
}
|
||||||
|
|
||||||
|
backup() {
|
||||||
|
echo -ne "\033[0G\033[0K"
|
||||||
|
}
|
||||||
|
if [ -e /dev/.devfsd ]
|
||||||
|
then
|
||||||
|
RAM_DEVICE="rd"
|
||||||
|
else
|
||||||
|
RAM_DEVICE="ram0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Create the new root FS
|
||||||
|
|
||||||
|
mounted=""
|
||||||
|
|
||||||
|
initmsg() {
|
||||||
|
echo -e "${HILITE}${*}${NORMAL}"
|
||||||
|
}
|
||||||
|
|
||||||
|
getkeymap() {
|
||||||
|
local mykeymap
|
||||||
|
echo -ne ${HILITE}
|
||||||
|
cat /keymaps/key.lst
|
||||||
|
echo -ne ${NORMAL}
|
||||||
|
read -p "Keymap selection: " mykeymap
|
||||||
|
if [ -e /keymaps/${mykeymap}.map ]
|
||||||
|
then
|
||||||
|
echo -e "${HILITE}---- Loading ${mykeymap} keymap${NORMAL}"
|
||||||
|
loadkmap < /keymaps/${mykeymap}.map
|
||||||
|
elif [ "$mykeymap" = "" ]
|
||||||
|
then
|
||||||
|
#default keymap is "us"
|
||||||
|
echo -e "${HILITE}---- Loading default (US) keymap${NORMAL}"
|
||||||
|
loadkmap < /keymaps/us.map
|
||||||
|
else
|
||||||
|
getkeymap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
modules_scan() {
|
||||||
|
local type
|
||||||
|
type=${1}; shift
|
||||||
|
for x in "$@"
|
||||||
|
do
|
||||||
|
blurb "---- Scanning for ${x}..."
|
||||||
|
insmod.static -f /modules/${type}/${x}.o > /dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]
|
||||||
|
then
|
||||||
|
backup
|
||||||
|
echo -e "${GOOD}---- Detected ${x} hardware${NORMAL}"
|
||||||
|
else
|
||||||
|
backup
|
||||||
|
echo -ne "${NORMAL}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
echo "${GOOD} Initial RAMDISK Loading Starting..."
|
||||||
|
# Mount the CD
|
||||||
|
|
||||||
|
if [ "$SCSI" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=SCSI
|
||||||
|
echo -e "${HILITE} ---- Beginning storage detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan storage %%STORAGE_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$FIREWIRE" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=FIREWIRE
|
||||||
|
echo -e "${HILITE} ---- Beginning firewire detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan firewire %%FIREWIRE_MODULES%%
|
||||||
|
fi
|
||||||
|
if [ "$ATARAID" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=ATARAID
|
||||||
|
echo -e "${HILITE} ---- Beginning ata detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan ataraid %%ATARAID_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$PCMCIA" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=PCMCIA
|
||||||
|
echo -e "${HILITE} ---- Beginning pcmcia detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan %%PCMCIA_MODULES%%
|
||||||
|
fi
|
||||||
|
if [ "$USB" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=USB
|
||||||
|
echo -e "${HILITE} ---- Beginning usb detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan usb %%USB_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KEYMAP" = "yes" ]
|
||||||
|
then
|
||||||
|
getkeymap
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit
|
@ -0,0 +1,27 @@
|
|||||||
|
STORAGE_MODULES="sd_mod sg sr_mod \
|
||||||
|
aic7xxx aic7xxx_old BusLogic \
|
||||||
|
ncr53c8xx NCR53c406a \
|
||||||
|
initio advansys aha1740 aha1542 aha152x \
|
||||||
|
atp870u dtc eata fdomain gdth \
|
||||||
|
megaraid pas16 pci2220i pci2000 psi240i \
|
||||||
|
qlogicfas qlogicfc qlogicisp \
|
||||||
|
seagate t128 tmscsim u14-34f ultrastor wd7000 \
|
||||||
|
a100u2w 3w-xxxx DAC960 NCR53c406a \
|
||||||
|
aacraid sym53c8xx a100u2w cpqfc \
|
||||||
|
dmx3191d dpt_i2o imm in2000 ips qla1280 \
|
||||||
|
sim710 sym53c416"
|
||||||
|
|
||||||
|
FIREWIRE_MODULES="ieee1394 ohci1394 eth1394 sbp2"
|
||||||
|
|
||||||
|
ATARAID_MODULES="ataraid pdcraid hptraid"
|
||||||
|
|
||||||
|
PCMCIA_MODULES="ide-cs"
|
||||||
|
|
||||||
|
USB_MODULES="usbcore ehci-hcd uhci usb-ohci hid usb-storage"
|
||||||
|
|
||||||
|
INITRD_SIZE=5000
|
||||||
|
|
||||||
|
#BOOT_SPLASH_INITRD="/boot/initrd.bs"
|
||||||
|
|
||||||
|
MRPROPER="yes"
|
||||||
|
|
@ -0,0 +1,395 @@
|
|||||||
|
#
|
||||||
|
# Automatically generated make config: don't edit
|
||||||
|
#
|
||||||
|
HAVE_DOT_CONFIG=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# General Configuration
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
|
||||||
|
CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
|
||||||
|
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
|
||||||
|
# CONFIG_FEATURE_VERBOSE_USAGE is not set
|
||||||
|
# CONFIG_FEATURE_INSTALLER is not set
|
||||||
|
# CONFIG_LOCALE_SUPPORT is not set
|
||||||
|
CONFIG_FEATURE_DEVFS=y
|
||||||
|
CONFIG_FEATURE_DEVPTS=y
|
||||||
|
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||||
|
# CONFIG_FEATURE_SUID is not set
|
||||||
|
# CONFIG_SELINUX is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build Options
|
||||||
|
#
|
||||||
|
CONFIG_STATIC=y
|
||||||
|
# CONFIG_LFS is not set
|
||||||
|
# USING_CROSS_COMPILER is not set
|
||||||
|
EXTRA_CFLAGS_OPTIONS=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Installation Options
|
||||||
|
#
|
||||||
|
# CONFIG_INSTALL_NO_USR is not set
|
||||||
|
PREFIX="./_install"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Archival Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_AR is not set
|
||||||
|
# CONFIG_BUNZIP2 is not set
|
||||||
|
# CONFIG_CPIO is not set
|
||||||
|
# CONFIG_DPKG is not set
|
||||||
|
# CONFIG_DPKG_DEB is not set
|
||||||
|
CONFIG_GUNZIP=y
|
||||||
|
# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
|
||||||
|
CONFIG_GZIP=y
|
||||||
|
# CONFIG_RPM2CPIO is not set
|
||||||
|
# CONFIG_RPM is not set
|
||||||
|
CONFIG_TAR=y
|
||||||
|
CONFIG_FEATURE_TAR_CREATE=y
|
||||||
|
# CONFIG_FEATURE_TAR_BZIP2 is not set
|
||||||
|
# CONFIG_FEATURE_TAR_EXCLUDE is not set
|
||||||
|
CONFIG_FEATURE_TAR_GZIP=y
|
||||||
|
# CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set
|
||||||
|
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
|
||||||
|
# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
|
||||||
|
# CONFIG_UNCOMPRESS is not set
|
||||||
|
# CONFIG_UNZIP is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Coreutils
|
||||||
|
#
|
||||||
|
CONFIG_BASENAME=y
|
||||||
|
# CONFIG_CAL is not set
|
||||||
|
CONFIG_CAT=y
|
||||||
|
CONFIG_CHGRP=y
|
||||||
|
CONFIG_CHMOD=y
|
||||||
|
CONFIG_CHOWN=y
|
||||||
|
CONFIG_CHROOT=y
|
||||||
|
# CONFIG_CMP is not set
|
||||||
|
CONFIG_CP=y
|
||||||
|
CONFIG_CUT=y
|
||||||
|
CONFIG_DATE=y
|
||||||
|
CONFIG_FEATURE_DATE_ISOFMT=y
|
||||||
|
CONFIG_DD=y
|
||||||
|
CONFIG_DF=y
|
||||||
|
CONFIG_DIRNAME=y
|
||||||
|
# CONFIG_DOS2UNIX is not set
|
||||||
|
CONFIG_DU=y
|
||||||
|
CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
|
||||||
|
CONFIG_ECHO=y
|
||||||
|
CONFIG_FEATURE_FANCY_ECHO=y
|
||||||
|
CONFIG_ENV=y
|
||||||
|
# CONFIG_EXPR is not set
|
||||||
|
CONFIG_FALSE=y
|
||||||
|
# CONFIG_FOLD is not set
|
||||||
|
CONFIG_HEAD=y
|
||||||
|
# CONFIG_FEATURE_FANCY_HEAD is not set
|
||||||
|
# CONFIG_HOSTID is not set
|
||||||
|
CONFIG_ID=y
|
||||||
|
# CONFIG_LENGTH is not set
|
||||||
|
CONFIG_LN=y
|
||||||
|
# CONFIG_LOGNAME is not set
|
||||||
|
CONFIG_LS=y
|
||||||
|
CONFIG_FEATURE_LS_FILETYPES=y
|
||||||
|
CONFIG_FEATURE_LS_FOLLOWLINKS=y
|
||||||
|
# CONFIG_FEATURE_LS_RECURSIVE is not set
|
||||||
|
CONFIG_FEATURE_LS_SORTFILES=y
|
||||||
|
CONFIG_FEATURE_LS_TIMESTAMPS=y
|
||||||
|
CONFIG_FEATURE_LS_USERNAME=y
|
||||||
|
CONFIG_FEATURE_LS_COLOR=y
|
||||||
|
# CONFIG_MD5SUM is not set
|
||||||
|
CONFIG_MKDIR=y
|
||||||
|
# CONFIG_MKFIFO is not set
|
||||||
|
CONFIG_MKNOD=y
|
||||||
|
CONFIG_MV=y
|
||||||
|
# CONFIG_OD is not set
|
||||||
|
# CONFIG_PRINTF is not set
|
||||||
|
CONFIG_PWD=y
|
||||||
|
# CONFIG_REALPATH is not set
|
||||||
|
CONFIG_RM=y
|
||||||
|
CONFIG_RMDIR=y
|
||||||
|
# CONFIG_SHA1SUM is not set
|
||||||
|
CONFIG_SLEEP=y
|
||||||
|
# CONFIG_FEATURE_FANCY_SLEEP is not set
|
||||||
|
CONFIG_SORT=y
|
||||||
|
# CONFIG_FEATURE_SORT_REVERSE is not set
|
||||||
|
# CONFIG_FEATURE_SORT_UNIQUE is not set
|
||||||
|
# CONFIG_STTY is not set
|
||||||
|
CONFIG_SYNC=y
|
||||||
|
CONFIG_TAIL=y
|
||||||
|
# CONFIG_FEATURE_FANCY_TAIL is not set
|
||||||
|
# CONFIG_TEE is not set
|
||||||
|
CONFIG_TEST=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# test (forced enabled for use with shell)
|
||||||
|
#
|
||||||
|
CONFIG_TOUCH=y
|
||||||
|
# CONFIG_TR is not set
|
||||||
|
CONFIG_TRUE=y
|
||||||
|
CONFIG_TTY=y
|
||||||
|
CONFIG_UNAME=y
|
||||||
|
CONFIG_UNIQ=y
|
||||||
|
# CONFIG_USLEEP is not set
|
||||||
|
# CONFIG_UUDECODE is not set
|
||||||
|
# CONFIG_UUENCODE is not set
|
||||||
|
# CONFIG_WATCH is not set
|
||||||
|
# CONFIG_WC is not set
|
||||||
|
# CONFIG_WHO is not set
|
||||||
|
CONFIG_WHOAMI=y
|
||||||
|
CONFIG_YES=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for cp and mv
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for ls and more
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_AUTOWIDTH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for df, du, ls
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Console Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_CHVT is not set
|
||||||
|
CONFIG_CLEAR=y
|
||||||
|
# CONFIG_DEALLOCVT is not set
|
||||||
|
CONFIG_DUMPKMAP=y
|
||||||
|
# CONFIG_LOADACM is not set
|
||||||
|
CONFIG_LOADFONT=y
|
||||||
|
CONFIG_LOADKMAP=y
|
||||||
|
# CONFIG_OPENVT is not set
|
||||||
|
CONFIG_RESET=y
|
||||||
|
# CONFIG_SETKEYCODES is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debian Utilities
|
||||||
|
#
|
||||||
|
CONFIG_MKTEMP=y
|
||||||
|
CONFIG_READLINK=y
|
||||||
|
# CONFIG_RUN_PARTS is not set
|
||||||
|
# CONFIG_START_STOP_DAEMON is not set
|
||||||
|
CONFIG_WHICH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Editors
|
||||||
|
#
|
||||||
|
# CONFIG_AWK is not set
|
||||||
|
# CONFIG_PATCH is not set
|
||||||
|
CONFIG_SED=y
|
||||||
|
# CONFIG_FEATURE_SED_EMBEDED_NEWLINE is not set
|
||||||
|
# CONFIG_VI is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Finding Utilities
|
||||||
|
#
|
||||||
|
CONFIG_FIND=y
|
||||||
|
# CONFIG_FEATURE_FIND_MTIME is not set
|
||||||
|
# CONFIG_FEATURE_FIND_PERM is not set
|
||||||
|
CONFIG_FEATURE_FIND_TYPE=y
|
||||||
|
CONFIG_FEATURE_FIND_XDEV=y
|
||||||
|
CONFIG_FEATURE_FIND_NEWER=y
|
||||||
|
CONFIG_FEATURE_FIND_INUM=y
|
||||||
|
CONFIG_GREP=y
|
||||||
|
# CONFIG_FEATURE_GREP_EGREP_ALIAS is not set
|
||||||
|
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
|
||||||
|
# CONFIG_FEATURE_GREP_CONTEXT is not set
|
||||||
|
CONFIG_XARGS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Init Utilities
|
||||||
|
#
|
||||||
|
CONFIG_INIT=y
|
||||||
|
CONFIG_FEATURE_USE_INITTAB=y
|
||||||
|
CONFIG_FEATURE_INITRD=y
|
||||||
|
# CONFIG_FEATURE_INIT_COREDUMPS is not set
|
||||||
|
# CONFIG_FEATURE_EXTRA_QUIET is not set
|
||||||
|
CONFIG_HALT=y
|
||||||
|
CONFIG_POWEROFF=y
|
||||||
|
CONFIG_REBOOT=y
|
||||||
|
CONFIG_MESG=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Login/Password Management Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_USE_BB_PWD_GRP is not set
|
||||||
|
# CONFIG_ADDGROUP is not set
|
||||||
|
# CONFIG_DELGROUP is not set
|
||||||
|
# CONFIG_ADDUSER is not set
|
||||||
|
# CONFIG_DELUSER is not set
|
||||||
|
# CONFIG_GETTY is not set
|
||||||
|
# CONFIG_LOGIN is not set
|
||||||
|
# CONFIG_PASSWD is not set
|
||||||
|
# CONFIG_SU is not set
|
||||||
|
# CONFIG_SULOGIN is not set
|
||||||
|
# CONFIG_VLOCK is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Miscellaneous Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_ADJTIMEX is not set
|
||||||
|
# CONFIG_CROND is not set
|
||||||
|
# CONFIG_CRONTAB is not set
|
||||||
|
# CONFIG_DC is not set
|
||||||
|
# CONFIG_LAST is not set
|
||||||
|
# CONFIG_HDPARM is not set
|
||||||
|
# CONFIG_MAKEDEVS is not set
|
||||||
|
# CONFIG_MT is not set
|
||||||
|
# CONFIG_STRINGS is not set
|
||||||
|
# CONFIG_TIME is not set
|
||||||
|
# CONFIG_WATCHDOG is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linux Module Utilities
|
||||||
|
#
|
||||||
|
CONFIG_INSMOD=n
|
||||||
|
# CONFIG_FEATURE_OLD_MODULE_INTERFACE is not set
|
||||||
|
CONFIG_FEATURE_NEW_MODULE_INTERFACE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Support new (post 2.1) Linux kernels (Forced enabled)
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
|
||||||
|
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
|
||||||
|
CONFIG_LSMOD=y
|
||||||
|
CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y
|
||||||
|
CONFIG_MODPROBE=y
|
||||||
|
CONFIG_RMMOD=y
|
||||||
|
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Networking Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_FEATURE_IPV6 is not set
|
||||||
|
# CONFIG_ARPING is not set
|
||||||
|
# CONFIG_FTPGET is not set
|
||||||
|
# CONFIG_FTPPUT is not set
|
||||||
|
# CONFIG_HOSTNAME is not set
|
||||||
|
# CONFIG_HTTPD is not set
|
||||||
|
# CONFIG_IFCONFIG is not set
|
||||||
|
# CONFIG_IFUPDOWN is not set
|
||||||
|
# CONFIG_INETD is not set
|
||||||
|
# CONFIG_IP is not set
|
||||||
|
# CONFIG_IPCALC is not set
|
||||||
|
# CONFIG_IPADDR is not set
|
||||||
|
# CONFIG_IPLINK is not set
|
||||||
|
# CONFIG_IPROUTE is not set
|
||||||
|
# CONFIG_IPTUNNEL is not set
|
||||||
|
# CONFIG_NAMEIF is not set
|
||||||
|
# CONFIG_NC is not set
|
||||||
|
# CONFIG_NETSTAT is not set
|
||||||
|
# CONFIG_NSLOOKUP is not set
|
||||||
|
# CONFIG_PING is not set
|
||||||
|
# CONFIG_ROUTE is not set
|
||||||
|
# CONFIG_TELNET is not set
|
||||||
|
# CONFIG_TELNETD is not set
|
||||||
|
# CONFIG_TFTP is not set
|
||||||
|
# CONFIG_TRACEROUTE is not set
|
||||||
|
# CONFIG_VCONFIG is not set
|
||||||
|
# CONFIG_WGET is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# udhcp Server/Client
|
||||||
|
#
|
||||||
|
# CONFIG_UDHCPD is not set
|
||||||
|
# CONFIG_UDHCPC is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Process Utilities
|
||||||
|
#
|
||||||
|
CONFIG_FREE=y
|
||||||
|
CONFIG_KILL=y
|
||||||
|
CONFIG_KILLALL=y
|
||||||
|
# CONFIG_PIDOF is not set
|
||||||
|
CONFIG_PS=y
|
||||||
|
# CONFIG_RENICE is not set
|
||||||
|
# CONFIG_TOP is not set
|
||||||
|
CONFIG_UPTIME=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Another Bourne-like Shell
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_SH_IS_ASH=y
|
||||||
|
# CONFIG_FEATURE_SH_IS_HUSH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_LASH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_MSH is not set
|
||||||
|
# CONFIG_FEATURE_SH_IS_NONE is not set
|
||||||
|
CONFIG_ASH=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ash Shell Options
|
||||||
|
#
|
||||||
|
CONFIG_ASH_JOB_CONTROL=y
|
||||||
|
CONFIG_ASH_ALIAS=y
|
||||||
|
CONFIG_ASH_MATH_SUPPORT=y
|
||||||
|
# CONFIG_ASH_GETOPTS is not set
|
||||||
|
# CONFIG_ASH_CMDCMD is not set
|
||||||
|
CONFIG_ASH_MAIL=y
|
||||||
|
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
|
||||||
|
# CONFIG_HUSH is not set
|
||||||
|
# CONFIG_LASH is not set
|
||||||
|
# CONFIG_MSH is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bourne Shell Options
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_COMMAND_EDITING=y
|
||||||
|
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
|
||||||
|
CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
|
||||||
|
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
|
||||||
|
CONFIG_FEATURE_COMMAND_HISTORY=15
|
||||||
|
# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
|
||||||
|
CONFIG_FEATURE_SH_FANCY_PROMPT=y
|
||||||
|
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# System Logging Utilities
|
||||||
|
#
|
||||||
|
# CONFIG_SYSLOGD is not set
|
||||||
|
# CONFIG_LOGGER is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linux System Utilities
|
||||||
|
#
|
||||||
|
CONFIG_DMESG=y
|
||||||
|
# CONFIG_FBSET is not set
|
||||||
|
# CONFIG_FDFLUSH is not set
|
||||||
|
# CONFIG_FDFORMAT is not set
|
||||||
|
# CONFIG_FDISK is not set
|
||||||
|
CONFIG_FREERAMDISK=y
|
||||||
|
# CONFIG_FSCK_MINIX is not set
|
||||||
|
# CONFIG_MKFS_MINIX is not set
|
||||||
|
# CONFIG_GETOPT is not set
|
||||||
|
# CONFIG_HEXDUMP is not set
|
||||||
|
# CONFIG_HWCLOCK is not set
|
||||||
|
CONFIG_LOSETUP=y
|
||||||
|
# CONFIG_MKSWAP is not set
|
||||||
|
CONFIG_MORE=y
|
||||||
|
CONFIG_FEATURE_USE_TERMIOS=y
|
||||||
|
CONFIG_PIVOT_ROOT=y
|
||||||
|
CONFIG_RDATE=y
|
||||||
|
CONFIG_SWAPONOFF=y
|
||||||
|
CONFIG_MOUNT=y
|
||||||
|
# CONFIG_NFSMOUNT is not set
|
||||||
|
CONFIG_UMOUNT=y
|
||||||
|
# CONFIG_FEATURE_MOUNT_FORCE is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common options for mount/umount
|
||||||
|
#
|
||||||
|
CONFIG_FEATURE_MOUNT_LOOP=y
|
||||||
|
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debugging Options
|
||||||
|
#
|
||||||
|
# CONFIG_DEBUG is not set
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# x86_64/config.sh
|
||||||
|
|
||||||
|
KERNEL_MAKE="bzImage"
|
||||||
|
KERNEL_BINARY="arch/x86_64/boot/bzImage"
|
||||||
|
|
||||||
|
# Busybox 1.00-pre3 won't build with dietlibc, when it does we
|
||||||
|
# can turn this flag on
|
||||||
|
USE_DIETLIBC=0
|
||||||
|
|
||||||
|
CC=gcc
|
||||||
|
AS=as
|
||||||
|
LD=ld
|
||||||
|
|
||||||
|
COMPRESS_INITRD=yes
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,189 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Daniel Robbins <drobbins@gentoo.org>
|
||||||
|
# Copyright 2003 Gentoo Technologies, Inc.
|
||||||
|
# Distributed under the GPL
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
BACK_UP="\033[1K\033[0G"
|
||||||
|
HILITE="\033[1m"
|
||||||
|
NORMAL="\033[0m"
|
||||||
|
WARN="\033[1m"
|
||||||
|
BAD="\033[1m"
|
||||||
|
#mount -o remount,rw /
|
||||||
|
mount /proc
|
||||||
|
INITRD="true"
|
||||||
|
SCSI="yes"
|
||||||
|
CDCACHE="no"
|
||||||
|
IDEBUG="no"
|
||||||
|
FIREWIRE="no"
|
||||||
|
ATARAID="no"
|
||||||
|
PCMCIA="no"
|
||||||
|
DETECT="no"
|
||||||
|
USB="yes"
|
||||||
|
KEYMAP="no"
|
||||||
|
if [ ! -e /dev/.devfsd ]
|
||||||
|
then
|
||||||
|
#mount devfs
|
||||||
|
mount -t devfs devfs /dev
|
||||||
|
fi
|
||||||
|
|
||||||
|
CMDLINE="`cat /proc/cmdline`"
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "doscsi" ]
|
||||||
|
then
|
||||||
|
SCSI="yes"
|
||||||
|
elif [ "$x" = "cdcache" ]
|
||||||
|
then
|
||||||
|
CDCACHE="yes"
|
||||||
|
elif [ "$x" = "idebug" ]
|
||||||
|
then
|
||||||
|
IDEBUG="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dofirewire" ]
|
||||||
|
then
|
||||||
|
FIREWIRE="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "nousb" ]
|
||||||
|
then
|
||||||
|
USB="no"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "doataraid" ]
|
||||||
|
then
|
||||||
|
ATARAID="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dopcmcia" ]
|
||||||
|
then
|
||||||
|
PCMCIA="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for x in $CMDLINE
|
||||||
|
do
|
||||||
|
if [ "$x" = "dokeymap" ]
|
||||||
|
then
|
||||||
|
KEYMAP="yes"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
blurb() {
|
||||||
|
echo -ne ${HILITE}${1}
|
||||||
|
}
|
||||||
|
|
||||||
|
backup() {
|
||||||
|
echo -ne "\033[0G\033[0K"
|
||||||
|
}
|
||||||
|
if [ -e /dev/.devfsd ]
|
||||||
|
then
|
||||||
|
RAM_DEVICE="rd"
|
||||||
|
else
|
||||||
|
RAM_DEVICE="ram0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Create the new root FS
|
||||||
|
|
||||||
|
mounted=""
|
||||||
|
|
||||||
|
initmsg() {
|
||||||
|
echo -e "${HILITE}${*}${NORMAL}"
|
||||||
|
}
|
||||||
|
|
||||||
|
getkeymap() {
|
||||||
|
local mykeymap
|
||||||
|
echo -ne ${HILITE}
|
||||||
|
cat /keymaps/key.lst
|
||||||
|
echo -ne ${NORMAL}
|
||||||
|
read -p "Keymap selection: " mykeymap
|
||||||
|
if [ -e /keymaps/${mykeymap}.map ]
|
||||||
|
then
|
||||||
|
echo -e "${HILITE}---- Loading ${mykeymap} keymap${NORMAL}"
|
||||||
|
loadkmap < /keymaps/${mykeymap}.map
|
||||||
|
elif [ "$mykeymap" = "" ]
|
||||||
|
then
|
||||||
|
#default keymap is "us"
|
||||||
|
echo -e "${HILITE}---- Loading default (US) keymap${NORMAL}"
|
||||||
|
loadkmap < /keymaps/us.map
|
||||||
|
else
|
||||||
|
getkeymap
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
modules_scan() {
|
||||||
|
local type
|
||||||
|
type=${1}; shift
|
||||||
|
for x in "$@"
|
||||||
|
do
|
||||||
|
blurb "---- Scanning for ${x}..."
|
||||||
|
insmod.static -f /modules/${type}/${x}.o > /dev/null 2>&1
|
||||||
|
if [ $? -eq 0 ]
|
||||||
|
then
|
||||||
|
backup
|
||||||
|
echo -e "${GOOD}---- Detected ${x} hardware${NORMAL}"
|
||||||
|
else
|
||||||
|
backup
|
||||||
|
echo -ne "${NORMAL}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
echo "${GOOD} Initial RAMDISK Loading Starting..."
|
||||||
|
# Mount the CD
|
||||||
|
|
||||||
|
if [ "$SCSI" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=SCSI
|
||||||
|
echo -e "${HILITE} ---- Beginning storage detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan storage %%STORAGE_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$FIREWIRE" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=FIREWIRE
|
||||||
|
echo -e "${HILITE} ---- Beginning firewire detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan firewire %%FIREWIRE_MODULES%%
|
||||||
|
fi
|
||||||
|
if [ "$ATARAID" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=ATARAID
|
||||||
|
echo -e "${HILITE} ---- Beginning ata detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan ataraid %%ATARAID_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$PCMCIA" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=PCMCIA
|
||||||
|
echo -e "${HILITE} ---- Beginning pcmcia detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan %%PCMCIA_MODULES%%
|
||||||
|
fi
|
||||||
|
if [ "$USB" = "yes" ]
|
||||||
|
then
|
||||||
|
DEVICE=USB
|
||||||
|
echo -e "${HILITE} ---- Beginning usb detection${NORMAL}"
|
||||||
|
# This next "%% %%" gets sed tweaked:
|
||||||
|
modules_scan usb %%USB_MODULES%%
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$KEYMAP" = "yes" ]
|
||||||
|
then
|
||||||
|
getkeymap
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit
|
@ -0,0 +1,27 @@
|
|||||||
|
STORAGE_MODULES="sd_mod sg sr_mod \
|
||||||
|
aic7xxx aic7xxx_old BusLogic \
|
||||||
|
ncr53c8xx NCR53c406a \
|
||||||
|
initio advansys aha1740 aha1542 aha152x \
|
||||||
|
atp870u dtc eata fdomain gdth \
|
||||||
|
megaraid pas16 pci2220i pci2000 psi240i \
|
||||||
|
qlogicfas qlogicfc qlogicisp \
|
||||||
|
seagate t128 tmscsim u14-34f ultrastor wd7000 \
|
||||||
|
a100u2w 3w-xxxx DAC960 NCR53c406a \
|
||||||
|
aacraid sym53c8xx a100u2w cpqfc \
|
||||||
|
dmx3191d dpt_i2o imm in2000 ips qla1280 \
|
||||||
|
sim710 sym53c416"
|
||||||
|
|
||||||
|
FIREWIRE_MODULES="ieee1394 ohci1394 eth1394 sbp2"
|
||||||
|
|
||||||
|
ATARAID_MODULES="ataraid pdcraid hptraid"
|
||||||
|
|
||||||
|
PCMCIA_MODULES="ide-cs"
|
||||||
|
|
||||||
|
USB_MODULES="usbcore ehci-hcd uhci usb-ohci hid usb-storage"
|
||||||
|
|
||||||
|
INITRD_SIZE=5000
|
||||||
|
|
||||||
|
#BOOT_SPLASH_INITRD="/boot/initrd.bs"
|
||||||
|
|
||||||
|
MRPROPER="yes"
|
||||||
|
|
Loading…
Reference in new issue