Kinda interactive way of doing a make config

Norm Peterson (norm@python.itek.net)
Wed, 9 Aug 1995 12:22:02 -0400 (EDT)


A while ago, amid all the talk about making better comments for the
kernel sources, someone out here said they wanted a more interactive way
of doing a make config. And it just so happens, I didn't have much to do
Sunday .. so I made one.

This script uses the dialog program to display menus and stuff. I have
version 0.5 from sunsite .. I don't know if it'll work with older versions.

Run it .. test it .. tell me what's wrong/what could be changed/etc.

-------------------------- cut here ----------------------------------------
#!/bin/sh
#
# Kernel Konfig 0.0 -- dialog menu based kernel source configure script
#
# I was bored a couple days ago .. and on the kernel mailing list,
# someone once said they wanted a more interactive way to do the make
# config. So, here I am...
#
# Below are some variables you might wanna set.
# CONFIG is supposed to be [Kernel sources]/.config
# CONFIG_H is [Kernel sources dir]/include/linux/autoconf.h
# and DOC_CONFIG should be the same as CONFIG .. loads the old values
#
# I have these set differently right now, cuz this is just in testing.
# I've worked on this for about 3 days .. so, I'm sure there is some bugs
# in here somewhere :)

# CONFIG=/usr/src/linux/.config
CONFIG=config
# CONFIG_H=/usr/src/linux/include/linux/autoconf.h
CONFIG_H=config.h
# DOT_CONFIG=/usr/src/linux/.config
DOT_CONFIG=dot.config.all
QUIT=n

mv -f $CONFIG /tmp/config.old
mv -f $CONFIG_H /tmp/autoconf.old

############################################
# Put stuff in $CONFIG and $CONFIG_H files #
# $1 = Variable Text $2 = y/n #
############################################
function putconf ()
{
result=$(eval echo "\${$1:-n}")
if [ "$result" = "y" ]; then
echo "$1=y" >> $CONFIG
echo "#define $1 1" >> $CONFIG_H
else
echo "# $1 is not set" >> $CONFIG
echo "#undef $1" >> $CONFIG_H
fi
}

###############################################################################
# Boolean Question -- Does NOT write result in the $CONFIG or $CONFIG_H files #
# $1 = Question Text $2 = Variable $TITLE = Title #
###############################################################################
function bool ()
{
answer=""
while [ "$answer" != "y" -a "$answer" != "n" ]; do
dialog --title "$TITLE" --yesno "$1" 5 `expr ${#1} + 10`
EXIT=$?
if [ $EXIT = 0 ]; then
answer="y"
elif [ $EXIT = 1 ]; then
answer="n"
fi
done
eval "$2=$answer"
}

# Load current settings
. $DOT_CONFIG
# Trash old tmp files .. just in case
rm -f kk*

#############
# Main Menu #
#############
while [ "$QUIT" != "y" ]; do
dialog --title "Kernel Konfig 0.0" --menu "Main Menu" 17 50 10 \
"GEN" "General Setup" \
"MOD" "Loadable Module" \
"SCS" "SCSI Support" \
"CDR" "CD-ROM Drivers (Not SCSI nor IDE/ATAPI)" \
"FIL" "File Systems" \
"CHR" "Character Devices" \
"SND" "Sound" \
"KNL" "Kernel Hacking" \
"ABT" "About without saving" \
"EXT" "Save settings and exit" \
2> kk

case `cat kk` in
#################
# General Setup #
#################
GEN) # Get Current Values
MAT=off; FLO=off; MFM=off; XDS=off; NET=off
MEM=off; PCI=off; IPC=off; ELF=off; OP4=off
if [ "$CONFIG_MATH_EMULATION" = "y" ]; then MAT=on; fi
if [ "$CONFIG_BLK_DEV_FD" = "y" ]; then FLO=on; fi
if [ "$CONFIG_ST506" = "y" ]; then MFM=on; fi
if [ "$CONFIG_BLK_DEV_XD" = "y" ]; then XDS=on; fi
if [ "$CONFIG_NET" = "y" ]; then NET=on; fi
if [ "$CONFIG_MAX_16M" = "y" ]; then MEM=on; fi
if [ "$CONFIG_PCI" = "y" ]; then PCI=on; fi
if [ "$CONFIG_SYSVIPC" = "y" ]; then IPC=on; fi
if [ "$CONFIG_BINFMT_ELF" = "y" ]; then ELF=on; fi
if [ "$CONFIG_M486" = "y" ]; then OP4=on; fi
dialog --title "General Setup" --checklist "Check the following" \
17 60 10 \
MAT "Math emulation" $MAT\
FLO "Floppy disk support" $FLO \
MFM "MFM/RLL disk and IDE disk/cdrom support" $MFM \
XDS "XT Harddisk support" $XDS \
NET "Networking support" $NET \
MEM "Limit memory to low 16MB" $MEM \
PCI "PCI bios support" $PCI \
IPC "System V IPC" $IPC \
ELF "Kernel support for ELF binaries" $ELF \
486 "Use -m486 flag for 486-specific optimizations" $OP4 \
2> kk

# Set everything to no .. then set everything as to the checklist
CONFIG_MATH_EMULATION=n; CONFIG_BLK_DEV_FD=n; CONFIG_ST506=n
CONFIG_BLK_DEV_HD=n; CONFIG_BLK_DEV_IDE=n; CONFIG_BLK_DEV_IDECD=n
CONFIG_BLK_DEV_XD=n; CONFIG_NET=n; CONFIG_MAX_16M=n; CONFIG_PCI=n
CONFIG_SYSVIPC=n; CONFIG_BINFMT_ELF=n; CONFIG_M486=n;
for J in `cat kk`; do
case `eval echo $J` in
MAT) CONFIG_MATH_EMULATION=y;;
FLO) CONFIG_BLK_DEV_FD=y;;
MFM) CONFIG_ST506=y
TITLE="IDE disk/cdrom support"
bool "Use old disk-only driver for primary i/f" \
CONFIG_BLK_DEV_HD
if [ "$CONFIG_BLK_DEV_HD" = "y" ]; then
bool "Include new IDE driver for secondiary i/f support" \
CONFIG_BLK_DEV_IDE
else
bool "Use new IDE driver for primary/secondary i/f" \
CONFIG_BLK_DEV_IDE
fi
if [ "$CONFIG_BLK_DEV_IDE" = "y" ]; then
bool "Include support for IDE/ATAPI CD-ROMs" \
CONFIG_BLK_DEV_IDECD
fi ;;
XDS) CONFIG_BLK_DEV_XD=y;;
NET) CONFIG_NET=y;;
MEM) CONFIG_MAX_16M=y;;
PCI) CONFIG_PCI=y
TITLE="PCI Bios Support"
bool "PCI bridge optimisation (experimental)" \
CONFIG_PCI_OPTIMIZE;;
IPC) CONFIG_SYSVIPC=y;;
ELF) CONFIG_BINFMT_ELF=y
bool "Compile kernel as ELF - if your GCC is ELF-GCC" \
CONFIG_KERNEL_ELF;;
486) CONFIG_M486=y;;
esac
done

######################
# Networking Options #
######################
if [ "$CONFIG_NET" = "y" ]; then
TITLE="Networking Options"
bool 'TCP/IP networking?' CONFIG_INET
bool "Network device support" CONFIG_NETDEVICES
fi
if [ "$CONFIG_INET" = "y" ]; then
FOR=off; MUL=off; WAL=off; COU=off; TUN=off; PCT=off; ARP=off;
SUB=off; NAG=off; RTE=off; WIN=off; IPX=off; TAL=off; AMA=off
if [ "$CONFIG_IP_FORWARD" = "y" ]; then FOR=on; fi
if [ "$CONFIG_IP_MULTICAST" = "y" ]; then MUL=on; fi
if [ "$CONFIG_IP_FIREWALL" = "y" ]; then WAL=on; fi
if [ "$CONFIG_IP_ACCT" = "y" ]; then COU=on; fi
if [ "$CONFIG_NET_IPIP" = "y" ]; then TUN=on; fi
if [ "$CONFIG_INET_PCTCP" = "y" ]; then PCT=on; fi
if [ "$CONFIG_INET_RARP" = "y" ]; then ARP=on; fi
if [ "$CONFIG_INET_SNARL" = "y" ]; then SUB=on; fi
if [ "$CONFIG_TCP_NAGLE_OFF" = "y" ]; then NAG=on; fi
if [ "$CONFIG_IP_NOSR" = "y" ]; then RTE=on; fi
if [ "$CONFIG_SKB_LARGE" = "y" ]; then WIN=on; fi
if [ "$CONFIG_IPX" = "y" ]; then IPX=on; fi
if [ "$CONFIG_ATALK" = "y" ]; then TAL=on; fi
if [ "$CONFIG_AX25" = "y" ]; then AMA=on; fi
dialog --title "Networking Options" --checklist "Check the following" \
21 75 14 \
FOR "IP: forwarding/gatewaying" $FOR \
MUL "IP: multicasting" $MUL \
WAL "IP: firewalling" $WAL \
COU "IP: accounting" $COU \
TUN "IP: tunneling" $TUN \
PCT "IP: PC/TCP compatibility mode" $PCT \
ARP "IP: Reverse ARP" $ARP \
SUB "IP: Assume subnets are local" $SUB \
NAG 'IP: Disable NAGLE algorithm (normally enabled)' $NAG \
RTE "IP: Drop source routed frames" $RTE \
WIN 'IP: Allow large windows (not recommend if <16 MB of memory)' $WIN \
IPX "The IPX protocol" $IPX \
TAL "Appletalk DDP" $TAL \
AMA "Amateur Radio AX.25 Level 2" $AMA 2> kk

CONFIG_IP_FORWARD=n; CONFIG_IP_MULTICAST=n; CONFIG_IP_FIREWALL=n
CONFIG_IP_ACCT=n; CONFIG_NET_IPIP=n; CONFIG_INET_PCTCP=n
CONFIG_INET_RARP=n; CONFIG_INET_SNARL=n; CONFIG_TCP_NAGLE_OFF=n
CONFIG_IP_NOSR=n; CONFIG_SKB_LARGE=n; CONFIG_IPX=n; CONFIG_ATALK=n
CONFIG_AX25=n
for J in `cat kk`; do
case `eval echo $J` in
FOR) CONFIG_IP_FORWARD=y;;
MUL) CONFIG_IP_MULTICAST=y;;
WAL) CONFIG_IP_FIREWALL=y
if [ "$CONFIG_IP_FORWARD" = "y" -a \
"$CONFIG_IP_FIREWALL" = "y" ]; then
bool "IP: firewall packet logging" \
CONFIG_IP_FIREWALL_VERBOSE
bool 'IP: masquerading (ALPHA)' CONFIG_IP_MASQUERADE
fi;;
COU) CONFIG_IP_ACCT=y;;
TUN) CONFIG_NET_IPIP=y;;
PCT) CONFIG_INET_PCTCP=y;;
ARP) CONFIG_INET_RARP=y;;
SUB) CONFIG_INET_SNARL=y;;
NAG) CONFIG_TCP_NAGLE_OFF=y;;
RTE) CONFIG_IP_NOSR=y;;
WIN) CONFIG_SKB_LARGE=y;;
IPX) CONFIG_IPX=y;;
TAL) CONFIG_ATALK=y;;
AMA) CONFIG_AX25=y
bool "Amateur Radio NET/ROM" CONFIG_NETROM;;
esac
done
fi #if CONFIG_INET = y
if [ "$CONFIG_NETDEVICES" = "y" ]; then
DUM=off; SLP=off; PPP=off; PLP=off; EQL=off; SMC=off
LNC=off; COM=off; ISA=off; VLB=off; POK=off; TOR=off
if [ "$CONFIG_DUMMY" = "y" ]; then DUM=on; fi
if [ "$CONFIG_SLIP" = "y" ]; then SLP=on; fi
if [ "$CONFIG_PPP" = "y" ]; then PPP=on; fi
if [ "$CONFIG_PLIP" = "y" ]; then PLP=on; fi
if [ "$CONFIG_EQUALIZER" = "y" ]; then EQL=on; fi
if [ "$CONFIG_NET_VENDOR_SMC" = "y" ]; then SMC=on; fi
if [ "$CONFIG_LANCE" = "y" ]; then LNC=on; fi
if [ "$CONFIG_NET_VENDOR_3COM" = "y" ]; then COM=on; fi
if [ "$CONFIG_NET_ISA" = "y" ]; then ISA=on; fi
if [ "$CONFIG_NET_EISA" = "y" ]; then VLB=on; fi
if [ "$CONFIG_NET_POCKET" = "y" ]; then POK=on; fi
if [ "$CONFIG_TR" = "y" ]; then TOR=on; fi
dialog --title "Network Device Support" --checklist \
"Check the following" 19 63 12 \
DUM "Dummy net driver support" $DUM \
SLP 'SLIP (serial line) support' $SLP \
PPP 'PPP (point-to-point) support' $PPP \
PLP 'PLIP (parallel port) support' $PLP \
EQL 'EQL (serial line load balancing) support' $EQL \
SMC "Western Digital/SMC cards" $SMC \
LNC 'AMD LANCE and PCnet (AT1500 and NE2100) support' $LNC \
COM "3COM cards" $COM \
ISA "Other ISA cards" $ISA \
VLB "EISA, VLB, PCI and on board controllers" $VLB \
POK "Pocket and portable adaptors" $POK \
TOR "Token Ring driver support" $TOR 2> kk

