📄 configure
字号:
printflag "/proc filesystem support" CONFIG_PROC_FS if [ "$BIGMEM" ] ; then if [ "$CONFIG_3GB" = "y" ] ; then MEMMAX=3GB elif [ "$CONFIG_2GB" = "y" ] ; then MEMMAX=2GB else MEMMAX=1GB ; fi echo " Maximum physical memory: $MEMMAX" echo "MEMMAX=$MEMMAX" >> $CONFIG write_bool CONFIG_1GB write_bool CONFIG_2GB write_bool CONFIG_3GB fi if [ $VERSION_CODE -ge `version 2 4 0` ] ; then write_bool CONFIG_RWSEM_GENERIC_SPINLOCK write_bool CONFIG_RWSEM_XCHGADD_ALGORITHM fi}echo "" >> $CONFIGecho "" >> $CONFIG_MKecho "" >> $CONFIG_Hif [ $ARCH = "i386" ] && \ grep -qs CONFIG_1GB $LINUX/include/asm-i386/page_offset.h ; then BIGMEM=yfiCONFIG_PCMCIA=ncase $CONF_SRC in 1) if [ -x /sbin/ksyms ] ; then KSYMS="/sbin/ksyms -a" else echo "Hmmm... /sbin/ksyms is broken. Using /proc/ksyms..." KSYMS="cat /proc/ksyms" fi echo "# Options from current kernel" >> $CONFIG echo "# Options from current kernel" >> $CONFIG_MK echo "/* Options from current kernel */" >> $CONFIG_H echo "CHECK=\"/proc/version\"" >> $CONFIG echo "CKSUM=\"`cksum < /proc/version`\"" >> $CONFIG echo "#define CONFIG_MODULES 1" >> $CONFIG_H if [ $VERSION_CODE -lt `version 2 3 37` ] ; then if $KSYMS | grep CardServices | grep -v pcmcia > /dev/null ; then CONFIG_PCMCIA=y fi else symcheck PCMCIA dead_socket pcmcia_core fi symcheck SMP smp_invalidate_needed symcheck PCI pcibios if [ $VERSION_CODE -lt `version 2 3 43` ] ; then symcheck PM apm_register_callback else symcheck PM pm_register fi symcheck SCSI scsi_register scsi_mod symcheck IEEE1394 hpsb_register_lowlevel ieee1394 symcheck SERIAL register_serial serial symcheck PARPORT parport_register parport symcheck PARPORT_PC parport_pc_ops parport_pc symcheck PARPORT_PC_PCMCIA parport_pc_probe_port parport_pc symcheck INET register_netdev symcheck NET_FASTROUTE dev_fastroute_stat symcheck NET_DIVERT divert_ioctl if [ -r /proc/net/wireless ] ; then CONFIG_NET_PCMCIA_RADIO=y else CONFIG_NET_PCMCIA_RADIO=n fi symcheck MODVERSIONS printk_R if [ $VERSION_CODE -lt `version 2 1 7` ] ; then symcheck BLK_DEV_IDE_PCMCIA ide_register fi symcheck TR tr_setup if [ "$BIGMEM" ] ; then symcheck 1GB ^c01 symcheck 2GB ^801 symcheck 3GB ^401 fi symcheck PROC_FS proc_root symcheck PREEMPT preempt_schedule symcheck KDB kdb_ symcheck DEBUG_MCOUNT mcount symcheck MEMLEAK kmalloc_wrap if [ $CONFIG_KDB = "y" -o $CONFIG_DEBUG_MCOUNT = "y" -o \ $CONFIG_MEMLEAK = "y" ] ; then CONFIG_DEBUG_KERNEL=y fi if [ $ARCH = "ppc" ] ; then symcheck _prep_type ALL_PPC fi if [ $VERSION_CODE -ge `version 2 4 0` ] ; then symcheck RWSEM_GENERIC_SPINLOCK __down_read symcheck RWSEM_XCHGADD_ALGORITHM rwsem_wake fi echo "#ifndef __LINUX_MODVERSIONS_H" > $MODVER echo "#define __LINUX_MODVERSIONS_H" >> $MODVER H='[0-9a-f][0-9a-f]' $KSYMS | sed -ne 's/.* \(.*\)_R\(.*'$H$H$H$H'\)/\1 \2/p' | \ awk '{ printf "#define %s\t%s_R%s\n", $1, $1, $2 }' \ >> $MODVER echo "#endif" >> $MODVER ;; 2|3) AUTOCONF=$LINUX/.config if [ ! -r $AUTOCONF ] ; then echo "Config file $AUTOCONF not present!" echo " To fix, run 'make config' in $LINUX." fail fi echo "# Options from $AUTOCONF" >> $CONFIG echo "# Options from $AUTOCONF" >> $CONFIG_MK echo "/* Options from $AUTOCONF */" >> $CONFIG_H echo "CHECK=\"$AUTOCONF\"" >> $CONFIG echo "CKSUM=\"`cksum < $AUTOCONF`\"" >> $CONFIG echo "#define CONFIG_MODULES 1" >> $CONFIG_H configcheck PCMCIA if grep "^ *SMP *= *1" $LINUX/Makefile >/dev/null ; then CONFIG_SMP=y else configcheck SMP fi if [ $VERSION_CODE -lt `version 2 1 7` ] ; then configcheck BLK_DEV_IDE_PCMCIA fi if [ $VERSION_CODE -lt `version 2 3 43` ] ; then configcheck APM ; CONFIG_PM=$CONFIG_APM else configcheck PM fi if [ $VERSION_CODE -ge `version 2 4 0` ] ; then configcheck RWSEM_GENERIC_SPINLOCK configcheck RWSEM_XCHGADD_ALGORITHM fi for C in PCI SCSI SERIAL INET NET_FASTROUTE NET_RADIO NET_DIVERT \ TR MODVERSIONS PROC_FS PARPORT PARPORT_PC PARPORT_PC_PCMCIA \ IEEE1394 NET_PCMCIA_RADIO KERNEL_DEBUGGING MEMLEAK PREEMPT \ DEBUG_KERNEL DEBUG_SPINLOCK ; do configcheck $C done if grep "^CONFIG_PARPORT_PC=y" $AUTOCONF >/dev/null ; then CONFIG_PARPORT_PC=n fi if [ $CONFIG_KERNEL_DEBUGGING = "y" ] ; then CONFIG_DEBUG_KERNEL=y fi if [ $CONFIG_NET_RADIO = "y" ] ; then CONFIG_NET_PCMCIA_RADIO=y fi if [ $ARCH = "arm" ] ; then configcheck ARCH_BRUTUS configcheck ITSY fi if [ $ARCH = "ppc" ] ; then for C in 8xx 4xx RPXLITE RPXCLASSIC MPC823 MPC850 MPC860 \ MPC860T ALL_PPC ; do configcheck $C done fi if [ "$BIGMEM" ] ; then configcheck 1GB configcheck 2GB configcheck 3GB fi ;;esacif [ "$FORCE" = "y" -a "$CONFIG_PCMCIA" = "y" ] ; then CONFIG_PCMCIA=nfiif [ "$USE_PM" != "y" ] ; then CONFIG_PM=n ; fiif [ ! -r ${LINUX}/include/linux/wireless.h ] ; then CONFIG_NET_PCMCIA_RADIO=nfiif ! grep get_lynx_template $LINUX/drivers/ieee1394/pcilynx.c \ >/dev/null 2>&1 ; then CONFIG_IEEE1394=nfiprintconfigecho ""#=======================================================================if [ "$CONFIG_PCI" != "y" -a "$CONFIG_CARDBUS" = "y" ] ; then echo "Cardbus support requires kernel PCI BIOS support!" echo " To fix, re-run 'make config' and disable Cardbus support." failfiif [ $VERSION_CODE -ge `version 2 5 0` -a "$CONFIG_PCMCIA" != "y" ] ; then echo "2.5.0 and later kernels require that PCMCIA be configured in the" echo " kernel source tree. To fix, reconfigure and rebuild your" echo " kernel with PCMCIA enabled." failfiif [ ! -r $LINUX/include/asm ] ; then cd $LINUX/include ; ln -s asm-$ARCH asm 2>/dev/nullfiif [ ! -r $LINUX/include/asm ] ; then echo "$LINUX/include/asm does not exist!" echo " To fix, do 'ln -s asm-$ARCH asm' in $LINUX/include." failfiAFLAGS=CONFIG_ISA=yCONFIG_UID16=yif [ $ARCH = "ppc" ] ; then CONFIG_ISA=n AFLAGS="-fno-builtin -msoft-float" if [ $VERSION_CODE -ge `version 2 1 26` ] ; then AFLAGS="$AFLAGS -ffixed-r2" fielif [ $ARCH = "alpha" ] ; then AFLAGS="-mno-fp-regs" if [ $VERSION_CODE -ge `version 2 1 26` ] ; then AFLAGS="$AFLAGS -ffixed-8" fi CONFIG_UID16=nfiwrite_str ARCHwrite_str HOST_ARCHwrite_str AFLAGSwrite_bool CONFIG_ISAif [ $VERSION_CODE -ge `version 2 3 40` ] ; then write_bool CONFIG_UID16fiif [ $CONF_SRC != 1 -a "$CONFIG_MODVERSIONS" = "y" ] ; then MODVER="$LINUX/$MODVER" if [ ! -r $MODVER ] ; then echo "$MODVER does not exist!" echo " To fix, run 'make dep' in $LINUX." fail fielse # We may need at least an empty modversions.h file touch $MODVER MODVER="../$MODVER"fiif [ "$CONFIG_SMP" = "y" ] ; then echo "#define __SMP__ 1" >> $CONFIG_Hfiecho "" >> $CONFIGecho "" >> $CONFIG_MKecho "" >> $CONFIG_H#=======================================================================HAS_PROC_BUS=nif [ "$CONFIG_MODVERSIONS" = "y" ] ; then echo "MFLAG=-DMODVERSIONS -include $MODVER" >> $CONFIG_MKelse echo "MFLAG=" >> $CONFIG_MKfiif [ "$CONFIG_PCMCIA" = "y" ] ; then # Use our kernel config, then kernel headers, then our headers CPPFLAGS="-I../include/static -I\$(LINUX)/include -I../include"else # Use our kernel config and headers, then kernel headers CPPFLAGS="-I../include -I\$(LINUX)/include"fiecho "CPPFLAGS=$CPPFLAGS" >> $CONFIG_MKif [ $VERSION_CODE -ge `version 2 1 31` -a \ $VERSION_CODE -le `version 2 1 34` ] ; then echo "Kernel versions 2.1.31-33 are broken. Upgrade to 2.1.34." failfiif [ $VERSION_CODE -ge `version 2 1 90` -a \ $VERSION_CODE -le `version 2 1 102` ] ; then echo "Kernel versions 2.1.90-2.1.102 are broken. Upgrade to 2.2." failfiif [ $VERSION_CODE -gt `version 2 1 104` ] ; then HAS_PROC_BUS=$CONFIG_PROC_FSfiwrite_str UTS_RELEASEwrite_str UTS_VERSIONecho "LINUX_VERSION_CODE=$VERSION_CODE" >> $CONFIGecho "LINUX_VERSION_CODE=$VERSION_CODE" >> $CONFIG_MKecho "#define LINUX_VERSION_CODE $VERSION_CODE" >> $CONFIG_Hecho "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" \ >> $CONFIG_Hecho "" >> $CONFIGecho "" >> $CONFIG_MKecho "" >> $CONFIG_Hwrite_bool HAS_PROC_BUSif [ $VERSION_CODE -ge `version 2 1 7` -o \ "$CONFIG_BLK_DEV_IDE_PCMCIA" = "y" ] ; then echo "DO_IDE=y" >> $CONFIG_MKfiif [ $VERSION_CODE -ge `version 2 3 6` ] ; then CONFIG_PARPORT_PC=$CONFIG_PARPORT_PC_PCMCIAfiif [ $CONFIG_PARPORT_PC = "y" -a $VERSION_CODE -ge `version 2 2 0` ] ; then echo "DO_PARPORT=y" >> $CONFIG_MKfiif [ $CONFIG_NET_PCMCIA_RADIO = "y" ] ; then VER=`gcc -E -dM ${LINUX}/include/linux/wireless.h | \ sed -ne 's/#define WIRELESS_EXT //p'` if [ $VER -ge 10 ] ; then echo "DO_ORINOCO=y" >> $CONFIG_MK fifiSCSI=$LINUX/drivers/scsiif [ "$CONFIG_SCSI" = "y" -a "$CONFIG_CARDBUS" = "y" ] ; then if grep ADAPTEC_1480A $SCSI/aic7xxx.c >/dev/null 2>&1 ; then echo "DO_APA1480=y" >> $CONFIG_MK NEW_AIC7XXX=n fi if [ -r $SCSI/aic7xxx/aic7xxx.c ] ; then echo "DO_APA1480=y" >> $CONFIG_MK NEW_AIC7XXX=y fi write_bool NEW_AIC7XXX for f in aic7xxx.h aic7xxx/aic7xxx{,_linux,_osm}.h ; do if [ -r $SCSI/$f ] ; then AIC7XXX_H=$f ; fi done echo "#define AIC7XXX_H <../drivers/scsi/$AIC7XXX_H>" >> $CONFIG_Hfi#=======================================================================# Check out the module stuffif [ ! -x /sbin/insmod -o ! -x /sbin/rmmod -o ! -x /sbin/lsmod ] ; then echo "Your module utilities (insmod, rmmod) are missing from /sbin!" echo " To fix, you should build and install the latest set" \ "of module tools," echo " available from FTP sites listed in the HOWTO." failfiMOD_RELEASE=`/sbin/insmod -V 2>&1 | \ sed -n -e 's/.*[Vv]ersion \([0-9][0-9.]*[0-9]\).*/\1/p'`X=`echo $MOD_RELEASE | sed -e 's/\./ /g'`MOD_CODE=`version $X`if [ $VERSION_CODE -ge `version 2 1 85` ] ; then NEED=`version 2 1 85` ; T=2.1.85elif [ $VERSION_CODE -ge `version 2 1 18` ] ; then NEED=`version 2 1 23` ; T=2.1.23else NEED=`version 2 0 0` ; T=2.0.0fiif [ $NEED -gt $MOD_CODE ] ; then echo "Your module utilities are version $MOD_RELEASE. That is too old" echo " for this kernel! To fix, upgrade to at least version $T." failfi#=======================================================================# Is the boot setup OK?if [ "$PREFIX" = "" ] ; then if [ -f /etc/lilo.conf -a -f /boot/map ] ; then if [ /vmlinuz -nt /boot/map ] ; then echo "Your boot map file is older than /vmlinuz. "\ "If you installed /vmlinuz" echo "by hand, please run 'lilo' to update your boot"\ "data, and then reboot."# else# echo "Your 'lilo' installation appears to be OK." fi else echo "It doesn't look like you are using 'lilo'." fifi#=======================================================================# How should the startup scripts be configured?if [ "$PREFIX" = "" ] ; then if [ -d /sbin/init.d -o -d /etc/rc.d/init.d -o -d /etc/init.d ] ; then echo "It looks like you have a System V init file setup." SYSV_INIT=y if [ -d /sbin/init.d ] ; then RC_DIR=/sbin/init.d elif [ -d /etc/rc.d/init.d ] ; then RC_DIR=/etc/rc.d else RC_DIR=/etc fi else echo "It looks like you have a BSD-ish init file setup." if ! grep rc.pcmcia /etc/rc.d/rc.S >/dev/null ; then echo " You'll need to edit /etc/rc.d/rc.S to invoke" \ "/etc/rc.d/rc.pcmcia" echo " so that PCMCIA services will start at boot time." fi SYSV_INIT= fi write_bool SYSV_INIT if [ "$SYSV_INIT" = "y" ] ; then write_str RC_DIR ; fielse ask_bool "System V init script layout" SYSV_INIT if [ "$SYSV_INIT" = "y" ] ; then ask_str "Top-level directory for RC scripts" RC_DIR fifiecho ""#=======================================================================# Optional stuffHAS_FORMS=nif [ -r /usr/include/X11/Xlib.h -o \ -r /usr/X11R6/include/X11/Xlib.h ] ; then echo "X Window System include files found." for f in /usr/{X11/,X11R6/,local/,}lib/libforms.{so,a} ; do if [ -r $f ] ; then break ; fi done for g in /usr/{X11/,X11R6/,local/,}include/{,X11/}forms.h ; do if [ -r $g ] ; then break ; fi done if [ -r $f -a -r $g ] ; then echo "$f and $g found." HAS_FORMS=y FLIBS="-L/usr/X11R6/lib -L/usr/X11/lib -lforms -lX11" if nm $f | grep 'U Xpm' >/dev/null ; then FLIBS="$FLIBS -lXpm" fi else echo "Forms library not installed." fielse echo "X Window System include files not installed."fiif [ "$HAS_FORMS" != "y" ] ; then echo " If you wish to build the 'cardinfo' control panel, you need" \ "the Forms" echo " library and the X Window System include files. See the HOWTO" \ "for details." HAS_FORMS=nfiwrite_bool HAS_FORMSif [ "$HAS_FORMS" = "y" ] ; then write_str FLIBS ; fi#=======================================================================if [ ! -d /var/run ] ; then echo "WARNING: /var/run not found." echo " To fix, do 'mkdir /var/run'."fi# Where do man pages go?md (){ L=`env LANG=en_US man -w $1 2>/dev/null | sed -ne 's+/man/.*+/man/+p'` if [ -d "$L" ] ; then echo $L ; else echo $2 ; fi}MANDIR=`md ls /usr/man`write_str MANDIRXMANDIR=`md xterm /usr/X11R6/man`write_str XMANDIR#=======================================================================echo "" >> $CONFIG_Hecho "#endif /* _PCMCIA_CONFIG_H */" >> $CONFIG_Hmv $CONFIG config.outtouch .prereq.okecho ""echo "Configuration successful."echo ""if [ "$CONFIG_PCMCIA" = "y" ] ; then echo "Your kernel is configured with PCMCIA driver support. Therefore," echo "'make all' will compile the PCMCIA utilities but not the drivers." echo ""fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -