Add bits of PAO that are non-controversial.

Submitted by: Tatsumi HOSOKAWA
This commit is contained in:
Mark Murray 1999-06-17 19:04:56 +00:00
parent 4b54a72dab
commit 1a95b917f0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=47983
22 changed files with 456 additions and 132 deletions

View File

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.489 1999/05/23 20:01:20 brian Exp $
# $Id: Makefile,v 1.490 1999/05/29 00:42:05 jkh Exp $
#
# make release CHROOTDIR=/some/dir BUILDNAME=somename [ RELEASETAG=tag ]
#
@ -25,6 +25,17 @@ BUILDNAME?=${BASE}-${DATE}-SNAP
# If this is a -stable snapshot, then set
#RELEASETAG=RELENG_3
PCCARD?=NO
.if ${PCCARD} == "YES"
CARDDEV=card0 card1 card2 card3
KERNCONF=PCCARD
.else
CARDDEV=
KERNCONF=GENERIC
.endif
# If you are using a local CVS repository with components stored in
# non-standard modules, override these on the make commandline or
# in the environment.
@ -251,7 +262,7 @@ rerelease release:
chroot ${CHROOTDIR} /mk
clean:
rm -rf boot_crunch release.[0-9]
rm -rf boot_crunch ${.OBJDIR}/boot_crunch.conf release.[0-9]
# Clean out /R and make the directory structure.
release.1:
@ -309,6 +320,11 @@ release.3:
# Tcl and Perl APIs. See also /usr/src/usr.bin/vi/Makefile.
release.4:
@mkdir -p /stand
.if ${PCCARD} == "YES"
cp ${.CURDIR}/boot_crunch.conf.pccard ${.OBJDIR}/boot_crunch.conf
.else
cp ${.CURDIR}/boot_crunch.conf.generic ${.OBJDIR}/boot_crunch.conf
.endif
cd ${.CURDIR}/sysinstall && make obj depend all install
rm -rf ${RD}/crunch
mkdir -p ${RD}/crunch
@ -317,7 +333,10 @@ release.4:
rm -rf $${j}_crunch && \
mkdir $${j}_crunch && \
( cd $${j}_crunch && \
crunchgen ${.CURDIR}/$${j}_crunch.conf && \
( ( [ -f ${.CURDIR}/$${j}_crunch.conf ] && \
crunchgen ${.CURDIR}/$${j}_crunch.conf ) || \
( [ -f ${.OBJDIR}/$${j}_crunch.conf ] && \
crunchgen ${.OBJDIR}/$${j}_crunch.conf ) ) && \
${MAKE} -DRELEASE_CRUNCH -f $${j}_crunch.mk subclean all \
NOCRYPT=yes "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY") && \
mv $${j}_crunch/$${j}_crunch ${RD}/crunch/$${j} && \
@ -435,9 +454,12 @@ release.8: write_mfs_in_kernel
@cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \
DIR=${RD}/mfsfd/stand ZIP=false
( cd ${RD}/trees/bin/dev && \
ls console tty ttyv0 ttyv1 ttyv2 ttyv3 null zero | \
ls console tty ttyv0 ttyv1 ttyv2 ttyv3 null zero ${CARDDEV} | \
cpio -dump ${RD}/mfsfd/dev )
( cd ${RD}/mfsfd/dev && rm -f *[swo]d*[bdefgh] )
.if ${PCCARD} == "YES"
cp ${.CURDIR}/../etc/pccard.conf.sample ${RD}/mfsfd/etc/pccard.conf
.endif
cd ${RD}/trees/bin && ls ${BOOT1} | cpio -dump ${RD}/mfsfd/stand
echo "nameserver 42/tcp name" > ${RD}/mfsfd/stand/etc/services
echo "ftp 21/tcp" >> ${RD}/mfsfd/stand/etc/services
@ -622,9 +644,15 @@ installCRUNCH:
ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \
fi
@chmod 555 ${DIR}/${CRUNCH}_crunch
@for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \
ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \
done
@if [ -f ${.OBJDIR}/${CRUNCH}_crunch.conf ] ; then \
for i in `crunchgen -l ${.OBJDIR}/${CRUNCH}_crunch.conf` ; do \
ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \
done \
else \
for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \
ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \
done \
fi
#
# --==## Compile a kernel by name ${KERNEL} ##==--
@ -647,7 +675,7 @@ doMFSKERN:
@echo "Running doMFSKERN for ${FSIMAGE}"
@rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE}
@cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && \
sh ${.CURDIR}/scripts/dokern.sh ${BIGBOOT} < GENERIC > BOOTMFS
sh ${.CURDIR}/scripts/dokern.sh ${BIGBOOT} < ${KERNCONF} > BOOTMFS
.if ${MACHINE_ARCH} == "i386"
@echo "options INTRO_USERCONFIG" >> ${.CURDIR}/../sys/i386/conf/BOOTMFS
.endif

View File

@ -1,17 +0,0 @@
# $Id: boot_crunch.conf,v 1.37 1998/09/29 04:58:17 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -1,17 +0,0 @@
# $Id: boot_crunch.conf,v 1.37 1998/09/29 04:58:17 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -1,17 +0,0 @@
# $Id: boot_crunch.conf,v 1.37 1998/09/29 04:58:17 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -0,0 +1,17 @@
# $Id: boot_crunch.conf,v 1.38 1999/05/01 11:30:55 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -0,0 +1,20 @@
# $Id: boot_crunch.conf,v 1.38 1999/05/01 11:30:55 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
srcdirs /usr/src/usr.sbin/pccard
progs sh find rm
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
progs pccardc pccardd
progs wicontrol
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -1,17 +0,0 @@
# $Id: boot_crunch.conf,v 1.37 1998/09/29 04:58:17 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -1,17 +0,0 @@
# $Id: boot_crunch.conf,v 1.37 1998/09/29 04:58:17 jkh Exp $
srcdirs /usr/src/bin /usr/src/sbin /usr/src/release /usr/src/usr.bin
srcdirs /usr/src/gnu/usr.bin /usr/src/usr.sbin /usr/src/sbin/i386
progs sh find
progs pwd ppp
progs sysinstall newfs minigzip cpio bad144 fsck ifconfig route slattach
progs mount_nfs
progs dhclient
ln minigzip gzip
ln minigzip gunzip
ln minigzip zcat
ln sh -sh
libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz
libs -ldialog -lncurses -lmytinfo -L/usr/src/release/libdisk/obj -ldisk -lipx

View File

@ -13,7 +13,7 @@ SRCS= anonFTP.c cdrom.c command.c config.c devices.c kget.c \
disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
ftp.c globals.c index.c install.c installUpgrade.c keymap.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c mouse.c \
msg.c network.c nfs.c options.c package.c system.c \
msg.c network.c nfs.c options.c package.c pccard.c system.c \
tape.c tcpip.c termcap.c ufs.c user.c variable.c wizard.c \
keymap.h
@ -21,6 +21,12 @@ CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR}
CFLAGS+= -I${.CURDIR}/../../sys
CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
PCCARD?= NO
.if ${PCCARD} == "YES"
CFLAGS+= -DPCCARD
.endif
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk -lftpio
@ -82,5 +88,4 @@ keymap.h:
( echo " { 0 }"; echo "};" ; echo "" ) >> keymap.tmp
mv keymap.tmp keymap.h
.include <bsd.prog.mk>

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: devices.c,v 1.91 1999/05/21 04:37:48 wpaul Exp $
* $Id: devices.c,v 1.92 1999/05/27 10:32:43 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -88,8 +88,8 @@ static struct _devname {
{ DEVICE_TYPE_NETWORK, "en", "Efficient Networks ATM PCI card" },
{ DEVICE_TYPE_NETWORK, "de", "DEC DE435 PCI NIC or other DC21040-AA based card" },
{ DEVICE_TYPE_NETWORK, "fxp", "Intel EtherExpress Pro/100B PCI Fast Ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "WD/SMC 80xx; Novell NE1000/2000; 3Com 3C503 card" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "Novell NE1000/2000; 3C503; NE2000-compatible PCMCIA" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card/3C589 PCMCIA" },
{ DEVICE_TYPE_NETWORK, "el", "3Com 3C501 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ex", "Intel EtherExpress Pro/10 ethernet card" },
{ DEVICE_TYPE_NETWORK, "fe", "Fujitsu MB86960A/MB86965A ethernet card" },
@ -253,19 +253,19 @@ deviceGetAll(void)
/* If it's not a link entry, forget it */
if (ifptr->ifr_ifru.ifru_addr.sa_family != AF_LINK)
continue;
goto loopend;
/* Eliminate network devices that don't make sense */
if (!strncmp(ifptr->ifr_name, "lo", 2))
continue;
goto loopend;
/* If we have a slip device, don't register it */
if (!strncmp(ifptr->ifr_name, "sl", 2)) {
continue;
goto loopend;
}
/* And the same for ppp */
if (!strncmp(ifptr->ifr_name, "tun", 3) || !strncmp(ifptr->ifr_name, "ppp", 3)) {
continue;
goto loopend;
}
/* Try and find its description */
for (i = 0, descr = NULL; device_names[i].name; i++) {
@ -288,6 +288,7 @@ deviceGetAll(void)
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
continue;
loopend:
if (ifptr->ifr_addr.sa_len) /* I'm not sure why this is here - it's inherited */
ifptr = (struct ifreq *)((caddr_t)ifptr + ifptr->ifr_addr.sa_len - sizeof(struct sockaddr));
}

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: install.c,v 1.236 1999/05/12 09:02:35 jkh Exp $
* $Id: install.c,v 1.237 1999/05/27 10:32:47 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -728,8 +728,9 @@ installFixupBin(dialogMenuItem *self)
if (RunningAsInit) {
/* Fix up kernel first */
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
char *generic_kernel = "/kernel.GENERIC";
if (file_readable(generic_kernel)) {
if (vsystem("cp -p %s /kernel", generic_kernel)) {
msgConfirm("Unable to copy /kernel into place!");
return DITEM_FAILURE;
}

View File

@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated for what's essentially a complete rewrite.
*
* $Id: main.c,v 1.50 1999/01/08 00:14:22 jkh Exp $
* $Id: main.c,v 1.51 1999/02/05 22:15:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -86,6 +86,11 @@ main(int argc, char **argv)
if (DebugFD)
dup2(DebugFD, 2);
#ifdef PCCARD
/* Initialize PC-card */
pccardInitialize();
#endif
/* Probe for all relevant devices on the system */
deviceGetAll();

154
release/sysinstall/pccard.c Normal file
View File

@ -0,0 +1,154 @@
/*
* PC-card support for sysinstall
*
* $Id:$
*
* Copyright (c) 1997-1999
* Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>. All rights reserved.
*
* This software may be used, modified, copied, and distributed, in
* both source and binary form provided that the above copyright and
* these terms are retained. Under no circumstances is the author
* responsible for the proper functioning of this software, nor does
* the author assume any responsibility for damages incurred with its
* use.
*/
#include "sysinstall.h"
#include <sys/fcntl.h>
#include <sys/time.h>
#include <pccard/cardinfo.h>
#ifdef PCCARD
int pccard_mode = 0;
DMenu MenuPCICMem = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
"Please select free address area used by PC-card controller",
"PC-card controller uses memory area to get card information.\n"
"Please specify an address that is not used by other devices.\n"
"If you're uncertain of detailed specification of your hardware,\n"
"leave it untouched (default == 0xd0000).",
"Press F1 for more HELP",
"pccard",
{ { "Default", "I/O address 0xd0000 - 0xd3fff",
NULL, dmenuSetVariable, NULL, "pcicmem=0"},
{ "D4", "I/O address 0xd4000 - 0xd7fff",
NULL, dmenuSetVariable, NULL, "pcicmem=1"},
{ "D8", "I/O address 0xd8000 - 0xdbfff",
NULL, dmenuSetVariable, NULL, "pcicmem=2"},
{ "DC", "I/O address 0xdc000 - 0xdffff",
NULL, dmenuSetVariable, NULL, "pcicmem=3"},
{ NULL } },
};
DMenu MenuCardIRQ = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
"Please select IRQs that can be used by PC-cards",
"Please specify an IRQs that CANNOT be used by PC-card.\n"
"For example, if you have a sound card that can't be probed by\n"
"this installation floppy and it uses IRQ 10, you have to \n"
"choose \"Option 1\" or \"Option 2\" at this menu.\n",
"Press F1 for more HELP",
"pccard",
{ { "Default", "IRQ 10, 11",
NULL, dmenuSetVariable, NULL, "cardirq=0"},
{ "Option 1", "IRQ 5, 11 (ex. soundcard on IRQ 10)",
NULL, dmenuSetVariable, NULL, "cardirq=1"},
{ "Option 2", "IRQ 11 (ex. something on IRQ 5 and 10)",
NULL, dmenuSetVariable, NULL, "cardirq=2"},
{ NULL } },
};
void
pccardInitialize(void)
{
int fd;
int t;
int pcic_mem = 0xd0000;
char card_device[16];
char *card_irq = "";
char *spcic_mem;
char *scard_irq;
char pccardd_cmd[256];
pccard_mode = 1;
if (!RunningAsInit && !Fake) {
/* It's not my job... */
return;
}
dmenuOpenSimple(&MenuPCICMem, FALSE);
spcic_mem = variable_get("pcicmem");
dmenuOpenSimple(&MenuCardIRQ, FALSE);
scard_irq = variable_get("cardirq");
sscanf(spcic_mem, "%d", &t);
switch (t) {
case 0:
pcic_mem = 0xd0000;
break;
case 1:
pcic_mem = 0xd4000;
break;
case 2:
pcic_mem = 0xd8000;
break;
case 3:
pcic_mem = 0xdc000;
break;
}
sscanf(scard_irq, "%d", &t);
switch (t) {
case 0:
card_irq = " -i 10 -i 11 ";
break;
case 1:
card_irq = " -i 5 -i 11 ";
break;
case 2:
card_irq = " -i 11 ";
break;
}
sprintf(card_device, CARD_DEVICE, 0);
dialog_clear();
msgConfirm("Now starts initializing PC-card controller and cards.\n"
"If you've executed this installer from PC-card floppy\n"
"drive, this is the last chance to replace it with\n"
"installation media (PC-card Ethernet, CDROM, etc.).\n"
"Please insert installation media and press [Enter].\n"
"If you've not plugged the PC-card installation media\n"
"yet, please plug it now and press [Enter].\n"
"Otherwise, just press [Enter] to proceed.");
dialog_clear();
msgNotify("Initializing PC-card controller....");
if (!Fake) {
if ((fd = open(card_device, O_RDWR)) < 1) {
msgNotify("Can't open PC-card controller %s.\n",
card_device);
return;
}
if (ioctl(fd, PIOCRWMEM, &pcic_mem) < 0){
msgNotify("ioctl %s failed.\n", card_device);
return;
}
}
strcpy(pccardd_cmd, "/stand/pccardd ");
strcat(pccardd_cmd, card_irq);
strcat(pccardd_cmd, " -z");
vsystem(pccardd_cmd);
}
#endif /* PCCARD */

View File

@ -13,7 +13,7 @@ SRCS= anonFTP.c cdrom.c command.c config.c devices.c kget.c \
disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
ftp.c globals.c index.c install.c installUpgrade.c keymap.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c mouse.c \
msg.c network.c nfs.c options.c package.c system.c \
msg.c network.c nfs.c options.c package.c pccard.c system.c \
tape.c tcpip.c termcap.c ufs.c user.c variable.c wizard.c \
keymap.h
@ -21,6 +21,12 @@ CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR}
CFLAGS+= -I${.CURDIR}/../../sys
CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
PCCARD?= NO
.if ${PCCARD} == "YES"
CFLAGS+= -DPCCARD
.endif
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk -lftpio
@ -82,5 +88,4 @@ keymap.h:
( echo " { 0 }"; echo "};" ; echo "" ) >> keymap.tmp
mv keymap.tmp keymap.h
.include <bsd.prog.mk>

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: devices.c,v 1.91 1999/05/21 04:37:48 wpaul Exp $
* $Id: devices.c,v 1.92 1999/05/27 10:32:43 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -88,8 +88,8 @@ static struct _devname {
{ DEVICE_TYPE_NETWORK, "en", "Efficient Networks ATM PCI card" },
{ DEVICE_TYPE_NETWORK, "de", "DEC DE435 PCI NIC or other DC21040-AA based card" },
{ DEVICE_TYPE_NETWORK, "fxp", "Intel EtherExpress Pro/100B PCI Fast Ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "WD/SMC 80xx; Novell NE1000/2000; 3Com 3C503 card" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "Novell NE1000/2000; 3C503; NE2000-compatible PCMCIA" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card/3C589 PCMCIA" },
{ DEVICE_TYPE_NETWORK, "el", "3Com 3C501 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ex", "Intel EtherExpress Pro/10 ethernet card" },
{ DEVICE_TYPE_NETWORK, "fe", "Fujitsu MB86960A/MB86965A ethernet card" },
@ -253,19 +253,19 @@ deviceGetAll(void)
/* If it's not a link entry, forget it */
if (ifptr->ifr_ifru.ifru_addr.sa_family != AF_LINK)
continue;
goto loopend;
/* Eliminate network devices that don't make sense */
if (!strncmp(ifptr->ifr_name, "lo", 2))
continue;
goto loopend;
/* If we have a slip device, don't register it */
if (!strncmp(ifptr->ifr_name, "sl", 2)) {
continue;
goto loopend;
}
/* And the same for ppp */
if (!strncmp(ifptr->ifr_name, "tun", 3) || !strncmp(ifptr->ifr_name, "ppp", 3)) {
continue;
goto loopend;
}
/* Try and find its description */
for (i = 0, descr = NULL; device_names[i].name; i++) {
@ -288,6 +288,7 @@ deviceGetAll(void)
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
continue;
loopend:
if (ifptr->ifr_addr.sa_len) /* I'm not sure why this is here - it's inherited */
ifptr = (struct ifreq *)((caddr_t)ifptr + ifptr->ifr_addr.sa_len - sizeof(struct sockaddr));
}

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: install.c,v 1.236 1999/05/12 09:02:35 jkh Exp $
* $Id: install.c,v 1.237 1999/05/27 10:32:47 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -728,8 +728,9 @@ installFixupBin(dialogMenuItem *self)
if (RunningAsInit) {
/* Fix up kernel first */
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
char *generic_kernel = "/kernel.GENERIC";
if (file_readable(generic_kernel)) {
if (vsystem("cp -p %s /kernel", generic_kernel)) {
msgConfirm("Unable to copy /kernel into place!");
return DITEM_FAILURE;
}

View File

@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated for what's essentially a complete rewrite.
*
* $Id: main.c,v 1.50 1999/01/08 00:14:22 jkh Exp $
* $Id: main.c,v 1.51 1999/02/05 22:15:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -86,6 +86,11 @@ main(int argc, char **argv)
if (DebugFD)
dup2(DebugFD, 2);
#ifdef PCCARD
/* Initialize PC-card */
pccardInitialize();
#endif
/* Probe for all relevant devices on the system */
deviceGetAll();

View File

@ -13,7 +13,7 @@ SRCS= anonFTP.c cdrom.c command.c config.c devices.c kget.c \
disks.c dispatch.c dist.c dmenu.c doc.c dos.c floppy.c \
ftp.c globals.c index.c install.c installUpgrade.c keymap.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c mouse.c \
msg.c network.c nfs.c options.c package.c system.c \
msg.c network.c nfs.c options.c package.c pccard.c system.c \
tape.c tcpip.c termcap.c ufs.c user.c variable.c wizard.c \
keymap.h
@ -21,6 +21,12 @@ CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR}
CFLAGS+= -I${.CURDIR}/../../sys
CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
PCCARD?= NO
.if ${PCCARD} == "YES"
CFLAGS+= -DPCCARD
.endif
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK} ${LIBFTPIO}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk -lftpio
@ -82,5 +88,4 @@ keymap.h:
( echo " { 0 }"; echo "};" ; echo "" ) >> keymap.tmp
mv keymap.tmp keymap.h
.include <bsd.prog.mk>

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: devices.c,v 1.91 1999/05/21 04:37:48 wpaul Exp $
* $Id: devices.c,v 1.92 1999/05/27 10:32:43 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -88,8 +88,8 @@ static struct _devname {
{ DEVICE_TYPE_NETWORK, "en", "Efficient Networks ATM PCI card" },
{ DEVICE_TYPE_NETWORK, "de", "DEC DE435 PCI NIC or other DC21040-AA based card" },
{ DEVICE_TYPE_NETWORK, "fxp", "Intel EtherExpress Pro/100B PCI Fast Ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "WD/SMC 80xx; Novell NE1000/2000; 3Com 3C503 card" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ed", "Novell NE1000/2000; 3C503; NE2000-compatible PCMCIA" },
{ DEVICE_TYPE_NETWORK, "ep", "3Com 3C509 ethernet card/3C589 PCMCIA" },
{ DEVICE_TYPE_NETWORK, "el", "3Com 3C501 ethernet card" },
{ DEVICE_TYPE_NETWORK, "ex", "Intel EtherExpress Pro/10 ethernet card" },
{ DEVICE_TYPE_NETWORK, "fe", "Fujitsu MB86960A/MB86965A ethernet card" },
@ -253,19 +253,19 @@ deviceGetAll(void)
/* If it's not a link entry, forget it */
if (ifptr->ifr_ifru.ifru_addr.sa_family != AF_LINK)
continue;
goto loopend;
/* Eliminate network devices that don't make sense */
if (!strncmp(ifptr->ifr_name, "lo", 2))
continue;
goto loopend;
/* If we have a slip device, don't register it */
if (!strncmp(ifptr->ifr_name, "sl", 2)) {
continue;
goto loopend;
}
/* And the same for ppp */
if (!strncmp(ifptr->ifr_name, "tun", 3) || !strncmp(ifptr->ifr_name, "ppp", 3)) {
continue;
goto loopend;
}
/* Try and find its description */
for (i = 0, descr = NULL; device_names[i].name; i++) {
@ -288,6 +288,7 @@ deviceGetAll(void)
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
continue;
loopend:
if (ifptr->ifr_addr.sa_len) /* I'm not sure why this is here - it's inherited */
ifptr = (struct ifreq *)((caddr_t)ifptr + ifptr->ifr_addr.sa_len - sizeof(struct sockaddr));
}

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: install.c,v 1.236 1999/05/12 09:02:35 jkh Exp $
* $Id: install.c,v 1.237 1999/05/27 10:32:47 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -728,8 +728,9 @@ installFixupBin(dialogMenuItem *self)
if (RunningAsInit) {
/* Fix up kernel first */
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
char *generic_kernel = "/kernel.GENERIC";
if (file_readable(generic_kernel)) {
if (vsystem("cp -p %s /kernel", generic_kernel)) {
msgConfirm("Unable to copy /kernel into place!");
return DITEM_FAILURE;
}

View File

@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated for what's essentially a complete rewrite.
*
* $Id: main.c,v 1.50 1999/01/08 00:14:22 jkh Exp $
* $Id: main.c,v 1.51 1999/02/05 22:15:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -86,6 +86,11 @@ main(int argc, char **argv)
if (DebugFD)
dup2(DebugFD, 2);
#ifdef PCCARD
/* Initialize PC-card */
pccardInitialize();
#endif
/* Probe for all relevant devices on the system */
deviceGetAll();

View File

@ -0,0 +1,154 @@
/*
* PC-card support for sysinstall
*
* $Id:$
*
* Copyright (c) 1997-1999
* Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>. All rights reserved.
*
* This software may be used, modified, copied, and distributed, in
* both source and binary form provided that the above copyright and
* these terms are retained. Under no circumstances is the author
* responsible for the proper functioning of this software, nor does
* the author assume any responsibility for damages incurred with its
* use.
*/
#include "sysinstall.h"
#include <sys/fcntl.h>
#include <sys/time.h>
#include <pccard/cardinfo.h>
#ifdef PCCARD
int pccard_mode = 0;
DMenu MenuPCICMem = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
"Please select free address area used by PC-card controller",
"PC-card controller uses memory area to get card information.\n"
"Please specify an address that is not used by other devices.\n"
"If you're uncertain of detailed specification of your hardware,\n"
"leave it untouched (default == 0xd0000).",
"Press F1 for more HELP",
"pccard",
{ { "Default", "I/O address 0xd0000 - 0xd3fff",
NULL, dmenuSetVariable, NULL, "pcicmem=0"},
{ "D4", "I/O address 0xd4000 - 0xd7fff",
NULL, dmenuSetVariable, NULL, "pcicmem=1"},
{ "D8", "I/O address 0xd8000 - 0xdbfff",
NULL, dmenuSetVariable, NULL, "pcicmem=2"},
{ "DC", "I/O address 0xdc000 - 0xdffff",
NULL, dmenuSetVariable, NULL, "pcicmem=3"},
{ NULL } },
};
DMenu MenuCardIRQ = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
"Please select IRQs that can be used by PC-cards",
"Please specify an IRQs that CANNOT be used by PC-card.\n"
"For example, if you have a sound card that can't be probed by\n"
"this installation floppy and it uses IRQ 10, you have to \n"
"choose \"Option 1\" or \"Option 2\" at this menu.\n",
"Press F1 for more HELP",
"pccard",
{ { "Default", "IRQ 10, 11",
NULL, dmenuSetVariable, NULL, "cardirq=0"},
{ "Option 1", "IRQ 5, 11 (ex. soundcard on IRQ 10)",
NULL, dmenuSetVariable, NULL, "cardirq=1"},
{ "Option 2", "IRQ 11 (ex. something on IRQ 5 and 10)",
NULL, dmenuSetVariable, NULL, "cardirq=2"},
{ NULL } },
};
void
pccardInitialize(void)
{
int fd;
int t;
int pcic_mem = 0xd0000;
char card_device[16];
char *card_irq = "";
char *spcic_mem;
char *scard_irq;
char pccardd_cmd[256];
pccard_mode = 1;
if (!RunningAsInit && !Fake) {
/* It's not my job... */
return;
}
dmenuOpenSimple(&MenuPCICMem, FALSE);
spcic_mem = variable_get("pcicmem");
dmenuOpenSimple(&MenuCardIRQ, FALSE);
scard_irq = variable_get("cardirq");
sscanf(spcic_mem, "%d", &t);
switch (t) {
case 0:
pcic_mem = 0xd0000;
break;
case 1:
pcic_mem = 0xd4000;
break;
case 2:
pcic_mem = 0xd8000;
break;
case 3:
pcic_mem = 0xdc000;
break;
}
sscanf(scard_irq, "%d", &t);
switch (t) {
case 0:
card_irq = " -i 10 -i 11 ";
break;
case 1:
card_irq = " -i 5 -i 11 ";
break;
case 2:
card_irq = " -i 11 ";
break;
}
sprintf(card_device, CARD_DEVICE, 0);
dialog_clear();
msgConfirm("Now starts initializing PC-card controller and cards.\n"
"If you've executed this installer from PC-card floppy\n"
"drive, this is the last chance to replace it with\n"
"installation media (PC-card Ethernet, CDROM, etc.).\n"
"Please insert installation media and press [Enter].\n"
"If you've not plugged the PC-card installation media\n"
"yet, please plug it now and press [Enter].\n"
"Otherwise, just press [Enter] to proceed.");
dialog_clear();
msgNotify("Initializing PC-card controller....");
if (!Fake) {
if ((fd = open(card_device, O_RDWR)) < 1) {
msgNotify("Can't open PC-card controller %s.\n",
card_device);
return;
}
if (ioctl(fd, PIOCRWMEM, &pcic_mem) < 0){
msgNotify("ioctl %s failed.\n", card_device);
return;
}
}
strcpy(pccardd_cmd, "/stand/pccardd ");
strcat(pccardd_cmd, card_irq);
strcat(pccardd_cmd, " -z");
vsystem(pccardd_cmd);
}
#endif /* PCCARD */