CONFIG_DUMMY=n; CONFIG_SLIP=n; CONFIG_PPP=n; CONFIG_PPP=n
CONFIG_PLIP=n; CONFIG_EQUALIZER=n; CONFIG_NET_VENDOR_SMC=n
CONFIG_LANCE=n; CONFIG_NET_VENDOR_3COM=n; CONFIG_NET_ISA=n
CONFIG_NET_EISA=n; CONFIG_NET_POCKET=n; CONFIG_TR=n
for J in `cat kk`; do
case `eval echo $J` in
DUM) CONFIG_DUMMY=y;;
SLP) CONFIG_SLIP=y
TITLE="SLIP Options"
bool "CSLIP compressed headders" CONFIG_SLIP_COMPRESSED
bool "16 channels instead of 4" SL_SLIP_LOTS;;
PPP) CONFIG_PPP=y
TITLE="PPP Options"
bool "16 channels instead of 4" CONFIG_PPP_LOTS;;
PLP) CONFIG_PLIP=y;;
EQL) CONFIG_EQUALIZER=y;;
SMC) CONFIG_NET_VENDOR_SMC=y
TITLE="SMC Cards"
bool 'WD80*3 support' CONFIG_WD80x3
bool "SMC Ultra support" CONFIG_ULTRA;;
LNC) CONFIG_LANCE=y;;
COM) CONFIG_NET_VENDOR_3COM=y
TITLE="3COM Cards"
bool "3c501 support" CONFIG_EL1
bool "3c503 support" CONFIG_EL2
bool "3c509/3c579 support" CONFIG_EL3;;
ISA) CONFIG_NET_ISA=y
ARC=off; E21=off; DEP=off; EWK=off; HPP=off; HPL=off
HP1=off; NE2=off; G16=off
if [ "$CONFIG_ARCNET" = "y" ]; then ARC=on; fi
if [ "$CONFIG_E2100" = "y" ]; then E21=on; fi
if [ "$CONFIG_DEPCA" = "y" ]; then DEP=on; fi
if [ "$CONFIG_EWRK3" = "y" ]; then EWK=on; fi
if [ "$CONFIG_HPLAN_PLUS" = "y" ]; then HPP=on; fi
if [ "$CONFIG_HPLAN" = "y" ]; then HPL=on; fi
if [ "$CONFIG_HP100" = "y" ]; then HP1=on; fi
if [ "$CONFIG_NE2000" = "y" ]; then NE2=on; fi
if [ "$CONFIG_SK_G16" = "y" ]; then G16=on; fi
dialog --title "Other ISA Cards" --checklist \
"Check the following" 16 58 9 \
ARC "Arcnet support" $ARC \
E21 "Cabletron E21xx support" $E21 \
DEP "DEPCA support" $DEP \
EWK "EtherWorks 3 support" $EWK \
HPP 'HP PCLAN+ (27247B and 27252A) support' $HPP \
HPL 'HP PCLAN (27245 and other 27xxx series)' $HPL \
HP1 'HP 10/100VG PCLAN (ISA, EISA, PCI) support' $HP1 \
NE2 "NE2000/NE1000 support" $NE2 \
G16 "SK_G16 support" $G16 2> kk
CONFIG_ARCNET=n; CONFIG_E2100=n; CONFIG_DEPCA=n
CONFIG_EWRK3=n; CONFIG_HPLAN_PLUS=n; CONFIG_HPLAN=n
CONFIG_HP100=n; CONFIG_NE2000=n; CONFIG_SK_G16=n
for J in `cat kk`; do
case `eval echo $J` in
ARC) CONFIG_ARCNET=y;;
E21) CONFIG_E2100=y;;
DEP) CONFIG_DEPCA=y;;
EWK) CONFIG_EWRK3=y;;
HPP) CONFIG_HPLAN_PLUS=y;;
HPL) CONFIG_HPLAN=y;;
HP1) CONFIG_HP100=y;;
NE2) CONFIG_NE2000=y;;
G16) CONFIG_SK_G16=y;;
esac
done;;
VLB) CONFIG_NET_EISA=y
TITLE="EISA/VLB/PCI Cards"
bool "Apricot Xen-II on board ethernet" CONFIG_APRICOT
bool "DE425, DE434, DE435, DE500 support" CONFIG_DE4X5
bool "Zenith Z-Note support" CONFIG_ZNET;;
POK) CONFIG_NET_POCKET=y
TITLE="Pocket Options"
bool "AT-LAN-TEC/RealTek pocket adaptor support" CONFIG_ATP
bool "D-Link DE600 pocket adaptor support" CONFIG_DE600
bool "D-Link DE620 pocket adaptor support" CONFIG_DE620;;
TOR) CONFIG_TR=y
TITLE="Token Ring Options"
bool "IBM Tropic chipset based adaptor support" CONFIG_IBMTR;;
esac
done
if [ "$CONFIG_AX25" = "y" ]; then
TITLE="Amateur Radio"
bool "Z8530 SCC kiss emulation driver for AX.25" CONFIG_SCC
fi
# Now the Alpha Drivers
TITLE="Networking Options"
bool "Do you want to be offered ALPHA test drivers" CONFIG_NET_ALPHA
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
if [ "$CONFIG_NET_VENDOR_3COM" = "y" ]; then
TITLE="3COM Alpha"
bool '3c505 support?' CONFIG_ELPLUS
bool '3c507 support?' CONFIG_EL16
fi # if 3COM = y
if [ "$CONFIG_NET_ISA" = "y" ]; then
TITLE="ISA Alpha"
bool 'SEEQ8005 support?' CONFIG_SEEQ8005
bool 'AT1700 support?' CONFIG_AT1700
bool 'EtherExpressPro support?' CONFIG_EEXPRESS_PRO
bool 'EtherExpress support?' CONFIG_EEXPRESS
bool 'NI5210 support?' CONFIG_NI52
bool 'NI6510 support?' CONFIG_NI65
if [ "$CONFIG_AX25" = "y" ]; then
bool 'Ottawa PI and PI/2 support?' CONFIG_PI
fi # if CONFIG_AX25 = y
bool "WaveLAN support" CONFIG_WAVELAN
fi # if ISA = y
if [ "$CONFIG_NET_EISA" = "y" ]; then
TITLE="EISA Alpha"
bool 'Ansel Communications EISA 3200 support' CONFIG_AC3200
fi # if CONFIG_NET_EISA = y
fi # if CONFIG_NET_ALPHA = y
fi # if CONFIG_NETDEVICES = y
continue;; # General Setup

