Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

document additions and dhcp client support.

From: Takahiro Yugawa <yugawa@itjit.ad.jp>
  • Loading branch information...
commit 0e55e237af2177b0e5da87cd072b680a8ff69469 1 parent 13c32b2
itojun authored
View
9 freebsd2/release/Makefile
@@ -506,8 +506,13 @@ release.8: write_mfs_in_kernel dumpnlist
( cd ${RD}/trees/bin/dev && \
ls card[0123] | \
cpio -dump ${RD}/mfsfd/dev )
+ ( cd ${RD}/trees/bin/dev && \
+ ls bpf[0123] | \
+ cpio -dump ${RD}/mfsfd/dev )
.endif
( cd ${RD}/mfsfd/dev && rm -f *[swo]d*[bdefgh] )
+ ( cd ${RD}/mfsfd && mkdir -p bin sbin && ln -s /stand/sh bin/sh )
+ cp /usr/src/contrib/isc-dhcp/client/scripts/freebsd ${RD}/mfsfd/sbin/dhclient-script
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
@@ -515,8 +520,8 @@ release.8: write_mfs_in_kernel dumpnlist
echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services
echo "cmd 514/tcp shell" >> ${RD}/mfsfd/stand/etc/services
gzip -c /usr/src/COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz
- gzip -c ${.CURDIR}/../kame/COPYRIGHT > ${RD}/mfsfd/stand/KAME/COPYRIGHT.v6.hlp.gz
- gzip -c ${.CURDIR}/../kame/INSTALL > ${RD}/mfsfd/stand/KAME/INSTALL.v6.hlp.gz
+ gzip -c ${.CURDIR}/../../../kame/COPYRIGHT > ${RD}/mfsfd/stand/KAME/COPYRIGHT.v6.hlp.gz
+ gzip -c ${.CURDIR}/../../../kame/INSTALL > ${RD}/mfsfd/stand/KAME/INSTALL.v6.hlp.gz
cp ${.CURDIR}/GENERIC.PAO.v6 ${RD}/mfsfd/stand/KAME
for i in include-backup.sh sys-backup.sh \
kame-kernel-make.sh kame-include-make.sh kame-kit-make.sh; do \
View
264 freebsd2/release/README.install
@@ -0,0 +1,264 @@
+
+ How to install FreeBSD 2.2.8+PAO+KAME
+
+ Mr. Fukuhara(ichiro@ichiro.org) of [1]IMASY has created very neat
+ install floppy for FreeBSD 2.2.8+PAO+KAME. So you can install FreeBSD
+ 2.2.8+PAO+KAME with almost the same way of Generic FreeBSD. Also, if
+ you use ftp install method, you can install using IPv6!
+
+ Note that this document considers almost nothing if it is the same
+ with Generic FreeBSD install. The target of this document is people
+ who has experience with Generic FreeBSD install. Also, target machine
+ will be basically NotePC because of PAO+KAME, and there is a router
+ machine for target machine.
+ _________________________________________________________________
+
+Contents
+
+ * [2]Preparation
+ * [3]General flow of installation
+ * [4]Installation procedure
+ * [5]Minor Configurations
+ * [6]other userland(KAME ports)
+ * [7]When you need help...
+ * [8]Appendix:In case you want to use local ftp server
+ _________________________________________________________________
+
+Preparation
+
+ * Target PC to install:-)
+ The main target will be NotePC because of PAO+KAME, but of course
+ you can use Desktop machine:-)
+ * Media to install
+ If you can use ftp install, it is the best way
+ PAO+KAME part can only install via ftp:-)
+ * Installation floppy
+ You can get floppy image from anonymous ftp site below
+ + [9]ftp.itjit.ad.jp
+ + [10]ftp.kame.net
+ + [11]ftp.nttv6.net
+ + [12]ftp.imasy.or.jp
+ _________________________________________________________________
+
+General flow of installation
+
+ On this install floppy, first install generic part and then install
+ PAO+KAME specific part. So, general flow of installation will be as
+ follows.
+ * boot from install floppy
+ * generic part of OS installation
+ * PAO+KAME part installation
+ * configuration within installer
+ * boot from installed OS
+ * configuration which cannot do within installer
+ * (Optional)kernel rebuild
+ _________________________________________________________________
+
+Installation procedure
+
+ * boot from install floppy
+ Enable/disable of device driver, I/O & IRQ configuration of pccard
+ controller has to be done with the same way of generic
+ installation.
+ * Configuring Partition/Slice/Distribution
+ Do as generic installation.
+ * Media selection
+ First, generic part of OS will be installed, so if you don't have
+ rich network environment, install from CDROM for generic part will
+ be better. But, in this document, we will assume that you selected
+ ftp for install media.
+ + Selection of server
+ In the next screen, there will be IPv4/IPv6 dual stack sites
+ which can use ftp server for installation. If you have rich
+ network environment, you can select from these sites. If you
+ want to use local ftp server, you must select "URL" and input
+ the URL of ftp server.
+ + Selection of stack
+ After selection of device in the next screen, you must select
+ which stack do you use from IPv4/IPv6. If you want to use
+ IPv4, you must select "INET", and if you want to use IPv6,
+ you must select "INET6". But, IPv6 can be used when target
+ machine is connected to LAN where there is a representative
+ router of IPv6, you have connectivity to internet via IPv6,
+ and you know at least one name server's address who can speak
+ IPv6. If you use IPv4, you can get address and other
+ informations from dhcp. Of course you can configure it by
+ hands.
+ + host configuration
+ Host,Domain,Extra options to ifconfig must be configured as
+ the same way to IPv4. Of course, you must specify IPv6
+ address for name server who can speak IPv6. If you use IPv6,
+ IP address/default gateway will be set by autoconfiguration,
+ so you don't have to specify by hand.
+ * commit
+ When you commit, installation will be done as the normal way, so
+ you must wait for it.
+ * installation of PAO+KAME
+ At the end of commit, installation screen for PAO+KAME will be
+ there. On selection of distribution set, you must select kernel,
+ bin, and PAObin because these are core part. If you want
+ reconfigure kernel or compile v6 userland, you must select src
+ distribution. Then, the screen goes to selection of Install Media,
+ you must go through Media selection and server selection as the
+ same as generic installation. Next, you will be asked "You've
+ already done the network configuration once, would you like to
+ skip over it now?", so usually select "Yes". Then the selected
+ distribution will be installed.
+ Note that if you skip PAO+KAME install here, you can install it
+ from general configuration menu. In this case, go to general
+ configuration menu, and select "K PAO+KAME Kit". After you went
+ through the documantation, select "4 Get PAO+KAME Kit" and then
+ select distribution set as described above, and install them.
+ Also note that "5 Compile PAO+KAME Kit" of PAO+KAME Menu can be
+ used after the installation and invoked from /stand/sysinstall.
+ * Configuration to enable PAO function
+ After the installation has done, go to general configuration menu.
+ Go to "7 Setup" and hit space on the "APM" menu and "pccard" menu
+ to enable PAO function.
+ * Other configuration
+ Do the generic configuration such as "Time Zone", "Root Password",
+ etc.
+ * reboot
+ That's all for those which can configure from installer. You must
+ exit from install and reboot the system from HD.
+ * IPv6 ready
+ After the reboot, and when system comes up, it is already IPv6
+ ready. You can see messages like "starting DAD for ..." or "DAD
+ complete for ..." when booting, this is a message that the system
+ is investigating where there is duplication of address or not to
+ configure IPv6 address automatically. You can confirm IPv6 setup
+ by using /usr/local/v6/sbin/ifconfig -a or
+ /usr/local/v6/bin/netstat -rn as the root account. You can also
+ perform /usr/local/v6/sbin/ping6 or
+ /usr/local/v6/sbin/traceroute6.
+ * configuration of inetd
+ At this point, you may notice that inetd complains "Address
+ already in use". This is because that OS default (IPv4 only) inetd
+ is already there, and KAME (IPv4/IPv6 dualstack) inetd will start
+ up after that. So you must stop OS default inetd by editing
+ /etc/rc.conf. You must change line 44 of /etc/rc.conf like
+inetd_enable="YES"
+ to
+inetd_enable="NO"
+ Also, you can do inetd as IPv4/IPv6 ready by editing
+ /etc/inetd.conf. In case of telnetd, change line
+telnet stream tcp nowait root /usr/libexec/telnetd telnetd
+ to
+telnet stream tcp4 nowait root /usr/local/v6/libexec/telnetd telnetd
+telnet stream tcp6 nowait root /usr/local/v6/libexec/telnetd telnetd
+ will be fine. Also, if there is a daemon in /usr/local/v6/libexec
+ like ftpd, you can do all of them to dualstack by changing
+ /etc/inetd.conf like this.
+ * kernel rebuild
+ If you want rebuild kernel, you must install src distribution from
+ "PAO+KAME" menu of installer. if you installed it, kernel can be
+ rebult from top menu -> "c Configure" -> "K PAO+KAME Kit" -> "5
+ Compile PAO+KAME Kit" from /stand/sysinstall. If you want to
+ rebuild by hand, /stand/KAME/GENERIC.PAO.v6 is the generic config
+ file and kernel source is at /usr/src/kame/freebsd2/sys, so copy
+ the config file to /usr/src/kame/freebsd2/sys/i386/conf and edit
+ it. After that, you can rebuild your kernel as the general config,
+ make depend, make procedure.
+ _________________________________________________________________
+
+Minor Configuration
+
+ Thats all for the besic configuration. The rests are the minor
+ configuration to keep you happy.
+ * Configuration of IPv4:-)
+ If you use IPv4 for the installation, there will be a configration
+ used for installation, but if you use IPv6, it will be configured
+ to use dhcp for IPv4. If you don't prefer it, edit /etc/rc.conf
+ and use fixed IPv4 address.
+ * Configuration of command search path
+ Commands/files related to IPv6 is installed in /usr/local/v6
+ tree(except for source files). Most of these commands are
+ IPv4/IPv6 dualstack. So, if you can connect via IPv6 use IPv6, and
+ can only connect via IPv4 use IPv4 instead. So you don't have to
+ switch through /usr/bin/telnet and /usr/local/v6/bin/telnet. So,
+ if you edit PATH Environment variable as /usr/local/v6/bin or
+ /usr/local/v6/sbin before /usr/bin or /usr/sbin, you can use
+ dualstack binary without your notice.
+ * Configuration of manpath.config
+ As above, man files of KAME is installed in /usr/local/v6/man
+ tree. So you want to edit /etc/manpath.config to read KAME man
+ files with man command.
+ * Configuration of rtsol
+ This installer is aimed to be IPv6 ready after the installer, so
+ it is configured to perform rtsol(the way to get global IPv6
+ address from representative router) to multiple network device.
+ But, this is somewhat nasty way, so you may change to perform
+ rtsol on one specific network device. To do this, edit line below
+ of /usr/local/v6/etc/rc.net6
+iface="ed0 ep0 fe0 sn0"
+ to like
+iface="ep0"
+ to specify only one network device.
+ _________________________________________________________________
+
+other userland(KAME ports)
+
+ There are some basic userland like telnet/ftp in KAME distributions,
+ but there is no other applications. But, there is a ports on KAME like
+ FreeBSD's ports system, and there are many(almost all) IPv6 ready
+ applications in it. Like FreeBSD ports, you can make at the directory
+ /usr/src/kame/freebsd2/ports below and you can use them.
+ _________________________________________________________________
+
+When you need help...
+
+ Sorry, there is no ML supporting this installer. About KAME project,
+ you can go to [13]KAME project and this page will be helpful.
+ _________________________________________________________________
+
+Appendix:In case you want to use local ftp server
+
+ You may want to use your local ftp server as the install server when
+ you are far from registered ftp server or unreachable. This section
+ describes how to set up ftp server and what to specify URL for it.
+ * Configuration for generic part
+ This is done as general FreeBSD installation. Select a directory
+ as you like, and create '2.2.8-RELEASE' directory in it and copy
+ needed files for installation. Or mount Walnut Creek CDROM on your
+ sever and create symbolic link named '2.2.8-RELEASE' to the CDROM.
+ You can specify URL like
+ "ftp://[hostname of ftp server]/[directory where 2.2.8-RELESE
+ resides]"
+ * Configuration for PAO+KAME part
+ Select a directory as above, and create snap directory in it. Copy
+ contents from
+ [14]ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/snap/.
+ The same contents can get from these sites listed below.
+ + [15]ftp.kame.net
+ + [16]ftp.nttv6.net
+ + [17]ftp.imasy.or.jp
+ You can specify URL like
+ "ftp://[hostname of ftp server]/[directory where snap resides]"
+
+ You can use local ftp server as configured above.
+ _________________________________________________________________
+
+ $Date: 1999/11/05 15:01:25 $
+
+
+ yugawa@itjit.ad.jp
+
+References
+
+ 1. http://www.imasy.or.jp/
+ 2. http://www.itv6.org/v6inst/paokame2-e.shtml#prepare
+ 3. http://www.itv6.org/v6inst/paokame2-e.shtml#flow
+ 4. http://www.itv6.org/v6inst/paokame2-e.shtml#install
+ 5. http://www.itv6.org/v6inst/paokame2-e.shtml#config
+ 6. http://www.itv6.org/v6inst/paokame2-e.shtml#kameports
+ 7. http://www.itv6.org/v6inst/paokame2-e.shtml#help
+ 8. http://www.itv6.org/v6inst/paokame2-e.shtml#ftp
+ 9. ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/installer/paokame.flp
+ 10. ftp://ftp.kame.net/pub/kame/installer-imasy/FreeBSD-IPv6/installer/paokame.flp
+ 11. ftp://ftp.nttv6.net/ipv6/IPv6_installer/FreeBSD-IPv6/installer/paokame.flp
+ 12. ftp://ftp.imasy.or.jp/installer/FreeBSD-IPv6/installer/paokame.flp
+ 13. http://www.kame.net/
+ 14. ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/snap/
+ 15. ftp://ftp.kame.net/pub/kame/installer-imasy/FreeBSD-IPv6/snap/
+ 16. ftp://ftp.nttv6.net/ipv6/IPv6_installer/FreeBSD-IPv6/snap/
+ 17. ftp://ftp.imasy.or.jp/installer/FreeBSD-IPv6/snap/
View
265 freebsd2/release/README.install.jp
@@ -0,0 +1,265 @@
+
+ FreeBSD 2.2.8+PAO+KAME$B$N%$%s%9%H!<%kJ}K!(B
+
+ [1]IMASY$B$NJ!86$5$s(B (ichiro@ichiro.org)$B$N:n$C$F$/$l$?%$%s%9%H!<%k%U%m%C(B
+ $B%T!<(B $B$N$*$+$2$G(BFreeBSD 2.2.8+PAO+KAME$B$N%$%s%9%H!<%k$OAG$N(BFreeBSD$B$H$[$H(B
+ $B$s$I(B $BF1$8<j4V$GHs>o$K4JC1$K%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#$^$?!"(Bftp$B%$(B
+ $B%s%9%H!<%k(B $B$N>l9g$O!"%$%s%9%H!<%k$N;~E@$G(BIPv6$B$rMQ$$$F%$%s%9%H!<%k$9$k$3(B
+ $B$H$b2DG=$G$9!#(B
+
+ $B$J$*!"K\%I%-%e%a%s%H$G$O!"IaDL$N(BFreeBSD$B$r%$%s%9%H!<%k>l9g$HF1Ey$JE@$K(B
+ $B$D$$$F$O$[$H$s$I?($l$^$;$s!#4pK\E*$K(BFreeBSD$B$N%$%s%9%H!<%k$r7P83$7$F$$$k(B
+ $B?M$rBP>]$K$7$F$$$^$9!#$^$?!"(BPAO+KAME$B$H$$$&$3$H$G4pK\E*$K$O(BNotePC$B$G!"(B
+ end host$B$H$J$k(B($B30It$H$NDL?.$N$?$a$N(Brouter$B$OJL$K$$$k(B)$B%^%7%s$r9=C[$9$k$3(B
+ $B$H$r(B $BA0Ds$H$7$F$$$^$9!#(B
+ _________________________________________________________________
+
+$B$b$/$8(B
+
+ * [2]$B=`Hw$9$k$b$N(B
+ * [3]$B%$%s%9%H!<%k$NBg$^$+$JN.$l(B
+ * [4]$B%$%s%9%H!<%k:n6H(B
+ * [5]$B:YIt$N@_Dj(B
+ * [6]other userland(KAME ports)
+ * [7]$B:$$C$?;~$O(B...
+ * [8]$B$*$^$1(B:$B<j85$N(Bftp server$B$+$i%$%s%9%H!<%k$9$k>l9g(B
+ _________________________________________________________________
+
+$B=`Hw$9$k$b$N(B
+
+ * $B%$%s%9%H!<%k$9$k(BPC:-)
+ PAO+KAME$B$G$9$+$i(BNotePC$B$r<g$JBP>]$K$7$F$^$9$,!"(BDesktop$B$G$b9=$$$^$;$s(B
+ :-)
+ * $B%$%s%9%H!<%k%a%G%#%"(B
+ ftp$B%$%s%9%H!<%k$,2DG=$J$i$P$=$l$,0lHVNI$$$G$7$g$&(B
+ $B$C$F$$$&$+!"(Bftp$B%$%s%9%H!<%k$8$c$J$$$H(BPAO+KAME$B$NItJ,$,F~$j$^$;$s(B:-)
+ * $B%$%s%9%H!<%k%U%m%C%T!<(B
+ $B0J2<$N(Banonymous ftp$B%5%$%H$+$iF~<j$G$-$^$9!#(B
+ + [9]ftp.itjit.ad.jp
+ + [10]ftp.kame.net
+ + [11]ftp.nttv6.net
+ + [12]ftp.imasy.or.jp
+ _________________________________________________________________
+
+$B%$%s%9%H!<%k$NBg$^$+$JN.$l(B
+
+ $B%$%s%9%H!<%k%U%m%C%T!<$G$O!"4pK\ItJ,$N%$%s%9%H!<%k$r9T$C$?8e!"(B
+ PAO+KAME specific$B$J%U%!%$%k$r%$%s%9%H!<%k$9$k!"$H$$$&J}K!$rMQ$$$F$$$^$9(B
+ $B!#(B $B$7$?$,$C$F!"Bg$^$+$JN.$l$O0J2<$NMM$K$J$j$^$9!#(B
+ * $B%$%s%9%H!<%k%U%m%C%T!<$K$h$k5/F0(B
+ * OS$B$N4pK\ItJ,$N%$%s%9%H!<%k(B
+ * PAO+KAME$BItJ,$N%$%s%9%H!<%k(B
+ * $B%$%s%9%H!<%i$+$i=PMh$kItJ,$N@_Dj(B
+ * $B%$%s%9%H!<%k$7$?(BOS$B$+$i5/F0(B
+ * $B%$%s%9%H!<%i$+$i=PMh$J$$ItJ,$N@_Dj(B
+ * (Optional)kernel$B:F9=C[(B
+ _________________________________________________________________
+
+$B%$%s%9%H!<%k:n6H(B
+
+ * $B%$%s%9%H!<%k%U%m%C%T!<$K$F(Bboot
+ $B%G%P%$%9%I%i%$%P$N@_DjJQ99!?L58z2=!"(Bpccard$B%3%s%H%m!<%i$N(BI/O,IRQ$B$N@_(B
+ $BDj$O(B $BDL>o$NJ}K!$HF1MM$K9T$$$^$9!#(B
+ * Partition/Slice/Distribution$B$N@_Dj(B
+ $BDL>o$N%$%s%9%H!<%k$HF1MM$K@_Dj$7$^$9!#(B
+ * Media$B$NA*Br(B
+ $B:G=i$K%$%s%9%H!<%k$9$kItJ,$ODL>o$K%$%s%9%H!<%k$5$l$kJ*$HF1$8$J$N$G(B
+ $B!"(B $B=aBt$J%M%C%H%o!<%/4D6-$NL5$$?M$O4pK\ItJ,$@$1(BCDROM$B$+$i%$%s%9%H!<(B
+ $B%k(B $B$9$k$N$bNI$$$G$7$g$&!#$,!"$3$3$G$O!"(BMedia$B$K(Bftp$B$rA*Br$7$?>l9g$K$D(B
+ $B$$$F(B $B2r@b$7$^$9!#(B
+ + server$B$NA*Br(B
+ $B<!$N2hLL$G$O!"%$%s%9%H!<%k;~$K;HMQ$9$k(Bftp server$B$H$7$F!"(B
+ IPv4/IPv6 dual stack$B$J%5%$%H$,%a%K%e!<$KI=<($5$l$^$9!#%M%C%H%o(B
+ $B!<%/E*$KLdBjL5$1$l$P(B $B$3$NCf$+$iA*Br$7!"Nc$($P<j85$N(Bftp server
+ $B$rMQ$$$k>l9g$O!"(B"URL"$B$rA*Br$7!"(B URL$B$rF~NO$7$^$9!#(B
+ + stack$B$NA*Br(B
+ $B<!$N2hLL$G(Bdevice$B$rA*Br$7$?$i!"$$$h$$$h(BIPv4/IPv6$B$N$I$A$i$r;H$&(B
+ $B$+$r(B $BA*Br$7$^$9!#(BIPv4$B$N>l9g$O(BINET$B$r!"(BIPv6$B$N>l9g$O(BINET6$B$rA*Br$7(B
+ $B$^$9!#(B $B$?$@$7!"(BIPv6$B$O%$%s%9%H!<%k$9$k%^%7%s$,7Q$C$F$$$k(BLAN$B$K(B
+ IPv6$BE*BeI=%k!<%?$,(B $B$$$F!"(BIPv6$BE*$K30It$H$N(Bconnectivity$B$,$"$k;v(B
+ $B!"(BIPv6$B$,OC$;$k(Bname server$B$r(B $BCN$C$F$$$k;v$,I,MW$K$J$j$^$9!#(B
+ IPv4$B$r;HMQ$9$k>l9g!"(Bdhcp$B$G%"%I%l%9$=$NB>(B $B$N>pJs$rF@$k;v$b2DG=(B
+ $B$G$9!#$b$A$m$s<jF0$G@_Dj$9$k;v$b2DG=$G$9!#(B
+ + host$B$N@_Dj(B
+ Host$B!"(BDomain$B!"(BExtra options to ifconfig$B$O(BIPv4$B$N;~$HF1MM$K@_Dj(B
+ $B$7$^$9!#(B $B$^$?!"(BName server$B$K$O!"EvA3$N;v$J$,$i(BIPv6$B$rC}$l$k%5!<(B
+ $B%P$N(BIPv6$B%"%I%l%9$r(B $B;XDj$7$^$9!#(B IPv6$B$r;HMQ$9$k>l9g!"(BIP
+ address/default gateway$BEy$O(Bautoconfiguration$B$K$h$j(B $B@_Dj$5$l$^(B
+ $B$9$N$G!"@_Dj$NI,MW$O$"$j$^$;$s!#$J$s$FJXMx$@!*(B
+ * commit
+ commit$B$9$k$H!"IaDL$K%$%s%9%H!<%k$,;O$^$j$^$9$N$G$7$P$i$/BT$A$^$9!#(B
+ * PAO+KAME$B$N%$%s%9%H!<%k(B
+ commit$B$N:G8e$K(BPAO+KAME$B$N%$%s%9%H!<%k2hLL$,I=<($5$l$^$9!#(B
+ distribution set $B$NA*Br$G$O!"(Bkernel, bin, PAObin$B$OI,?\$J$N$G!"$3$l(B
+ $B$i$OI,$:A*Br$7$^$9!#(B kernel$B$N:F9=C[$d(Bv6 userland$B$N%3%s%Q%$%k$r9T$$(B
+ $B$?$$>l9g$O!"(Bsrc distribution $B$bA*Br$7$^$9!#(B $B0zB3$-!"(BInstall Media$B$N(B
+ $BA*Br2hLL$K0\$k$N$G!"4pK\ItJ,$N%$%s%9%H!<%k$H(B $BF1MM$K(BMedia$B$NA*Br"*(B
+ server$B$NA*Br$HB3$-$^$9!#<!$K!V4{$K%M%C%H%o!<%/$N(B $B@_Dj$,:Q$s$G$k$+$i(B
+ $B$=$N$^$^<!$X9T$C$FNI$$$+!)!W$H(B($B1Q8l$G(B)$BJ9$$$FMh$k$N$G!"(B $BIaDL$O$=$N$^(B
+ $B$^(BYes$B$rA*Br$7$^$9!#$3$l$GA*Br$7$?(Bdistribution$B$,%$%s%9%H!<%k(B $B$5$l$^(B
+ $B$9!#(B
+ $B$J$*!"$3$3$G!"(BPAO+KAME$B$N%$%s%9%H!<%k$r$7$J$/$F$b!"(Bgeneral
+ configuration menu$B$+$i%$%s%9%H!<%k$9$k$3$H$b$G$-$^$9!#$=$N>l9g!"(B
+ general configuration menu$B$K?J$_!"(B"K PAO+KAME Kit"$B$rA*Br$7$^$9!#(B $B<!(B
+ $B$K%I%-%e%a%s%H$rFI$s$@$i!"(B"4 Get PAO+KAME Kit"$B$rA*Br$7$^$9!#(B
+ distribution set$B$r>e5-$HF1MM$KA*Br$7!"%$%s%9%H!<%k$7$^$9!#(B
+ $B$A$J$_$K(BPAO+KAME Menu$B$N(B"5 Compile PAO+KAME Kit"$B%a%K%e!<$O%$%s%9%H!<(B
+ $B%k(B $B=*N;8e$K(Bboot$B$7$F(B/stand/sysinstall$B$G5/F0$7$?;~$K$7$+5!G=$7$^$;$s(B
+ $B!#(B
+ * PAO$B5!G=M-8z2=$N@_Dj(B
+ $B%$%s%9%H!<%k$,=*N;$7$?$i!"$=$N$^$^(Bgeneral configuration menu$B$K?J$_(B
+ $B$^$9!#(B PAO$B5!G=$rM-8z$K$9$k$?$a$K$b$&0l$D@_Dj$9$Y$-E@$,$"$j$^$9!#(B
+ general configuration menu$B$+$i(B"7 Startup"$B$rA*Br$7!"0lHV>e$N(BAPM$B$H(B2$BHV(B
+ $BL\$N(Bpccard $B$N9`L\$G%9%Z!<%9$rC!$$$FM-8z$K$7$^$9!#$3$l$r$d$i$J$$$H(B
+ PAO$B5!G=$,(B $BF0$-$^$;$s!#(B
+ * $B$=$NB>$N@_Dj(B
+ $B$=$NB>$N(BTime Zone$B$H$+(BRoot Password$B$H$+$N@_Dj$ODL>o$N%$%s%9%H!<%k$H(B
+ $BF1MM$K9T$$$^$9!#(B
+ * reboot
+ $B0J>e$G%$%s%9%H!<%i$+$i@_Dj!?A`:n$G$-$kItJ,$O=*N;$G$9!#%$%s%9%H!<%i(B
+ $B$r(B $B=*N;$7$F!"(BHD$B$+$i5/F0$7$^$7$g$&!#(B
+ * $B0l1~(BIPv6 ready
+ reboot$B$7$F!"DL>o$KN)$A>e$,$C$FMh$l$P4{$K(B($B0l1~(B)IPv6 ready$B$K$J$C$F$$(B
+ $B$^$9!#(B boot$BCf$K(Bstarting DAD for...$B$H$+(BDAD complete for...$B$H$+$N%a%C(B
+ $B%;!<%8$,(B $BI=<($5$l$k$O$:$G$9$,!"$3$l$O!"(BIPv6 address$B$r<+F0@_Dj$9$k$?(B
+ $B$a$K%"%I%l%9$,(B $B=EJ#$7$F$$$J$$$+$I$&$+$rD4::$7$F$$$k%a%C%;!<%8$G$9!#(B
+ root$B$G(Blogin$B$7$F(B /usr/local/v6/sbin/ifconfig -a$B$H$+(B
+ /usr/local/v6/bin/netstat -rn$B$H$+(B $B$7$F$_$k$HNI$$$G$7$g$&!#$^$?!"(B
+ /usr/local/v6/sbin/ping6$B$H$+(B /usr/local/v6/sbin/traceroute6$B$H$+$GM7(B
+ $B$s$G8+$k;v$b$G$-$^$9!#(B
+ * inetd$B$N@_Dj(B
+ $B$3$3$G!"(Bconsole$B$K(Binetd$B$,(BAddress already in use$B$HJ86g$r8@$C$F$$$k$N(B
+ $B$K(B $B5$IU$/?M$bB?$$$G$7$g$&(B($B>P(B)$B!#$3$l$O!"(BOS default$B$N(B(IPv4 only$B$J(B
+ )inetd$B$,(B $B5/F0$7$F$$$k=j$K(BKAME$B$N(B(IPv4/IPv6 dualstack$B$J(B)inetd$B$r5/F0$7(B
+ $B$F$$$k$?$a(B $B$G$9!#$=$3$G!"(B/etc/rc.conf$B$N(B44$B9TL\IU6a$N(B
+inetd_enable="YES"
+ $B$H$J$C$F$$$k9T$r(B
+inetd_enable="NO"
+ $B$K=q$-49$($^$9!#$D$$$G$K!"(B/etc/inetd.conf$B$b=q$-49$($F!"(BIPv4/IPv6
+ ready $B$K$7$F$7$^$$$^$7$g$&!#(Btelnetd$B$NNc$G=q$/$H!"(B
+telnet stream tcp nowait root /usr/libexec/telnetd telnetd
+ $B$H$J$C$F$$$k9T$r(B
+telnet stream tcp4 nowait root /usr/local/v6/libexec/telnetd telnetd
+telnet stream tcp6 nowait root /usr/local/v6/libexec/telnetd telnetd
+ $B$HJQ99$7$^$9!#$=$NB>!"(Bftpd$BEy(B/usr/local/v6/libexec$B$K(Bdeamon$B$,$"$kJ*$O(B
+ $B$9$Y$FF1MM$KJQ99$9$k;v$G(Bdualstack$B$K$9$k;v$,=PMh$^$9!#(B
+ * kernel$B:F9=C[(B
+ kernel$B:F9=C[$N$?$a$K$O!"%$%s%9%H!<%i$N(BPAO+KAME$B%a%K%e!<$G(Bsrc
+ distribution $B$r%$%s%9%H!<%k$7$F$*$/I,MW$,$"$j$^$9!#$=$&$9$l$P!"(B
+ /stand/sysinstall$B$G(B top menu$B"*(B"c Configure"$B"*(B"K PAO+KAME Kit"$B"*(B"5
+ Compile PAO+KAME Kit"$B$G(B $B:F9=C[$,=PMh$^$9!#$^$?!"<jF0$G:F9=C[$7$?$$(B
+ $B>l9g$O!"(Bgeneric$B$J(Bconfig file $B$,(B/stand/KAME/GENERIC.PAO.v6$B$K$"$j!"(B
+ kernel source$B$,(B/usr/src/kame/freebsd2/sys $B0J2<$KE83+$5$l$F$$$k$N$G(B
+ $B!"(B/stand/KAME/GENERIC.PAO.v6$B$r(B/usr/src/kame/freebsd2/sys/i386/conf
+ $B$KE,Ev$JL>A0$G%3%T!<!"JT=8$7!"DL>oDL$j(Bconfig,make depend,make $B$r<B(B
+ $B9T$9$l$P2DG=$G$9!#(B
+ _________________________________________________________________
+
+$B:YIt$N@_Dj(B
+
+ $B0J>e$G4pK\E*$J@_Dj$O40N;$G$9!#$"$H$O9,$;$K2a$4$9$?$a$K:Y$+$$@_Dj$r$A$g(B
+ $B$C$H$@$1(B $B$7$^$7$g$&!#(B
+ * IPv4$B$N@_Dj(B:-)
+ $B%$%s%9%H!<%k;~$K(BIPv4$B$r;HMQ$7$??M$O!"%$%s%9%H!<%k;~$N@_Dj$,@8$-$F$$(B
+ $B$k(B $B$O$:$G$9$,!"(BIPv6$B$r;HMQ$7$??M$O!"(Bdhcp$B$r;H$&@_Dj$K$J$C$F$$$k$O$:$G(B
+ $B$9!#(B $B$3$l$,7y$J$i$P!"(B/etc/rc.conf$B$rJT=8$7$F8GDj$N(BIPv4 address$B$,?6$i(B
+ $B$l$k$h$&$K(B $BJQ99$7$F$/$@$5$$!#(B
+ * command search path$B$N@_Dj(B
+ IPv6$B4XO"$N%U%!%$%k$O(B($B%=!<%9$r=|$$$F(B)$BA4$F(B/usr/local/v6$B0J2<$N%G%#%l%/(B
+ $B%H%j$K(B $B%$%s%9%H!<%k$5$l$^$9!#$3$N%$%s%9%H!<%k$5$l$k%3%^%s%I$OB?$/$N(B
+ $B>l9g(BIPv4/IPv6 dualstack$B$K$J$C$F$$$^$9!#$D$^$j!"(BIPv6$B$G@\B32DG=$J$i(B
+ IPv6$B$G@\B3$7!"(BIPv4$B$N$_(B $B$J$i(BIPv4$B$G@\B3$7$h$&$H$7$^$9!#$D$^$j!"(B
+ /usr/bin/telnet$B$H(B/usr/local/v6/bin/tel net $B$r>l9g$K$h$C$F;H$$J,$1$k(B
+ $BI,MW$OL5$$Lu$G$9!#$N$G!"4D6-JQ?t(BPATH$B$rJT=8$7$F!"(B PATH$B$NA0$NJ}$K(B
+ /usr/local/v6/bin$B$H$+(B/usr/local/v6/sbin$B$H$+$r$$$l$F$*$1$P(B $B$@$$$V2w(B
+ $BE,$K$J$j$^$9!#(B
+ * manpath.config$B$N@_Dj(B
+ $B>e5-$HF1MM$K!"(BKAME$B4XO"$N(Bman file$B$O!"(B/usr/local/v6/man$B$N2<$K%$%s%9%H(B
+ $B!<%k(B $B$5$l$F$$$^$9!#$N$G!"(B/etc/manpath.config$B$rE,@Z$K=q$-49$($l$P!"(B
+ man$B%3%^%s%I(B $B$G!"(BKAME$B4XO"$N(Bman$B$rFI$`;v$,=PMh$k$h$&$K$J$j$^$9!#(B
+ * rtsol$B$N@_Dj(B
+ $B$3$N%$%s%9%H!<%i$O(Breboot$B$7$?$i4{$K(BIPv6 ready$B$rL\;X$7$F$$$k$N$G!"J#(B
+ $B?t$N(B network device$B$KBP$7$F(Brtsol($BBeI=%k!<%?$+$i(Bglobal$B$J(BIPv6
+ address$B$rLc$&;EAH$_(B) $B$r<B9T$9$k$h$&$K@_Dj$5$l$F$$$^$9!#$,!"$[$s$H$O(B
+ $B$3$l$O$*9T57$,NI$/$J$$$N$G!"(B $B<+J,$N;H$&(Bnetwork device$B$N$_$K(Brtsol$B$9(B
+ $B$k$h$&$KJQ99$7$?J}$,NI$$$G$7$g$&!#(B $B$=$N$?$a$K$O!"(B
+ /usr/local/v6/etc/rc.net6$B$N(B
+iface="ed0 ep0 fe0 sn0"
+ $B$H$J$C$F$$$k9T$r(B
+iface="ep0"
+ $B$N$h$&$K<+J,$N;H$C$F$$$k(Bnetwork device$B$N$_$K=q$-49$($l$P(BOK$B$G$9!#(B
+ _________________________________________________________________
+
+other userland(KAME ports)
+
+ KAME$B$NG[I[%-%C%H$K$O(Btelnet/ftp$B$N$h$&$J$4$/4pK\E*$J(Buserland$B$O4^$^$l$F$$(B
+ $B$^$9$,!"(B $BB>$N(Bapplication$B$O4^$^$l$F$$$^$;$s!#$,!"(BKAME$B$K$O(BFreeBSD$B$N(Bports
+ $B$HF1$8;EAH$_$N(B ports$B$,4^$^$l$F$$$F!"B?$/$N(B($BDL>o;H$&$[$H$s$IA4$F$N(B)IPv6
+ ready$B$J(Bapplication$B$,(B $BLVMe$5$l$F$$$^$9!#(BFreeBSD ports$B$HF1MM$K!"(B
+ /usr/src/kame/freebsd2/ports$B$NL\E*$N(B $B%G%#%l%/%H%j$G(Bmake$B$9$l$P!"MxMQ$9$k(B
+ $B;v$,=PMh$^$9!#(B
+ _________________________________________________________________
+
+$B:$$C$?;~$O(B...
+
+ $B$3$N%$%s%9%H!<%i$N%5%]!<%HMQ$N(BML$BEy$OB8:_$7$^$;$s$,!"(BFreeBSD$B>e$N(BIPv6$BA4HL(B
+ $B$K$D$$$F$O(B[13] IPv6-jp@jp.FreeBSD.org$B$H$$$&%a!<%j%s%0%j%9%H$,$"$j$^$9!#(B
+ $B$^$?!"(BKAME$B$K(B $B$D$$$F$O!"(B[14]KAME project$B$N%Z!<%8$,(B $BB?$$$KLrN)$D$G$7$g$&(B
+ $B!#(B
+ _________________________________________________________________
+
+$B$*$^$1(B:$B<j85$N(Bftp server$B$+$i%$%s%9%H!<%k$9$k>l9g(B
+
+ $B%$%s%9%H!<%i$KEPO?$5$l$F$$$k(Bftp server$B$,%M%C%H%o!<%/E*$K1s$+$C$?$j(B $B$=$b(B
+ $B$=$b(Breachability$B$,$J$$$1$I!"<j85$N%M%C%H%o!<%/$K$O(Bftp server$B$K=PMh$k(B $B%^(B
+ $B%7%s$,7Q$C$F$$$l$P$=$3$+$i(Bftp install$B$7$?$$$H9M$($k?M$bB?$$$G$7$g$&!#(B
+ $B$=$3$G!"$=$N$h$&$J>l9g$K(Bftp server$B$K$I$N$h$&$K%3%s%F%s%D$rCV$-!"(B URL$B$K(B
+ $B2?$r;XDj$9$l$PNI$$$+$r<($7$^$9!#(B
+ * $B4pK\ItJ,$N@_Dj(B
+ $B$3$l$O!"DL>o$N(BFreeBSD$B$H$*$s$J$8$G!"E,Ev$K%G%#%l%/%H%j$r7h$a$F$=$3$K(B
+ 2.2.8-RELEASE$B$H$$$&%G%#%l%/%H%j$r:n@.$7!"$=$NCf$K%$%s%9%H!<%k;~$K(B
+ $BI,MW$K$J$k%U%!%$%k$r%3%T!<$9$k$J$j!"(BWalnut Creek$B$N(BCD ROM$B$X$N%7%s%\(B
+ $B%j%C%/(B $B%j%s%/$r:n@.$9$k$J$j$9$l$P(BOK$B$G$9!#(BURL$B$O!"(B
+ "ftp://[ftp$B%5!<%P$N%[%9%HL>(B]/[2.2.8-RELEASE$B%G%#%l%/%H%j$N$"$k%G%#%l(B
+ $B%/%H%j(B]"
+ $B$r;XDj$7$^$9!#(B
+ * PAO+KAME$BItJ,$N@_Dj(B
+ $BF1MM$KE,Ev$K%G%#%l%/%H%j$r7h$a$F$=$3$K(Bsnap$B$H$$$&%G%#%l%/%H%j$r:n@.(B
+ $B$7!"(B $B$=$NCf$K!"Nc$($P!"(B
+ [15]ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/snap/$B$NCf(B
+ $B?H$r(B $B%3%T!<$7$^$9!#F1$8J*$O!"(B
+ + [16]ftp.kame.net
+ + [17]ftp.nttv6.net
+ + [18]ftp.imasy.or.jp
+ $B$+$i$bF~<j$G$-$^$9!#(BURL$B$O!"(B
+ "ftp://[ftp$B%5!<%P$N%[%9%HL>(B]/[snap$B%G%#%l%/%H%j$N$"$k%G%#%l%/%H%j(B]"
+ $B$r;XDj$7$^$9!#(B
+
+ $B0J>e$NJ}K!$G!"<j85$N(Bftp server$B$+$i(Bftp$B%$%s%9%H!<%k$9$k;v$,2DG=$G$9!#(B
+ _________________________________________________________________
+
+ $Date: 1999/11/05 15:01:25 $
+
+
+ yugawa@itjit.ad.jp
+
+References
+
+ 1. http://www.imasy.or.jp/
+ 2. http://www.itv6.org/v6inst/paokame2.shtml#prepare
+ 3. http://www.itv6.org/v6inst/paokame2.shtml#flow
+ 4. http://www.itv6.org/v6inst/paokame2.shtml#install
+ 5. http://www.itv6.org/v6inst/paokame2.shtml#config
+ 6. http://www.itv6.org/v6inst/paokame2.shtml#kameports
+ 7. http://www.itv6.org/v6inst/paokame2.shtml#help
+ 8. http://www.itv6.org/v6inst/paokame2.shtml#ftp
+ 9. ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/installer/paokame.flp
+ 10. ftp://ftp.kame.net/pub/kame/installer-imasy/FreeBSD-IPv6/installer/paokame.flp
+ 11. ftp://ftp.nttv6.net/ipv6/IPv6_installer/FreeBSD-IPv6/installer/paokame.flp
+ 12. ftp://ftp.imasy.or.jp/installer/FreeBSD-IPv6/installer/paokame.flp
+ 13. http://www.jp.freebsd.org/ml.html#IPv6-jp
+ 14. http://www.kame.net/
+ 15. ftp://ftp.itjit.ad.jp/pub/IPv6/installer/FreeBSD-IPv6/snap/
+ 16. ftp://ftp.kame.net/pub/kame/installer-imasy/FreeBSD-IPv6/snap/
+ 17. ftp://ftp.nttv6.net/ipv6/IPv6_installer/FreeBSD-IPv6/snap/
+ 18. ftp://ftp.imasy.or.jp/installer/FreeBSD-IPv6/snap/
View
167 freebsd2/release/README.v6
@@ -1,21 +1,31 @@
-$Id: README.v6,v 1.1 1999/09/13 08:49:55 itojun Exp $
-
- (1) Checkout the kame-tree
- (2) make target
- (3) install include files
- (4) extracting PAO package
- (5) apply /usr/src/PAO/sys-pao.diff
- (6) update include files
- (7) makeing the KAME userland tools
- (8) makeing /usr/obj directory
- (9) makeing /R directory
- (10) makeing boot.flp and fixit.flp
-
- require sources:
- sbase, sbin, scontrib, setc, sgnu, ssbin, sshare,
- ssys, subin, susbin
-
-(1) Checkout the kame-tree
+1. Prepare
+ To compile PAO+KAME install floppy, you must first install at lease these
+sources.
+
+ sbase, sbin, scontrib, setc, sgnu, ssbin, sshare, ssys, subin, susbin
+
+ Also, it requires /usr/src/contrib/isc-dhcp & /usr/src/sbin/dhclient
+source tree imported from 3.3-RELEASE source tree. Of course, you must add
+'dhclient' to SUBDIR of /usr/src/sbin/Makefile.
+
+ To compile install floppy, you need pseudo-device vn in your kernel
+configuration. If not, add
+
+ pseudo-device vn 1
+
+to you kernel configuration, rebuild & install kernel, and reboot your system.
+
+2. Getting PAO+KAME integrated source tree
+ There are two ways to get PAO+KAME integrrated source tree.
+One is to get kame-tree by cvs or cvsup and apply PAO patch by hand.
+The other is to get PAO+KAME integrated tree by cvsup.
+
+2.1 Get kame-tree and apply PAO patch
+ To get kame-tree by cvs or cvsup and apply PAO patch, follow the
+instructions below
+
+ (1) Checkout the kame-tree
+
# cd $somewhere (replace $somewhere with your working directory)
Default of "$somewhere" is /usr/src.
If you checkout the kame-tree in other place, must change $KAMETREE in Makefile.
@@ -25,38 +35,94 @@ $Id: README.v6,v 1.1 1999/09/13 08:49:55 itojun Exp $
# cd kame
# make TARGET=freebsd2 tree
-(2) make target
+ You can also get kame-tree by cvsup. Please visit http://www.kame.net/
+for the details.
+
+ (2) make target
+
# ln -s $somewhere/kame/freebsd2/sys /usr/src/sys
# cd $somewhere/kame
# make TARGET=freebsd2 prepare
-(3) install include files
-# cd $somewhere/kame/freebsd2
-# make includes
-# make install-includes
+ (3) extract PAO package
-(4) extracting PAO package in /usr/src directory
# cd $somewhere (replace $somewhere with your working directory)
Default of "$somewhere" is /usr/src.
If you extract PAO-archive in other place, must change $PAOTREE in Makefile.
# gzip -c -d PAO-19990405.tgz | tar -xvf -
# ln -s PAO-19990405 PAO
-(5) apply $somewhere/PAO/release/sys-pao.diff
+ (4) apply /usr/src/PAO/sys-pao.diff
+
# cd /usr/src/sys
# patch -p2 < $somewhere/PAO/release/sys-pao.diff
-(6) update include files
+ (5) Create symbolic link to release directory
+
+# ln -s /usr/src/kame/freebsd2/release /usr/src/release
+
+2.2 Get PAO+KAME integrated tree
+ To get PAO+KAME integrated source tree by cvsup follow the instructions
+below.
+
+ (1) install cvsup on your system
+ You can install it by ports or packages.
+
+ (2) cvsup PAO+KAME source tree
+
+ Create the supfile as follows. Suppose that the file name is
+ "/usr/src/PAOKAME.supfile".
+
+-----
+*default host=cvsup.imasy.org
+*default base=/usr/src
+*default prefix=/usr/src
+*default release=cvs tag=.
+*default delete use-rel-suffix
+
+#collections
+imasy-pao+kame2
+-----
+
+ Then run cvusp as follows.
+
+# cvsup -g -L 2 /usr/src/PAOKAME.supfile
+
+ This will create PAO+KAME tree in /usr/src/kame directory.
+
+ (3) Create some symbolic links
+
+# ln -s /usr/src/kame/pao2/kit /usr/src/PAO
+# ln -s /usr/src/kame/pao2/release /usr/src/release
+# ln -s /usr/src/kame/pao2/sys /usr/src/sys
+# ln -s /usr/src/kame/pao2 /usr/src/kame/freebsd2
+
+ (4) prepare to make kernels
+
+# cd /usr/src/kame; make TARGET=pao2 prepare
+
+3. Create install floppy image
+
+ (1) install KAME-based include files
+
+# cd $somewhere/kame/freebsd2
+# make includes
+# make install-includes
+
+ (2) install PAO-based include files
+
# cd /usr/src/sys/i386/include
# cp apm_bios.h if_cnwioctl.h clock.h cpu.h scc.h wavelan.h /usr/include/machine
# cp /usr/src/sys/pccard/*.h /usr/include/pccard
-(7) makeing the userland tools
+ (3) make KAME userland tools
+
# cd $somewhere/kame/freebsd2
# make
# make install
-(8) makeing /usr/obj directory
+ (4) make /usr/obj directory
+
# cd /usr/src/bin ; make obj
# cd /usr/src/usr.bin ; make obj
# cd /usr/src/usr.sbin ; make obj
@@ -64,15 +130,56 @@ $Id: README.v6,v 1.1 1999/09/13 08:49:55 itojun Exp $
# cd /usr/src/gnu/usr.bin ; make obj
# cd /usr/src/release ; make obj
+ (5) make /R directory
-(9) makeing /R directory
# cd /usr/src/release ; make release.1
# cd /usr/src/etc ; make distribute DISTDIR=/R/stage/trees
# cd /usr/src/sys/i386/boot ; make ; make distribute DISTDIR=/R/stage/trees
# cd /usr/src/share/misc ; make distribute DISTDIR=/R/stage/trees
+ (6) make boot.flp and fixit.flp
-(10) makeing boot.flp and fixit.flp
# cd /usr/src/release
# cp BOOTFLP_PAO.v6 /usr/src/sys/i386/conf/BOOTFLP_PAO
# make boot.flp
+
+ The created boot floppy image will be at /R/stage/floppies/boot.flp
+
+4. Create tarballs
+ In the instructions below, meta character '*' is defined at
+/usr/src/release/sysinstall/kame_version.h.
+
+ (1) pkernel-*-fbsd228.tgz
+
+# cp /usr/src/release/GENERIC.PAO.v6 /usr/src/sys/i386/conf
+# cd /usr/src/sys/i386/conf; config GENERIC.PAO.v6
+# cd /usr/src/sys/compile/GENERIC.PAO.v6; make depend; make
+# tar zcvf pkernel-*-fbsd228.tgz kernel
+
+ (2) pv6-*-fbsd228.tgz
+
+# cd /usr/local; mv v6; v6.tmp
+# cd /usr/src/kame/freebsd2
+# make install
+# cd /usr/local; tar zcvf pv6-*-fbsd228.tgz v6
+# mv v6.tmp v6
+
+ (3) pkame-*-fbsd228-snap.tgz
+
+prepare 'clean' KAME-tree to, say, /usr/dist/kame
+
+# cd /usr/dist/kame
+# make TARGET=freebsd2 prepare
+# cd /usr/dist
+# tar zcvf pkame-*-fbsd228-snap.tgz kame
+
+ (4) paobin-*-fbsd228.tgz
+
+gunzip & untar current taball to, say, /usr/dist/paobin
+
+# cd /usr/dist/paobin; tar zxvf $somewhere/paobin-[current]-fbsd228.tgz
+
+modify/update generated files and create tarball
+
+# cd /usr/dist/paobin; tar zcvf ../paobin-*-fbsd228.tgz *
+
View
4 freebsd2/release/boot_crunch.conf.skel
@@ -1,4 +1,4 @@
-# $Id: boot_crunch.conf.skel,v 1.1 1999/09/13 08:49:56 itojun Exp $
+# $Id: boot_crunch.conf.skel,v 1.2 1999/11/05 15:01:25 itojun Exp $
srcdirs %%KAMETREE%%/kame/freebsd2
srcdirs %%KAMETREE%%/kame/freebsd2/sbin %%KAMETREE%%/kame/freebsd2/usr.bin %%KAMETREE%%/kame/freebsd2/usr.sbin
@@ -14,10 +14,12 @@ progs sysinstall newfs gzip cpio bad144 fsck ifconfig route
#progs mount_nfs
progs rtsol
progs sysctl
+progs test dhclient
ln gzip gunzip
ln gzip zcat
ln sh -sh
+ln test [
libs -ll -ledit -L%%KAMETREE%%/kame/freebsd2/lib/libutil -lutil -lkvm -lmd -lcrypt -z
libs -L%%KAMETREE%%/kame/freebsd2/lib/libftpio -lftpio -lz
View
2  freebsd2/release/sysinstall/Makefile
@@ -25,7 +25,7 @@ SRCS= anonFTP.c attr.c cdrom.c command.c config.c devices.c \
msg.c network.c nfs.c options.c package.c register.c system.c \
tape.c tcpip.c termcap.c ufs.c user.c variable.c wizard.c \
uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c \
- uc_scsi.c keymap.h pccard.c
+ uc_scsi.c keymap.h pccard.c dhcp.c
.if defined(PCCARD)
CFLAGS+= -DPCCARD
View
156 freebsd2/release/sysinstall/dhcp.c
@@ -0,0 +1,156 @@
+/*
+ * $FreeBSD: src/release/sysinstall/dhcp.c,v 1.3 1999/08/28 01:34:10 peter Exp $
+ *
+ * Copyright (c) 1999
+ * C. Stone. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer,
+ * verbatim and that no modifications are made prior to this
+ * point in the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY C. STONE ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL C STONE OR HIS BODILY PARASITES BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE BY THE VOICES IN YOUR HEAD BEFOREHAND.
+ *
+ */
+
+#include "sysinstall.h"
+
+#include <ctype.h>
+
+int
+dhcpParseLeases(char *file, char *hostname, char *domain, char *nameserver,
+ char *ipaddr, char *gateway, char *netmask)
+{
+ char tempbuf[1024];
+ char optbuf[1024], *optname = NULL;
+ char *tptr;
+ int endedflag = 0;
+ int leaseflag = 0;
+ FILE *fp;
+ enum { P_NOSTMT, P_NOSTMT1, P_STMT, P_STMTLINE } state;
+
+ if ((fp = fopen(file, "r")) == NULL) {
+ msgDebug("error opening file %s: %s\n", file, strerror(errno));
+ return -1;
+ }
+
+ state = P_NOSTMT;
+ while (fscanf(fp, "%1023s", tempbuf) > 0) {
+ switch (state) {
+ case P_NOSTMT:
+ state = P_NOSTMT1;
+ if (!strncasecmp(tempbuf, "lease", 5)) {
+ if (!leaseflag)
+ leaseflag = 1;
+ else {
+ fclose(fp);
+ return 0;
+ }
+ }
+ break;
+
+ case P_NOSTMT1:
+ if (tempbuf[0] != '{') {
+ msgWarn("dhcpParseLeases: '{' expected");
+ fclose(fp);
+ return -1;
+ }
+ state = P_STMT;
+ break;
+
+ case P_STMT:
+ if (!strncasecmp("option", tempbuf, 6))
+ continue;
+ if (tempbuf[0] == '}') {
+ state = P_NOSTMT;
+ leaseflag = 0;
+ continue;
+ }
+ if (!leaseflag)
+ break;
+ if (tempbuf[0] == ';') { /* play it safe */
+ state = P_STMT;
+ continue;
+ }
+ if ((tptr = (char *)strchr(tempbuf, ';')) && (*(tptr + 1) == 0)) {
+ *tptr = NULL;
+ endedflag = 1;
+ }
+ if (!isalnum(tempbuf[0])) {
+ msgWarn("dhcpParseLeases: bad option");
+ fclose(fp);
+ return -1;
+ }
+ if (optname)
+ free(optname);
+ optname = strdup(tempbuf);
+ if (endedflag) {
+ state = P_STMT;
+ endedflag = 0;
+ continue;
+ }
+ state = P_STMTLINE;
+ break;
+
+ case P_STMTLINE:
+ if (tempbuf[0] == ';') {
+ state = P_STMT;
+ continue;
+ }
+ if ((tptr = (char *)strchr(tempbuf, ';')) && (*(tptr + 1) == 0)) {
+ *tptr = NULL;
+ endedflag = 1;
+ }
+ if (tempbuf[0] == '"') {
+ if (sscanf(tempbuf, "\"%[^\" ]\"", optbuf) < 1) {
+ msgWarn("dhcpParseLeases: bad option value");
+ fclose(fp);
+ return -1;
+ }
+ }
+ else
+ strcpy(optbuf, tempbuf);
+
+ if (!strcasecmp("host-name", optname)) {
+ strcpy(hostname, optbuf);
+ } else if (!strcasecmp("domain-name", optname)) {
+ strcpy(domain, optbuf);
+ } else if (!strcasecmp("fixed-address", optname)) {
+ strcpy(ipaddr, optbuf);
+ } else if (!strcasecmp("routers", optname)) {
+ strcpy(gateway, optbuf);
+ } else if (!strcasecmp("subnet-mask", optname)) {
+ strcpy(netmask, optbuf);
+ } else if (!strcasecmp("domain-name-servers", optname)) {
+ /* <jkh> ...one value per property */
+ if((tptr = (char *)strchr(optbuf, ',')))
+ *tptr = NULL;
+ strcpy(nameserver, optbuf);
+ }
+ if (endedflag) {
+ state = P_STMT;
+ endedflag = 0;
+ continue;
+ }
+ break;
+ }
+ }
+ fclose(fp);
+ return 0;
+}
View
7 freebsd2/release/sysinstall/install.c
@@ -464,6 +464,7 @@ installExpress(dialogMenuItem *self)
i |= DITEM_LEAVE_MENU;
/* Give user the option of one last configuration spree */
/* fetchKameKit(); */
+ mediaDevice->shutdown(mediaDevice);
installKameCommit(NULL);
installConfigure();
}
@@ -535,7 +536,7 @@ installNovice(dialogMenuItem *self)
dialog_clear_norefresh();
tmp = tcpDeviceSelect();
dialog_clear_norefresh();
- if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (tmp && !((DevInfo *)tmp->private)->use_dhcp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
if (!tmp->init(tmp))
msgConfirm("Initialization of %s device failed.", tmp->name);
}
@@ -636,6 +637,7 @@ installNovice(dialogMenuItem *self)
/* Give user the option of one last configuration spree */
/* fetchKameKit(); */
+ mediaDevice->shutdown(mediaDevice);
installKameCommit(NULL);
installConfigure();
@@ -653,6 +655,7 @@ installCustomCommit(dialogMenuItem *self)
if (DITEM_STATUS(i) == DITEM_SUCCESS) {
/* Give user the option of one last configuration spree */
/* fetchKameKit(); */
+ mediaDevice->shutdown(mediaDevice);
installKameCommit(NULL);
installConfigure();
return i;
@@ -877,6 +880,7 @@ installFixupBin(dialogMenuItem *self)
msgConfirm("MAKEDEV returned non-zero status");
return DITEM_FAILURE;
}
+ vsystem("cd /dev; sh MAKEDEV bpf1 bpf2 bpf3");
msgNotify("Resurrecting /dev entries for slices..");
devs = deviceFind(NULL, DEVICE_TYPE_DISK);
@@ -1142,6 +1146,7 @@ installVarDefaults(dialogMenuItem *self)
variable_set2(VAR_TAPE_BLOCKSIZE, DEFAULT_TAPE_BLOCKSIZE);
variable_set2(VAR_INSTALL_ROOT, "/");
variable_set2(VAR_INSTALL_CFG, "install.cfg");
+ variable_set2(VAR_TRY_DHCP, "NO");
cp = getenv("EDITOR");
if (!cp)
cp = "/usr/bin/ee";
View
8 freebsd2/release/sysinstall/kame_version.h
@@ -1,4 +1,4 @@
-#define KAME_RELEASE_NAME "pkame-19990917-fbsd228-snap"
-#define KAME_BINARY_NAME "pv6-19990917-fbsd228"
-#define KAME_KERNEL_NAME "pkernel-19990917-fbsd228"
-#define PAO_BINARY_NAME "paobin-19990917-fbsd228"
+#define KAME_RELEASE_NAME "pkame-19991103-fbsd228-snap"
+#define KAME_BINARY_NAME "pv6-19991103-fbsd228"
+#define KAME_KERNEL_NAME "pkernel-19991103-fbsd228"
+#define PAO_BINARY_NAME "paobin-19991103-fbsd228"
View
4 freebsd2/release/sysinstall/network.c
@@ -125,12 +125,14 @@ mediaInitNetwork(Device *dev)
"in the Networking configuration menu before proceeding.", dev->name);
return FALSE;
}
+ else if (cp && !strcmp(cp, "DHCP"))
+ goto success;
if (cp2) {
+ msgNotify("rtsol -d %s", dev->name);
vsystem("sysctl -w net.inet6.ip6.accept_rtadv=1");
vsystem("ifconfig %s up", dev->name);
vsystem("ifconfig %s", dev->name);
sleep(5);
- msgNotify("rtsol -d %s", dev->name);
i = vsystem("rtsol -d %s", dev->name);
sleep(5);
if (i) {
View
2  freebsd2/release/sysinstall/options.c
@@ -117,6 +117,8 @@ static Option Options[] = {
OPT_IS_VAR, NULL, VAR_NO_WARN, varCheck },
{ "Yes to All", "Assume \"Yes\" answers to all non-critical dialogs",
OPT_IS_VAR, NULL, VAR_NO_CONFIRM, varCheck },
+{ "DHCP", "Attempt automatic DHCP configuration of interfaces",
+ OPT_IS_VAR, NULL, VAR_TRY_DHCP, varCheck },
{ "FTP username", "Username and password to use instead of anonymous",
OPT_IS_FUNC, mediaSetFTPUserPass, VAR_FTP_USER, varCheck },
{ "FAITH prefix", "IPv6 address translation prefix",
View
6 freebsd2/release/sysinstall/sysinstall.h
@@ -156,6 +156,7 @@
#define VAR_SLOW_ETHER "slowEthernetCard"
#define VAR_SWAP_SIZE "swapSize"
#define VAR_TAPE_BLOCKSIZE "tapeBlocksize"
+#define VAR_TRY_DHCP "tryDHCP"
#define VAR_UFS_PATH "ufs"
#define VAR_USR_SIZE "usrSize"
#define VAR_VAR_SIZE "varSize"
@@ -326,6 +327,7 @@ typedef int (*commandFunc)(char *key, void *data);
/* This is the structure that Network devices carry around in their private, erm, structures */
typedef struct _devPriv {
+ int use_dhcp;
char ipaddr[IPADDR_FIELD_LEN];
char netmask[IPADDR_FIELD_LEN];
char extras[EXTRAS_FIELD_LEN];
@@ -472,6 +474,10 @@ extern Boolean dummyInit(Device *dev);
extern FILE *dummyGet(Device *dev, char *dist, Boolean probe);
extern void dummyShutdown(Device *dev);
+/* dhcp.c */
+extern int dhcpParseLeases(char *file, char *hostname, char *domain, char *nameserver,
+ char *ipaddr, char *gateway, char *netmask);
+
/* disks.c */
extern int diskPartitionEditor(dialogMenuItem *self);
extern int diskPartitionWrite(dialogMenuItem *self);
View
178 freebsd2/release/sysinstall/tcpip.c
@@ -41,6 +41,7 @@
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#include <netinet6/in6.h>
/* The help file for the TCP/IP setup screen */
#define TCP_HELPFILE "tcp"
@@ -186,14 +187,61 @@ verifySettings(void)
return 0;
}
+static void
+dhcpGetInfo(Device *devp)
+{
+ /* If it fails, do it the old-fashioned way */
+ if (dhcpParseLeases("/var/db/dhclient.leases", hostname, domainname,
+ nameserver, ipaddr, gateway, netmask) == -1) {
+ FILE *ifp;
+ char *cp, cmd[256], data[2048];
+ int i, j;
+
+ /* Bah, now we have to kludge getting the information from ifconfig */
+ snprintf(cmd, sizeof cmd, "ifconfig %s", devp->name);
+ ifp = popen(cmd, "r");
+ if (ifp) {
+ j = fread(data, 1, sizeof(data), ifp);
+ fclose(ifp);
+ if (j < 0) /* paranoia */
+ j = 0;
+ data[j] = '\0';
+ if (isDebug())
+ msgDebug("DHCP configured interface returns %s\n", data);
+ /* XXX This is gross as it assumes a certain ordering to
+ ifconfig's output! XXX */
+ if ((cp = strstr(data, "inet")) != NULL) {
+ i = 0;
+ cp += 5; /* move over keyword */
+ while (*cp != ' ')
+ ipaddr[i++] = *(cp++);
+ ipaddr[i] = '\0';
+ if (!strncmp(++cp, "netmask", 7)) {
+ i = 0;
+ cp += 8;
+ while (*cp != ' ')
+ netmask[i++] = *(cp++);
+ netmask[i] = '\0';
+ }
+ }
+ }
+ }
+ /* If we didn't get a name server value, hunt for it in resolv.conf */
+ if (!nameserver[0] && file_readable("/etc/resolv.conf"))
+ configEnvironmentResolv("/etc/resolv.conf");
+ if (hostname[0])
+ variable_set2(VAR_HOSTNAME, hostname);
+}
+
/* This is it - how to get TCP setup values */
int
tcpOpenDialog4(Device *devp)
{
WINDOW *ds_win, *save = NULL;
ComposeObj *obj = NULL;
- int n = 0, cancel = FALSE;
+ int n = 0, filled = 0, cancel = FALSE;
int max, ret = DITEM_SUCCESS;
+ int use_dhcp = FALSE;
char *tmp;
char title[80];
@@ -204,22 +252,51 @@ tcpOpenDialog4(Device *devp)
SAFE_STRCPY(ipaddr, di->ipaddr);
SAFE_STRCPY(netmask, di->netmask);
SAFE_STRCPY(extras, di->extras);
+ use_dhcp = di->use_dhcp;
}
else { /* See if there are any defaults */
char *cp;
+ /* First try a DHCP scan if such behavior is desired */
+ if (!variable_cmp(VAR_TRY_DHCP, "YES") || !msgYesNo("Do you want to try DHCP configuration of the interface?")) {
+ int k;
+
+ Mkdir("/var/db");
+ Mkdir("/var/run");
+ Mkdir("/tmp");
+ msgNotify("Scanning for DHCP servers...");
+ if (0 == vsystem("dhclient -1 %s", devp->name)) {
+ dhcpGetInfo(devp);
+ use_dhcp = TRUE;
+ }
+ else {
+ msgConfirm("Could not get network information from DHCP.\n"
+ "Please Configure network information by hand.\n");
+ use_dhcp = FALSE;
+ }
+ }
+
+ /* Special hack so it doesn't show up oddly in the tcpip setup menu */
+ if (!strcmp(gateway, "NO"))
+ gateway[0] = '\0';
+
+ /* Get old IP address from variable space, if available */
if (!ipaddr[0]) {
if ((cp = variable_get(VAR_IPADDR)) != NULL)
SAFE_STRCPY(ipaddr, cp);
else if ((cp = variable_get(string_concat3(devp->name, "_", VAR_IPADDR))) != NULL)
SAFE_STRCPY(ipaddr, cp);
}
+
+ /* Get old netmask from variable space, if available */
if (!netmask[0]) {
if ((cp = variable_get(VAR_NETMASK)) != NULL)
SAFE_STRCPY(netmask, cp);
else if ((cp = variable_get(string_concat3(devp->name, "_", VAR_NETMASK))) != NULL)
SAFE_STRCPY(netmask, cp);
}
+
+ /* Get old extras string from variable space, if available */
if (!extras[0]) {
if ((cp = variable_get(VAR_EXTRAS)) != NULL)
SAFE_STRCPY(extras, cp);
@@ -229,26 +306,26 @@ tcpOpenDialog4(Device *devp)
}
/* Look up values already recorded with the system, or blank the string variables ready to accept some new data */
- tmp = variable_get(VAR_HOSTNAME);
- if (tmp)
- SAFE_STRCPY(hostname, tmp);
- else
- bzero(hostname, sizeof(hostname));
- tmp = variable_get(VAR_DOMAINNAME);
- if (tmp)
- SAFE_STRCPY(domainname, tmp);
- else
- bzero(domainname, sizeof(domainname));
- tmp = variable_get(VAR_GATEWAY);
- if (tmp)
- SAFE_STRCPY(gateway, tmp);
- else
- bzero(gateway, sizeof(gateway));
- tmp = variable_get(VAR_NAMESERVER);
- if (tmp)
- SAFE_STRCPY(nameserver, tmp);
- else
- bzero(nameserver, sizeof(nameserver));
+ if (!hostname[0]) {
+ tmp = variable_get(VAR_HOSTNAME);
+ if (tmp)
+ SAFE_STRCPY(hostname, tmp);
+ }
+ if (!domainname[0]) {
+ tmp = variable_get(VAR_DOMAINNAME);
+ if (tmp)
+ SAFE_STRCPY(domainname, tmp);
+ }
+ if (!gateway[0]) {
+ tmp = variable_get(VAR_GATEWAY);
+ if (tmp && strcmp(tmp, "NO"))
+ SAFE_STRCPY(gateway, tmp);
+ }
+ if (!nameserver[0]) {
+ tmp = variable_get(VAR_NAMESERVER);
+ if (tmp)
+ SAFE_STRCPY(nameserver, tmp);
+ }
save = savescr();
/* If non-interactive, jump straight over the dialog crap and into config section */
@@ -287,24 +364,30 @@ tcpOpenDialog4(Device *devp)
reenter:
cancelbutton = okbutton = 0;
while (layoutDialogLoop(ds_win, layout, &obj, &n, max, &cancelbutton, &cancel)) {
- /* Insert a default value for the netmask, 0xffffff00 is
- the most appropriate one (entire class C, or subnetted
- class A/B network). */
- if (netmask[0] == '\0') {
- strcpy(netmask, "255.255.255.0");
- RefreshStringObj(layout[LAYOUT_NETMASK].obj);
- }
- if (!index(hostname, '.') && domainname[0]) {
- strcat(hostname, ".");
- strcat(hostname, domainname);
- RefreshStringObj(layout[LAYOUT_HOSTNAME].obj);
- }
- else if (((tmp = index(hostname, '.')) != NULL) && !domainname[0]) {
- SAFE_STRCPY(domainname, tmp + 1);
- RefreshStringObj(layout[LAYOUT_DOMAINNAME].obj);
+ /* Prevent this from being irritating if user really means NO */
+ if (filled < 3) {
+ /* Insert a default value for the netmask, 0xffffff00 is
+ * the most appropriate one (entire class C, or subnetted
+ * class A/B network).
+ */
+ if (!netmask[0]) {
+ strcpy(netmask, "255.255.255.0");
+ RefreshStringObj(layout[LAYOUT_NETMASK].obj);
+ ++filled;
+ }
+ if (!index(hostname, '.') && domainname[0]) {
+ strcat(hostname, ".");
+ strcat(hostname, domainname);
+ RefreshStringObj(layout[LAYOUT_HOSTNAME].obj);
+ ++filled;
+ }
+ else if (((tmp = index(hostname, '.')) != NULL) && !domainname[0]) {
+ SAFE_STRCPY(domainname, tmp + 1);
+ RefreshStringObj(layout[LAYOUT_DOMAINNAME].obj);
+ ++filled;
+ }
}
}
-
if (!cancel && !verifySettings())
goto reenter;
@@ -323,14 +406,18 @@ tcpOpenDialog4(Device *devp)
char temp[512], ifn[255];
char *ifaces;
- variable_set2(VAR_HOSTNAME, hostname);
- sethostname(hostname, strlen(hostname));
+ if (hostname[0]) {
+ variable_set2(VAR_HOSTNAME, hostname);
+ sethostname(hostname, strlen(hostname));
+ }
if (domainname[0])
variable_set2(VAR_DOMAINNAME, domainname);
if (gateway[0])
variable_set2(VAR_GATEWAY, gateway);
if (nameserver[0])
variable_set2(VAR_NAMESERVER, nameserver);
+ if (ipaddr[0])
+ variable_set2(VAR_IPADDR, ipaddr);
if (!devp->private)
devp->private = (DevInfo *)safe_malloc(sizeof(DevInfo));
@@ -338,9 +425,13 @@ tcpOpenDialog4(Device *devp)
SAFE_STRCPY(di->ipaddr, ipaddr);
SAFE_STRCPY(di->netmask, netmask);
SAFE_STRCPY(di->extras, extras);
+ di->use_dhcp = use_dhcp;
- sprintf(temp, "inet %s %s netmask %s", ipaddr, extras, netmask);
sprintf(ifn, "%s%s", VAR_IFCONFIG, devp->name);
+ if (use_dhcp)
+ sprintf(temp, "DHCP");
+ else
+ sprintf(temp, "inet %s %s netmask %s", ipaddr, extras, netmask);
variable_set2(ifn, temp);
ifaces = variable_get(VAR_INTERFACES);
if (!ifaces)
@@ -350,9 +441,8 @@ tcpOpenDialog4(Device *devp)
sprintf(ifn, "%s %s", devp->name, ifaces);
variable_set2(VAR_INTERFACES, ifn);
}
- if (ipaddr[0])
- variable_set2(VAR_IPADDR, ipaddr);
- configResolv(NULL); /* XXX this will do it on the MFS copy XXX */
+ if (!use_dhcp)
+ configResolv(NULL); /* XXX this will do it on the MFS copy XXX */
ret = DITEM_SUCCESS;
}
else
@@ -615,7 +705,7 @@ tcpMenuSelect(dialogMenuItem *self)
Device *tmp;
tmp = tcpDeviceSelect();
- if (tmp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
+ if (tmp && !((DevInfo *)tmp->private)->use_dhcp && !msgYesNo("Would you like to bring the %s interface up right now?", tmp->name))
if (!tmp->init(tmp))
msgConfirm("Initialization of %s device failed.", tmp->name);
return DITEM_SUCCESS | DITEM_RESTORE;
Please sign in to comment.
Something went wrong with that request. Please try again.