###########################
# Loadable Module Support #
###########################
MOD) bool "Set version information on all symbols for modules" \
CONFIG_MODVERSIONS
continue;;
#################################
# SCSI Support Disk/Tape/CD-ROM #
#################################
SCS) TITLE="SCSI Support"
bool 'SCSI Support?' CONFIG_SCSI
if [ "$CONFIG_SCSI" = "y" ]; then
DSK=off; TAP=off; CDR=off; GEN=off; LUN=off; A5X=off; A42=off; A70=off
A74=off; BUS=off; DMA=off; PIO=off; ULT=off; FUT=off; NCR=off; IN2=off
PAS=off; QLO=off; ST2=off; TRA=off; UL2=off; FAS=off; EAT=off
if [ "$CONFIG_BLK_DEV_SD" = "y" ]; then DSK=on; fi
if [ "$CONFIG_CHR_DEV_ST" = "y" ]; then TAP=on; fi
if [ "$CONFIG_BLK_DEV_SR" = "y" ]; then CDR=on; fi
if [ "$CONFIG_CHR_DEV_SG" = "y" ]; then GEN=on; fi
if [ "$CONFIG_SCSI_MULTI_LUN" = "y" ]; then LUN=on; fi
if [ "$CONFIG_SCSI_AHA152X" = "y" ]; then A5X=on; fi
if [ "$CONFIG_SCSI_AHA1542" = "y" ]; then A42=on; fi
if [ "$CONFIG_SCSI_AHA1740" = "y" ]; then A70=on; fi
if [ "$CONFIG_SCSI_AIC7XXX" = "y" ]; then A74=on; fi
if [ "$CONFIG_SCSI_BUSLOGIC" = "y" ]; then BUS=on; fi
if [ "$CONFIG_SCSI_EATA_DMA" = "y" ]; then DMA=on; fi
if [ "$CONFIG_SCSI_EATA_PIO" = "y" ]; then PIO=on; fi
if [ "$CONFIG_SCSI_U14_34F" = "y" ]; then ULT=on; fi
if [ "$CONFIG_SCSI_FUTURE_DOMAIN" = "y" ]; then FUT=on; fi
if [ "$CONFIG_SCSI_GENERIC_NCR5380" = "y" ]; then NCR=on; fi
if [ "$CONFIG_SCSI_IN2000" = "y" ]; then IN2=on; fi
if [ "$CONFIG_SCSI_PAS16" = "y" ]; then PAS=on; fi
if [ "$CONFIG_SCSI_QLOGIC" = "y" ]; then QLO=on; fi
if [ "$CONFIG_SCSI_SEAGATE" = "y" ]; then ST2=on; fi
if [ "$CONFIG_SCSI_T128" = "y" ]; then TRA=on; fi
if [ "$CONFIG_SCSI_ULTRASTOR" = "y" ]; then UL2=on; fi
if [ "$CONFIG_SCSI_7000FASST" = "y" ]; then FAS=on; fi
if [ "$CONFIG_SCSI_EATA" = "y" ]; then EAT=on; fi
dialog --title "SCSI Support" --checklist "Check the following" \
19 70 12 \
DSK "SCSI disk support" $DSK \
TAP "SCSI tape support" $TAP \
CDR "SCSI CD-ROM support" $CDR \
GEN "SCSI generic support" $GEN \
LUN "Probe all LUNs on each SCSI device" $LUN \
A5X "Adaptec AHA152X support" $A5X \
A42 "Adaptec AHA1542 support" $A42 \
A70 "Adaptec AHA1740 support" $A70 \
A74 "Adaptec AHA274X/284X/294X support" $A74 \
BUS "BusLogic SCSI support" $BUS \
DMA 'EATA-DMA (DPT, NEC, ATT, Olivetti) support' $DMA \
PIO 'EATA-PIO (old DPT PM2001, PM2012A) support' $PIO \
ULT "UltraStor 14F/34F support" $ULT \
FUT "Future Domain 16xx SCSI support" $FUT \
NCR "Generic NCR5380 SCSI support" $NCR \
IN2 "Always IN2000 SCSI support" $IN2 \
PAS "PAS16 SCSI support" $PAS \
QLO "QLOGIC SCSI support" $QLO \
ST2 "Seagate ST-02 and Future Domain TMC-8xx SCSI support" $ST2 \
TRA "Trantor T128/T128F/T228 SCSI support" $TRA \
UL2 "UltraStor SCSI support" $UL2 \
FAS "7000FASST SCSI support" $FAS \
EAT 'EATA ISA/EISA (DPT PM2011/021/012/022/122/322) support' $EAT \
2> kk
for J in `cat kk`; do
case `eval echo $J` in
DSK) CONFIG_BLK_DEV_SD=y;;
TAP) CONFIG_CHR_DEV_ST=y;;
CDR) CONFIG_BLK_DEV_SR=y;;
GEN) CONFIG_CHR_DEV_SG=y;;
LUN) CONFIG_SCSI_MULTI_LUN=y;;
A5X) CONFIG_SCSI_AHA152X=y;;
A42) CONFIG_SCSI_AHA1542=y;;
A70) CONFIG_SCSI_AHA1740=y;;
A74) CONFIG_SCSI_AIC7XXX=y;;
BUS) CONFIG_SCSI_BUSLOGIC=y;;
DMA) CONFIG_SCSI_EATA_DMA=y;;
PIO) CONFIG_SCSI_EATA_PIO=y;;
ULT) CONFIG_SCSI_U14_34F=y;;
FUT) CONFIG_SCSI_FUTURE_DOMAIN=y;;
NCR) CONFIG_SCSI_GENERIC_NCR5380=y
if [ "$CONFIG_PCI" = "y" ]; then
bool "NCR53c7,8xx SCSI support" CONFIG_SCSI_NCR53C7xx
fi;;
IN2) CONFIG_SCSI_IN2000=y;;
PAS) CONFIG_SCSI_PAS16=y;;
QLO) CONFIG_SCSI_QLOGIC=y;;
ST2) CONFIG_SCSI_SEAGATE=y;;
TRA) CONFIG_SCSI_T128=y;;
UL2) CONFIG_SCSI_ULTRASTOR=y;;
FAS) CONFIG_SCSI_7000FASST=y;;
EAT) CONFIG_SCSI_EATA=y;;
esac
done
bool 'Verbose SCSI error reporting (kernel size += 12K)' \
CONFIG_SCSI_CONSTANTS

fi # if CONFIG_SCSI = y
;; # SCSI Support

#####################################################
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives) #
#####################################################
CDR) SON=off; MIT=off; EMT=off; MAT=off; AZT=off; C35=off; GOL=off; PHI=off
OPT=off; SAN=off
if [ "$CONFIG_CDU31A" = "y" ]; then SON=on; fi
if [ "$CONFIG_MCD" = "y" ]; then MIT=on; fi
if [ "$CONFIG_MCDX" = "y" ]; then EMT=on; fi
if [ "$CONFIG_SBPCD" = "y" ]; then MAT=on; fi
if [ "$CONFIG_AZTCD" = "y" ]; then AZT=on; fi
if [ "$CONFIG_CDU535" = "y" ]; then C35=on; fi
if [ "$CONFIG_GSCD" = "y" ]; then GOL=on; fi
if [ "$CONFIG_CM206" = "y" ]; then PHI=on; fi
if [ "$CONFIG_OPTCD" = "y" ]; then OPT=on; fi
if [ "$CONFIG_SJCD" = "y" ]; then SAN=on; fi
dialog --title "CD-ROM drivers" --checklist "Check the following" \
17 72 10 \
SON "Sony CDU31A/CDU33A CDROM support" $SON \
MIT 'Standard Mitsumi [no XA/Multisession] CDROM support' $MIT \
EMT 'Experimental Mitsumi [XA/Multisession, no Audio] support' $EMT \
MAT "Matsushita/Panasonic CDROM support" $MAT \
AZT "Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support" $AZT \
C35 "Sony CDU535 CDROM support" $C35 \
GOL "Goldstar R420 CDROM support" $GOL \
PHI "Philips/LMS CM206 CDROM support" $PHI \
OPT "Experimental Optics Storage DOLPHIN 8000AT CDROM support" $OPT \
SAN "Experimental Sanyo H94A CDROM support" $SAN 2> kk
CONFIG_CDU31A=n; CONFIG_MCD=n; CONFIG_MCDX=n; CONFIG_SBPCD=n
CONFIG_AZTCD=n; CONFIG_CDU535=n; CONFIG_GSCD=n; CONFIG_CM206=n
CONFIG_OPTCD=n; CONFIG_SJCD=n
for J in `cat kk`; do
case `eval echo $J` in
SON) CONFIG_CDU31A=y;;
MIT) CONFIG_MCD=y;;
EMT) CONFIG_MCDX=y;;
MAT) CONFIG_SBPCD=y
TITLE="Matsushita/Panasonic CD-ROM"
bool "Matsushita/Panasonic second CDROM support" CONFIG_SBPCD2
if [ "$CONFIG_SBPCD2" = "y" ]; then
bool "Matsushita/Panasonic third CDROM support" CONFIG_SBPCD3
if [ "$CONFIG_SBPCD3" = "y" ]; then
bool "Matsushita/Panasonic fourth CDROM support" \
CONFIG_SBPCD4
fi
fi;;
AZT) CONFIG_AZTCD=y;;
C35) CONFIG_CDU535=y;;
GOL) CONFIG_GSCD=y;;
PHI) CONFIG_CM206=y;;
OPT) CONFIG_OPTCD=y;;
SAN) CONFIG_SJCD=y;;
esac
done;; # CD-ROM Support

###############
# Filesystems #
###############
FIL) MNX=off; EXT=off; FS2=off; XIA=off; MSD=off; PRC=off; ISO=off; OS2=off
SYS=off; SMB=off
if [ "$CONFIG_MINIX_FS" = "y" ]; then MNX=on; fi
if [ "$CONFIG_EXT_FS" = "y" ]; then EXT=on; fi
if [ "$CONFIG_EXT2_FS" = "y" ]; then FS2=on; fi
if [ "$CONFIG_XIA_FS" = "y" ]; then XIA=on; fi
if [ "$CONFIG_MSDOS_FS" = "y" ]; then MSD=on; fi
if [ "$CONFIG_PROC_FS" = "y" ]; then PRC=on; fi
if [ "$CONFIG_ISO9660_FS" = "y" ]; then ISO=on; fi
if [ "$CONFIG_HPFS_FS" = "y" ]; then OS2=on; fi
if [ "$CONFIG_SYSV_FS" = "y" ]; then SYS=on; fi
if [ "$CONFIG_SMB_FS" = "y" ]; then SMB=on; fi
dialog --title "Filesystems" --checklist "Check the following" \
17 60 10 \
MNX 'Standard (minix) fs support' $MNX \
EXT "Extended fs support" $EXT \
FS2 "Second extended fs support" $FS2 \
XIA "xiafs filesystem support" $XIA \
MSD "MSDOS fs support" $MSD \
PRC "/proc filesystem support" $PRC \
ISO "ISO9660 cdrom filesystem support" $ISO \
OS2 'OS/2 HPFS filesystem support (read only)' $OS2 \
SYS "System V and Coherent filesystem support" $SYS \
SMB 'SMB filesystem (to mount WfW shares etc..)' $SMB 2> kk
CONFIG_MINIX_FS=n; CONFIG_EXT_FS=n; CONFIG_EXT2_FS=n; CONFIG_XIA_FS=n
CONFIG_MSDOS_FS=n; CONFIG_PROC_FS=n; CONFIG_NFS_FS=n
CONFIG_UMSDOS_FS=n; CONFIG_ISO9660_FS=n; CONFIG_HPFS_FS=n;
CONFIG_SYSV_FS=n; CONFIG_SMB_FS=n
TITLE="Filesystems"
for J in `cat kk`; do
case `eval echo $J` in
MNX) CONFIG_MINIX_FS=y;;
EXT) CONFIG_EXT_FS=y;;
FS2) CONFIG_EXT2_FS=y;;
XIA) CONFIG_XIA_FS=y;;
MSD) CONFIG_MSDOS_FS=y
bool "usmdos: Unix like fs on top of std MSDOS FAT fs" \
CONFIG_UMSDOS_FS;;
PRC) CONFIG_PROC_FS=y;;
ISO) CONFIG_ISO9660_FS=y;;
OS2) CONFIG_HPFS_FS=y;;
SYS) CONFIG_SYSV_FS=y;;
SMB) CONFIG_SMB_FS=y;;
esac
done
if [ "$CONFIG_INET" = "y" ]; then
bool "NFS filesystem support" CONFIG_NFS_FS
fi
;; # Filesystems

#####################
# Character Devices #
#####################
CHR) CYC=off; PRI=off; LOG=off; PS2=off; MSB=off; ATI=off; Q02=off; Q17=off
if [ "$CONFIG_CYCLADES" = "y" ]; then CYC=on; fi
if [ "$CONFIG_PRINTER" = "y" ]; then PRI=on; fi
if [ "$CONFIG_BUSMOUSE" = "y" ]; then LOG=on; fi
if [ "$CONFIG_PSMOUSE" = "y" ]; then PS2=on; fi
if [ "$CONFIG_MS_BUSMOUSE" = "y" ]; then MSB=on; fi
if [ "$CONFIG_ATIXL_BUSMOUSE" = "y" ]; then ATI=on; fi
if [ "$CONFIG_QIC02_TAPE" = "y" ]; then Q02=on; fi
if [ "$CONFIG_FTAPE" = "y" ]; then Q17=on; fi
dialog --title "Character Devices" --checklist "Check the following" \
15 60 8 \
CYC "Cyclades async mux support" $CYC \
PRI "Parallel printer support" $PRI \
LOG "Logitech busmouse support" $LOG \
PS2 'PS/2 mouse (aka "auxiliary device") support' $PS2 \
MSB "Microsoft busmouse support" $MSB \
ATI "ATIXL busmouse support" $ATI \
Q02 "QIC-02 tape support" $Q02 \
Q17 "QIC-117 tape support" $Q17 2> kk
CONFIG_CYCLADES=n; CONFIG_PRINTER=n; CONFIG_BUSMOUSE=n
CONFIG_PSMOUSE=n; CONFIG_82C710_MOUSE=n; CONFIG_MS_BUSMOUSE=n
CONFIG_ATIXL_BUSMOUSE=n; CONFIG_QIC02_TAPE=n; CONFIG_FTAPE=n
for J in `cat kk`; do
case `eval echo $J` in
CYC) CONFIG_CYCLADES=y;;
PRI) CONFIG_PRINTER=y;;
LOG) CONFIG_BUSMOUSE=y;;
PS2) CONFIG_PSMOUSE=y
bool 'C&T 82C710 mouse port support (as on TI Travelmate)' \
CONFIG_82C710_MOUSE;;
MSB) CONFIG_MS_BUSMOUSE=y;;
ATI) CONFIG_ATIXL_BUSMOUSE=y;;
Q02) CONFIG_QIC02_TAPE=y
bool "Do you want runtime configuration for QIC-02" \
CONFIG_QIC02_DYNCONF;;
Q17) CONFIG_FTAPE=y
dialog --title "QIC-117 Support" --inputbox \
"Number of ftape buffers [3]" 8 40 2> kk
NR_FTAPE_BUFFERS=`cat kk`;;
esac
done
;; # Character devices

#########
# Sound #
#########
SND) TITLE="Sound Support"
bool "Sound card support" CONFIG_SOUND;;

##################
# Kernel hacking #
##################
KNL) TITLE="Kernel Hacking"
bool "Kernel profiling support" CONFIG_PROFILE
dialog --title "Kernel Hacking" --inputbox \
"Profile shift count [2]" 8 40 2> kk
CONFIG_PROFILE_SHIFT=`cat kk`;;

#################
# Save and Exit #
#################
EXT) echo "#" > $CONFIG
echo "# Automatically generated make config: don't edit" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG
echo "/*" > $CONFIG_H
echo " * Automatically generated C config: don't edit" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo >> $CONFIG_H
echo "#" >> $CONFIG
echo "# General setup" >> $CONFIG
echo "#" >> $CONFIG
echo "/*" >> $CONFIG_H
echo " * General setup" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_MATH_EMULATION
putconf CONFIG_BLK_DEV_FD
putconf CONFIG_ST506
if [ "$CONFIG_ST506" = "y" ]; then
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Please see drivers/block/README.ide for help/info on IDE drives" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Please see drivers/block/README.ide for help/info on IDE drives" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_BLK_DEV_HD
putconf CONFIG_BLK_DEV_IDE
if [ "$CONFIG_BLK_DEV_IDE" = "y" ]; then
putconf CONFIG_BLK_DEV_IDECD
fi
fi # if CONFIG_ST506 = y
putconf CONFIG_BLK_DEV_XD
putconf CONFIG_NET
putconf CONFIG_MAX_16M
putconf CONFIG_PCI
if [ "$CONFIG_PCI" = "y" ]; then
putconf CONFIG_PCI_OPTIMIZE
fi
putconf CONFIG_SYSVIPC
putconf CONFIG_BINFMT_ELF
if [ "$CONFIG_BINFMT_ELF" = "y" ]; then
putconf CONFIG_KERNEL_ELF
fi
putconf CONFIG_M486
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Loadable module support" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Loadable module support" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_MODVERSIONS
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Networking options" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Networking options" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_INET
if [ "$CONFIG_INET" = "y" ]; then
putconf CONFIG_IP_FORWARD
putconf CONFIG_IP_MULTICAST
putconf CONFIG_IP_FIREWALL
putconf CONFIG_IP_ACCT
putconf CONFIG_NET_IPIP
if [ "$CONFIG_IP_FORWARD" = "y" -a "$CONFIG_IP_FIREWALL" = "y" ]; then
putconf CONFIG_IP_FIREWALL_VERBOSE
putconf CONFIG_IP_MASQUERADE
fi
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# (it is safe to leave these untouched)' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * (it is safe to leave these untouched)' >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_INET_PCTCP
putconf CONFIG_INET_RARP
putconf CONFIG_INET_SNARL
putconf CONFIG_TCP_NAGLE_OFF
putconf CONFIG_IP_NOSR
putconf CONFIG_SKB_LARGE
putconf CONFIG_IPX
putconf CONFIG_ATALK
putconf CONFIG_AX25
if [ "$CONFIG_AX25" = "y" ]; then
putconf CONFIG_NETROM
fi
fi # if CONFIG_INET = y
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# SCSI support" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * SCSI support" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo SCSI
putconf CONFIG_SCSI
if [ "$CONFIG_SCSI" = "n" ]; then
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Skipping SCSI configuration options..." >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Skipping SCSI configuration options..." >> $CONFIG_H
echo " */" >> $CONFIG_H
else
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# SCSI support type (disk, tape, CDrom)' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * SCSI support type (disk, tape, CDrom)' >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_BLK_DEV_SD
putconf CONFIG_CHR_DEV_ST
putconf CONFIG_BLK_DEV_SR
putconf CONFIG_CHR_DEV_SG
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# Some SCSI devices (e.g. CD jukebox) support multiple LUNs' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * Some SCSI devices (e.g. CD jukebox) support multiple LUNs' >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_SCSI_MULTI_LUN
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# SCSI low-level drivers" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * SCSI low-level drivers" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_SCSI_AHA152X
putconf CONFIG_SCSI_AHA1542
putconf CONFIG_SCSI_AHA1740
putconf CONFIG_SCSI_AIC7XXX
putconf CONFIG_SCSI_BUSLOGIC
putconf CONFIG_SCSI_EATA_DMA
putconf CONFIG_SCSI_EATA_PIO
putconf CONFIG_SCSI_U14_34F
putconf CONFIG_SCSI_FUTURE_DOMAIN
putconf CONFIG_SCSI_GENERIC_NCR5380
if [ "$CONFIG_PCI" = "y" ]; then
putconf CONFIG_SCSI_NCR53C7xx
fi
putconf CONFIG_SCSI_IN2000
putconf CONFIG_SCSI_PAS16
putconf CONFIG_SCSI_QLOGIC
putconf CONFIG_SCSI_SEAGATE
putconf CONFIG_SCSI_T128
putconf CONFIG_SCSI_ULTRASTOR
putconf CONFIG_SCSI_7000FASST
putconf CONFIG_SCSI_EATA
fi # CONFIG_SCSI = y
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Network device support" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Network device support" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo Network device
if [ "$CONFIG_NET" = "y" ]; then
putconf CONFIG_NETDEVICES
if [ "$CONFIG_NETDEVICES" = "y" ]; then
putconf CONFIG_DUMMY
putconf CONFIG_SLIP
if [ "$CONFIG_SLIP" = "y" ]; then
putconf CONFIG_SLIP_COMPRESSED
putconf SL_SLIP_LOTS
fi
putconf CONFIG_PPP
if [ "$CONFIG_PPP" = "y" ]; then
putconf CONFIG_PPP_LOTS
fi
if [ "$CONFIG_AX25" = "y" ]; then
putconf CONFIG_SCC
fi
putconf CONFIG_PLIP
putconf CONFIG_EQUALIZER
putconf CONFIG_NET_ALPHA
putconf CONFIG_NET_VENDOR_SMC
if [ "$CONFIG_NET_VENDOR_SMC" = "y" ]; then
putconf CONFIG_WD80x3
putconf CONFIG_ULTRA
fi
putconf CONFIG_LANCE
putconf CONFIG_NET_VENDOR_3COM
if [ "$CONFIG_NET_VENDOR_3COM" = "y" ]; then
putconf CONFIG_EL1
putconf CONFIG_EL2
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
putconf CONFIG_ELPLUS
putconf CONFIG_EL16
fi
putconf CONFIG_EL3
fi
putconf CONFIG_NET_ISA
if [ "$CONFIG_NET_ISA" = "y" ]; then
putconf CONFIG_ARCNET
putconf CONFIG_E2100
putconf CONFIG_DEPCA
putconf CONFIG_EWRK3
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
putconf CONFIG_SEEQ8005
putconf CONFIG_AT1700
putconf CONFIG_EEXPRESS_PRO
putconf CONFIG_EEXPRESS
putconf CONFIG_NI52
putconf CONFIG_NI65
if [ "$CONFIG_AX25" = "y" ]; then
putconf CONFIG_PI
fi
putconf CONFIG_WAVELAN
fi # CONFIG_NET_ALPHA = y
putconf CONFIG_HPLAN_PLUS
putconf CONFIG_HPLAN
putconf CONFIG_HP100
putconf CONFIG_NE2000
putconf CONFIG_SK_G16
fi # CONFIG_NET_ISA = y
putconf CONFIG_NET_EISA
if [ "$CONFIG_NET_EISA" = "y" ]; then
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
putconf CONFIG_AC3200
fi
putconf CONFIG_APRICOT
putconf CONFIG_DE4X5
putconf CONFIG_ZNET
fi # CONFIG_NET_EISA = y
putconf CONFIG_NET_POCKET
if [ "$CONFIG_NET_POCKET" = "y" ]; then
putconf CONFIG_ATP
putconf CONFIG_DE600
putconf CONFIG_DE620
fi # CONFIG_NET_POCKET = y
putconf CONFIG_TR
if [ "$CONFIG_TR" = "y" ]; then
putconf CONFIG_IBMTR
fi # CONFIG_TR = y
fi # CONFIG_NETDEVICES = y
fi # CONFIG_NET = y
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * CD-ROM drivers (not for SCSI or IDE/ATAPI drives)' >> $CONFIG_H
echo " */" >> $CONFIG_H
echo CD-ROM drivers
putconf CONFIG_CDU31A
putconf CONFIG_MCD
putconf CONFIG_MCDX
putconf CONFIG_SBPCD
if [ "$CONFIG_SBPCD" = "y" ]; then
putconf CONFIG_SBPCD2
if [ "$CONFIG_SBPCD2" = "y" ]; then
putconf CONFIG_SBPCD3
if [ "$CONFIG_SBPCD3" = "y" ]; then
putconf CONFIG_SBPCD4
fi
fi
fi
putconf CONFIG_AZTCD
putconf CONFIG_CDU535
putconf CONFIG_GSCD
putconf CONFIG_CM206
putconf CONFIG_OPTCD
putconf CONFIG_SJCD
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Filesystems" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Filesystems" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo Filesystems
putconf CONFIG_MINIX_FS
putconf CONFIG_EXT_FS
putconf CONFIG_EXT2_FS
putconf CONFIG_XIA_FS
putconf CONFIG_MSDOS_FS
if [ "$CONFIG_MSDOS_FS" = "y" ]; then
putconf CONFIG_UMSDOS_FS
fi
putconf CONFIG_PROC_FS
if [ "$CONFIG_INET" = "y" ]; then
putconf CONFIG_NFS_FS
fi
putconf CONFIG_ISO9660_FS
putconf CONFIG_HPFS_FS
putconf CONFIG_SYSV_FS
putconf CONFIG_SMB_FS
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# character devices" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * character devices" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo Character
putconf CONFIG_CYCLADES
putconf CONFIG_PRINTER
putconf CONFIG_BUSMOUSE
putconf CONFIG_PSMOUSE
if [ "$CONFIG_PSMOUSE" = "y" ]; then
putconf CONFIG_82C710_MOUSE
fi
putconf CONFIG_MS_BUSMOUSE
putconf CONFIG_ATIXL_BUSMOUSE
putconf CONFIG_QIC02_TAPE
if [ "$CONFIG_QIC02_TAPE" = "y" ]; then
putconf CONFIG_QIC02_DYNCONF
fi
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# >>> Setting runtime QIC-02 configuration is done with qic02conf' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * >>> Setting runtime QIC-02 configuration is done with qic02conf' >> $CONFIG_H
echo " */" >> $CONFIG_H
echo >> $CONFIG
echo "#" >> $CONFIG
echo '# >>> Which is available from ftp://ftp.funet.fi/pub/OS/Linux/BETA/QIC-02/' >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo ' * >>> Which is available from ftp://ftp.funet.fi/pub/OS/Linux/BETA/QIC-02/' >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_FTAPE
if [ "$CONFIG_FTAPE" = "y" ]; then
echo "NR_FTAPE_BUFFERS=$NR_FTAPE_BUFFERS" >> $CONFIG
echo '#define NR_FTAPE_BUFFERS ($NR_FTAPE_BUFFERS)' >> $CONFIG_H
fi
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Sound" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Sound" >> $CONFIG_H
echo " */" >> $CONFIG_H
echo Sound
putconf CONFIG_SOUND
echo >> $CONFIG
echo "#" >> $CONFIG
echo "# Kernel hacking" >> $CONFIG
echo "#" >> $CONFIG
echo >> $CONFIG_H
echo "/*" >> $CONFIG_H
echo " * Kernel hacking" >> $CONFIG_H
echo " */" >> $CONFIG_H
putconf CONFIG_PROFILE
if [ "$CONFIG_PROFILE" = "y" ]; then
echo "CONFIG_PROFILE_SHIFT=$CONFIG_PROFILE_SHIFT" >> $CONFIG
echo '#define CONFIG_PROFILE_SHIFT ($CONFIG_PROFILE_SHIFT)' >> $CONFIG_H
fi
if [ "$CONFIG_SCSI" = "y" ]; then
putconf CONFIG_SCSI_CONSTANTS
fi
QUIT="y"
;;

####################
# Abort .. No Save #
####################
ABT) QUIT="y";;
* ) echo NOT YET IMPLEMENTED;;
esac
done