+
+$Id: README.pl,v 1.3 1998/08/10 19:07:52 abial Exp $
diff --git a/release/picobsd/dial/lang/boot.help.en b/release/picobsd/dial/lang/boot.help.en
new file mode 100644
index 000000000000..714fbcbb3e50
--- /dev/null
+++ b/release/picobsd/dial/lang/boot.help.en
@@ -0,0 +1,23 @@
+
++--------------------------------------------------------------------------+
+ Welcome to FreeBSD !!!
+ The system is coming up, please wait.
++--------------------------------------------------------------------------+
+
+ This is special version of FreeBSD-3.0, called PicoBSD (v.0.4).
+
+ It allows you to connect to the Internet via dialup connection (using PPP)
+ or via Ethernet card.
+
+ You can adjust kernel parameters to match those of your hardware via
+ -c switch (boot: -c) to boot prompt. If you are booting for the first
+ time, you enter this mode automatically.
+
+ The floppy contains also some tools for remote access (telnet, ftp, SSH)
+ and local disk access (FreeBSD, DOS and Linux filesystem support).
+
+ I hope you'll enjoy it.
+
+ abial@nask.pl
++--------------------------------------------------------------------------+
+
diff --git a/release/picobsd/dial/lang/boot.help.pl b/release/picobsd/dial/lang/boot.help.pl
new file mode 100644
index 000000000000..a16125561d76
--- /dev/null
+++ b/release/picobsd/dial/lang/boot.help.pl
@@ -0,0 +1,23 @@
+
++----------------------------------------------------------------------+
+ Witamy we FreeBSD !!!
+ Prosze czekac. Trwa uruchamianie systemu.
++----------------------------------------------------------------------+
+
+ To jest specjalna wersja FreeBSD-3.0, zwana PicoBSD (v.0.4).
+
+ Pozwala ona na uzyskanie polaczenia z Internetem przez protokol PPP
+ (polaczenie dialup) lub karte Ethernet.
+
+ Mozna dopasowac parametry sprzetowe podajac opcje -c przy starcie
+ systemu (boot: -c). Przy pierwszym starcie tryb ten jest uruchamiany
+ automatycznie.
+
+ Zawarte jest tu kilka narzedzi dla zdalnego dostepu (telnet, ftp, SSH)
+ oraz do obslugi lokalnej maszyny (dyskow FreeBSD, Linux i DOS).
+
+ Milego uzywania.
+
+ abial@nask.pl
++----------------------------------------------------------------------+
+
diff --git a/release/picobsd/dial/lang/dialup.en b/release/picobsd/dial/lang/dialup.en
new file mode 100755
index 000000000000..918c6703ce96
--- /dev/null
+++ b/release/picobsd/dial/lang/dialup.en
@@ -0,0 +1,370 @@
+#!/bin/sh
+# $Id: dialup.en,v 1.3 1998/08/07 19:29:57 abial Exp $
+set_resolv() {
+ echo "[H[J"
+ echo "[1m Default Domain Name[m"
+ echo ""
+ echo "Here you should enter your default Internet domain. If your"
+ echo "provider uses something like 'www.big.isp.com', this should"
+ echo "be most probably 'big.isp.com'."
+ echo ""
+ echo "If you simply press enter here, you will have a 'mydomain.edu',"
+ echo "which is not the best idea, but may suffice for now..."
+ echo ""
+ read -p "Please enter the default domain name: " domain
+ if [ "X${domain}" = "X" ]
+ then
+ echo ""
+ echo "Fine, your domain will be 'mydomain.edu', but be aware"
+ echo "that it probably doesn't exist."
+ echo ""
+ read -p "Press any key to continue." junk
+ domain="mydomain.edu"
+ fi
+ echo "[H[J"
+ echo "[1m DNS Server Address[m"
+ echo ""
+ echo "Here you should enter the numeric address of your domain name"
+ echo "server. It is needed for resolving human-readable host names"
+ echo "(such as www.freebsd.org) to machine readable IP numbers. If"
+ echo "it's not set properly, you will have to use numeric IP addresses"
+ echo "when connecting to other hosts, which is highly inconvenient."
+ echo ""
+ echo "If you simply press Enter here, we'll set it to one of root"
+ echo "DNS servers. This may not always work."
+ echo ""
+ read -p "Please enter the DNS server address in form A.B.C.D: " dns
+ if [ "X${dns}" = "X" ]
+ then
+ echo ""
+ echo "Fine, your DNS server will be 192.33.4.12, but be aware"
+ echo "that this may not always work ok."
+ echo ""
+ read -p "Press any key to continue." junk
+ dns="192.33.4.12"
+ fi
+}
+
+set_phone() {
+while [ "X${phone}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Phone Number[m"
+ echo ""
+ echo "Here you should enter the full phone number you normally"
+ echo "use to connect to your provider, with all necessary prefixes"
+ echo "attached, e.g.: 01122334455"
+ echo ""
+ read -p "Please enter the phone number: " phone
+done
+}
+
+set_port() {
+while [ "X${dev}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Port Number[m"
+ echo ""
+ echo "Here you should enter the port number, to which your modem is"
+ echo "attached. REMEMBER: COM1 is port 0 in FreeBSD, COM2 - port 1,"
+ echo "and so on. You should enter only the number, not the full name"
+ echo "of the device."
+ echo ""
+ read -p "Please enter the port number (0,1,2): " dev
+done
+}
+
+set_speed() {
+while [ "X${speed}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Port Speed[m"
+ echo ""
+ echo "Here you should choose the serial port speed."
+ echo ""
+ echo "NOTICE: port speed is NOT the same as modem speed - these are"
+ echo "different things. If your modem is capable of V.42 or MNP"
+ echo "compression, the actual speed of serial port should be set much"
+ echo "higher. E.g. for 14.4 kbps modem with compression you should"
+ echo "choose 38400, for 28.8 kbps modem with compression you should"
+ echo "choose 115200."
+ echo ""
+ echo " 1. 9600 bps"
+ echo " 2. 14400 bps"
+ echo " 3. 28800 bps"
+ echo " 4. 38400 bps (14.4 kbps modem with compression)"
+ echo " 5. 57600 bps"
+ echo " 6. 115200 bps (28.8 kbps modem with compression)"
+ echo ""
+ read -p "Please choose the port speed (1-6): " ans
+ case ${ans} in
+ 1)
+ speed=9600
+ ;;
+ 2)
+ speed=14400
+ ;;
+ 3)
+ speed=28800
+ ;;
+ 4)
+ speed=38400
+ ;;
+ 5)
+ speed=57600
+ ;;
+ 6)
+ speed=115200
+ ;;
+ *)
+ read -p "Bad value! Press enter to continue..." junk
+ unset speed
+ ;;
+ esac
+done
+}
+
+set_timeout() {
+while [ "X${timo}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Idle Timeout[m"
+ echo ""
+ echo "Here you should enter timeout (in seconds). After this time, if"
+ echo "the connection is idle, it's disconnected (to save your money :-)"
+ echo ""
+ read -p "Please enter the timeout value: " timo
+done
+}
+
+set_login() {
+while [ "X${user}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Login Name[m"
+ echo ""
+ echo "Here you should enter your login name that you normally use"
+ echo "to log in to your provider's terminal server."
+ echo ""
+ read -p "Please enter your login name: " user
+done
+}
+
+set_password() {
+while [ "X${pass}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Password[m"
+ echo ""
+ echo "Here you enter the password that you use to log in to the"
+ echo "terminal server."
+ echo ""
+ echo "[31mWARNING: your password will be stored in readable form on the"
+ echo "floppy!!! If you don't like it... well, you must dial in manually."
+ echo "In that case abort this script (Ctrl-C). Otherwise, continue.[37m"
+ echo ""
+ read -p "Please enter your password: " pass
+done
+}
+
+set_chat() {
+echo "[H[J"
+while [ "X${chat}" = "X" ]
+do
+ echo "[1m Type of Login Dialog[m"
+ echo ""
+ echo "What type of login dialog do you expect from the terminal server?"
+ echo ""
+ echo "1) [32m......login:[37m ${user}"
+ echo " [32m...password:[37m ********"
+ echo " [36m(terminal server starts PPP here)[37m"
+ echo ""
+ echo "2) [32m......login:[37m ${user}"
+ echo " [32m...password:[37m ********"
+ echo " [32m...protocol:[37m ppp"
+ echo " [36m(terminal server starts PPP here)[37m"
+ echo ""
+ echo "3) [32m......username:[37m ${user}"
+ echo " [32m......password:[37m ********"
+ echo " [36m(terminal server starts PPP here)[37m"
+ echo ""
+ echo "4) [32m......username:[37m ${user}"
+ echo " [32m......password:[37m ********"
+ echo " [32mportX/..xxx...:[37m ppp"
+ echo " [36m(terminal server starts PPP here)[37m"
+ echo ""
+ read -p "Choose 1,2,3 or 4: " chat
+ case ${chat} in
+ 1)
+ chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P"
+ chat2="login/password"
+ ;;
+ 2)
+ chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P otocol: ppp"
+ chat2="login/password/protocol"
+ ;;
+ 3)
+ chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P"
+ chat2="username/password"
+ ;;
+ 4)
+ chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P port ppp"
+ chat2="username/password/port"
+ ;;
+ *) echo "Bad value! Please choose 1,2,3 or 4."
+ echo ""
+ unset chat
+ unset chat2
+ ;;
+ esac
+done
+}
+
+# Main entry of the script
+
+echo "[H[J"
+echo "[1m Welcome to The Simplest PPP Configurator! :-)[m"
+echo ""
+echo " Your PPP is already preconfigured, so that you can dial manually."
+echo "However, you probably noticed that it requires chatting with your modem"
+echo "and logging in every time you want to connect. It's simple and it works,"
+echo "but it's also annoying."
+echo ""
+echo "This script will try to configure your PPP so that you can run it in"
+echo "background (thus freeing the console), and log in automatically."
+echo ""
+echo "If you want to continue, press [1mEnter[m, otherwise press [1mCtrl-C[m."
+echo ""
+read junk
+
+# Step through the options.
+set_phone
+set_port
+set_speed
+set_timeout
+set_login
+set_password
+set_chat
+set_resolv
+
+ans="loop_it"
+while [ "X${ans}" != "X" ]
+do
+
+echo "[H[J"
+echo "[1m Ok. You assigned the following values:[m"
+echo ""
+echo " 1. Phone number: ${phone}"
+echo " 2. Port number: cuaa${dev}"
+echo " 3. Port speed: ${speed} baud"
+echo " 4. Timeout: ${timo} s"
+echo " 5. Login name: ${user}"
+echo " 6. Password: ${pass}"
+echo " 7. Chat pattern: ${chat} (${chat2})"
+echo " 8. Default domain: ${domain}"
+echo " DNS Server: ${dns}"
+echo ""
+echo "If you're satisfied with these values, just press [1mEnter[m."
+read -p "Otherwise, enter the number of the option you want to change (1-8): " ans
+a="X${ans}"
+case ${a} in
+X1)
+ unset phone
+ set_phone
+ ;;
+X2)
+ unset dev
+ set_port
+ ;;
+X3)
+ unset speed
+ set_speed
+ ;;
+X4)
+ unset timo
+ set_timeout
+ ;;
+X5)
+ unset user
+ set_login
+ ;;
+X6)
+ unset pass
+ set_password
+ ;;
+X7)
+ unset chat
+ set_chat
+ ;;
+X8)
+ unset dns
+ unset domain
+ set_resolv
+ ;;
+X) ;;
+*)
+ read -p "Unknown option: ${ans}. Press enter to continue..."
+ ;;
+esac
+
+done
+
+echo ""
+echo -n "Generating /etc/ppp/ppp.conf file..."
+rm -f /etc/ppp/ppp.conf
+cp /etc/ppp/ppp.conf.template /etc/ppp/ppp.conf
+echo "" >>/etc/ppp/ppp.conf
+echo "# This part was generated with $0" >>/etc/ppp/ppp.conf
+echo "dialup:" >>/etc/ppp/ppp.conf
+echo " set line /dev/cuaa${dev}" >>/etc/ppp/ppp.conf
+echo " set speed ${speed}" >>/etc/ppp/ppp.conf
+echo " set phone ${phone}" >>/etc/ppp/ppp.conf
+echo " set authkey ${pass}" >>/etc/ppp/ppp.conf
+echo " set timeout ${timo}" >>/etc/ppp/ppp.conf
+echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf
+echo " set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0" >>/etc/ppp/ppp.conf
+
+echo " Done."
+echo -n "Generating /etc/resolv.conf..."
+echo "# This file was generated with $0">/etc/resolv.conf
+echo "domain ${domain}" >>/etc/resolv.conf
+echo "nameserver ${dns}">>/etc/resolv.conf
+echo "hostname=\"pico.${domain}\"">>/etc/rc.conf
+
+echo " Done."
+
+echo ""
+echo "REMEMBER to run /stand/update! Otherwise these changes will be lost!"
+echo ""
+echo "Please check the contents of /etc/ppp/ppp.conf, and edit it if"
+echo "necessary. When you're satisfied with it, run ppp in background:"
+echo ""
+echo " [1mppp -background dialup[m"
+echo ""
+echo "Now, if you're sure that your /etc/ppp/ppp.conf file is ok (which is"
+echo -n "probable :-) would you like to start the dialup connection now? (y/n) "
+read ans
+while [ "X${ans}" = "Xy" ]
+do
+ echo "[H[J"
+ echo "Starting dialup connection. Wait until you see a 'PPP Enabled' message..."
+ echo ""
+ ppp -background dialup
+ if [ "X$?" != "X0" ]
+ then
+ echo ""
+ echo -n "Hmmm... Command failed. Try again? (y/n) "
+ read ans
+ if [ "X${ans}" != "Xy" ]
+ then
+ echo ""
+ echo "Try again later. Check also your config file (/etc/ppp/ppp.conf)"
+ echo ""
+ fi
+ else
+ echo ""
+ echo "Congratulations! You're on-line now."
+ echo ""
+ exit 0
+ fi
+done
diff --git a/release/picobsd/dial/lang/dialup.pl b/release/picobsd/dial/lang/dialup.pl
new file mode 100755
index 000000000000..3d7dcf508570
--- /dev/null
+++ b/release/picobsd/dial/lang/dialup.pl
@@ -0,0 +1,364 @@
+#!/bin/sh
+# $Id: dialup.pl,v 1.4 1998/08/10 19:07:52 abial Exp $
+set_resolv() {
+ echo "[H[J"
+ echo "[1m Domy╤lna Nazwa Domeny[m"
+ echo ""
+ echo "Podaj domy╤ln╠ nazwЙ domeny Internetowej, ktСrej bЙdziesz u©ywaФ."
+ echo "Je╤li TwСj provider ma nazwy typu 'www.akuku.com.pl', to bЙdzie"
+ echo "to najprawdopodobniej 'akuku.com.pl'."
+ echo ""
+ echo "Je╤li po prostu naci╤niesz Enter, ustawisz (nieistniej╠c╠) domenЙ"
+ echo "'mydomain.org.pl', co nie jest najlepszym pomysЁem, ale mo©e na"
+ echo "razie wystarczyФ."
+ echo ""
+ read -p "Podaj domy╤ln╠ nazwЙ domeny: " domain
+ if [ "X${domain}" = "X" ]
+ then
+ echo ""
+ echo "Dobrze, ustawimy 'mydomain.org.pl', ale miej ╤wiadomo╤Ф"
+ echo "©e taka domena prawdopodobnie nie istnieje."
+ echo ""
+ read -p "Naci╤nij Enter" junk
+ domain="mydomain.org.pl"
+ fi
+ echo "[H[J"
+ echo "[1m Adres Serwera DNS[m"
+ echo ""
+ echo "Podaj adres w postaci numerycznej serwera DNS. Jest on potrzebny"
+ echo "do zamiany nazw (takich jak www.freebsd.org.pl) na adresy IP"
+ echo "(takie jak 192.168.1.1). Je╤li nie jest to ustawione poprawnie,"
+ echo "bЙdziesz musiaЁ posЁugiwaФ siЙ adresami IP podczas Ё╠czenia siЙ"
+ echo "z innymi maszynami - jest to co najmniej niewygodne."
+ echo ""
+ echo "Je╤li po prostu naci╤niesz Enter, ustawisz (istniej╠cy) serwer"
+ echo "o numerze 194.204.159.1 (w sieci TP SA)."
+ echo ""
+ read -p "Podaj adres IP serwera DNS (w postaci A.B.C.D): " dns
+ if [ "X${dns}" = "X" ]
+ then
+ echo ""
+ echo "Dobrze, ustawimy adres DNS serwera na 194.204.159.1, ale"
+ echo "niekoniecznie musi to byФ najlepszy serwer w Twojej czЙ╤ci sieci."
+ echo ""
+ read -p "Naci╤nij Enter..." junk
+ dns="194.204.159.1"
+ fi
+}
+set_phone() {
+while [ "X${phone}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Numer Telefoniczny[m"
+ echo ""
+ echo "Podaj numer telefoniczny, ktСrego normalnie u©ywasz, ©eby"
+ echo "dodzwoniФ siЙ do swojego providera. Powiniene╤ podaФ peЁny"
+ echo "numer, z ewentualnymi przedrostkami, np: 022113355"
+ echo ""
+ read -p "Podaj numer telefoniczny: " phone
+done
+}
+
+set_port() {
+while [ "X${dev}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Numer Portu Modemowego[m"
+ echo ""
+ echo "Podaj numer portu szeregowego, do ktСrego podЁ╠czony jest modem."
+ echo "UWAGA: DOSowy port COM1 to port 0 (cuaa0) we FreeBSD, COM2 -"
+ echo "port 1, itd. Podaj tutaj tylko numer, a nie peЁn╠ nazwЙ urz╠dzenia."
+ echo ""
+ read -p "Podaj numer portu szeregowego (0,1,2): " dev
+done
+}
+
+set_speed() {
+while [ "X${speed}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m PrЙdko╤Ф Linii Szeregowej[m"
+ echo ""
+ echo "Wybierz prЙdko╤Ф linii szeregowej, ktСrej u©ywa modem."
+ echo ""
+ echo "UWAGA: PrЙdko╤Ф linii szeregowej NIE jest tym samym, co prЙdko╤Ф"
+ echo "modemu. Je╤li TwСj modem obsЁuguje protokСЁ V.42 lub MNP"
+ echo "(zazwyczaj tak wЁa╤nie jest), prЙdko╤Ф linii szeregowej musi byФ"
+ echo "du©o wiЙksza od prЙdko╤ci modemu. Np. dla modemСw 14.4 kbps z"
+ echo "kompresj╠ nale©y wybraФ prЙdko╤Ф 38400 bps, a dla modemСw"
+ echo "28.8 kbps z kompresj╠ nale©y wybraФ prЙdko╤Ф 115200 bps."
+ echo ""
+ echo " 1. 9600 bps"
+ echo " 2. 14400 bps"
+ echo " 3. 28800 bps"
+ echo " 4. 38400 bps (modem 14.4 kbps z kompresj╠)"
+ echo " 5. 57600 bps"
+ echo " 6. 115200 bps (modem 28.8 kbps z kompresj╠)"
+ echo ""
+ read -p "Wybierz prЙdko╤Ф linii szeregowej (1-6): " ans
+ case ${ans} in
+ 1)
+ speed=9600
+ ;;
+ 2)
+ speed=14400
+ ;;
+ 3)
+ speed=28800
+ ;;
+ 4)
+ speed=38400
+ ;;
+ 5)
+ speed=57600
+ ;;
+ 6)
+ speed=115200
+ ;;
+ *)
+ read -p "ZЁa warto╤Ф! Naci╤nij Enter..." junk
+ unset speed
+ ;;
+ esac
+done
+}
+
+set_timeout() {
+while [ "X${timo}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Czas rozЁ╠czenia[m"
+ echo ""
+ echo "Podaj czas (w sekundach), po ktСrym, je╤li nie ma ruchu na Ё╠czu,"
+ echo "nast╠pi automatyczne rozЁ╠czenie. To pomaga w oszczЙdzaniu :-)"
+ echo ""
+ read -p "Podaj czas rozЁ╠czenia: " timo
+done
+}
+
+set_user() {
+while [ "X${user}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m Nazwa U©ytkownika[m"
+ echo ""
+ echo "Podaj nazwЙ u©ytkownika (login name), ktСrej normalnie u©ywasz"
+ echo "do zalogowania siЙ do serwera komunikacyjnego providera."
+ echo ""
+ read -p "Podaj nazwЙ u©ytkownika: " user
+done
+}
+
+set_pass() {
+while [ "X${pass}" = "X" ]
+do
+ echo "[H[J"
+ echo "[1m HasЁo[m"
+ echo ""
+ echo "Podaj hasЁo, ktСrego u©ywasz do zalogowania siЙ do providera."
+ echo ""
+ echo "[31mUWAGA: HasЁo to zostanie zapisane w czytelnej postaci na"
+ echo "dyskietce!!! Je╤li tego nie chcesz... bЙdziesz musiaЁ logowaФ siЙ"
+ echo "rЙcznie, tak jak dotychczas. W tym przypadku przerwij ten skrypt"
+ echo "przez Ctrl-C.[37m"
+ echo ""
+ read -p "Podaj swoje hasЁo: " pass
+done
+}
+
+set_chat() {
+echo "[H[J"
+while [ "X${chat}" = "X" ]
+do
+ echo "[1m Rodzaj dialogu podczas logowania siЙ[m"
+ echo ""
+ echo "Jak normalnie przebiega proces logowania siЙ do serwera"
+ echo "komunikacyjnego?"
+ echo ""
+ echo "1) [32m......login:[37m ${user}"
+ echo " [32m...password:[37m ********"
+ echo " [36m(tutaj startuje PPP)[37m"
+ echo ""
+ echo "2) [32m...username:[37m ${user} (TP S.A.)"
+ echo " [32m...password:[37m ********"
+ echo " [36m(tutaj startuje PPP)[37m"
+ echo ""
+ echo "3) [32m......username:[37m ${user} (NASK)"
+ echo " [32m......password:[37m ********"
+ echo " [32mportX/..xxx...:[37m ppp"
+ echo " [36m(tutaj startuje PPP)[37m"
+ echo ""
+ read -p "Wybierz 1,2 lub 3: " chat
+ case ${chat} in
+ 1)
+ chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P"
+ chat2="login/password"
+ ;;
+ 2)
+ chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P"
+ chat2="TP SA - username/password"
+ ;;
+ 3)
+ chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P port ppp"
+ chat2="NASK - username/password/port"
+ ;;
+ *) echo "ZЁa warto╤Ф! Musisz wybraФ 1,2 lub 3."
+ echo ""
+ unset chat
+ unset chat2
+ ;;
+ esac
+done
+}
+
+
+# Main entry of the script
+
+echo "[H[J"
+echo "[1m Witamy w Automatycznym Konfiguratorze PPP! :-)[m"
+echo ""
+echo " PPP jest ju© wstЙpnie skonfigurowane, tak ©e mo©na rЙcznie wybieraФ"
+echo "numer i rЙcznie logowaФ siЙ do serwera komunikacyjnego. Jest to jednak"
+echo "dosyФ uci╠©liwy sposСb na dЁu©sz╠ metЙ."
+echo ""
+echo "Ten skrypt postara siЙ stworzyФ tak╠ konfiguracjЙ PPP, ©eby umo©liwiФ"
+echo "automatyczne wybieranie numeru i logowanie siЙ, a ponadto pozwoli na"
+echo "uruchamianie ppp w tle - nie zajmuje ono wСwczas konsoli."
+echo ""
+echo "Je╤li chcesz kontynuowaФ, naci╤nij [1mEnter[m, je╤li nie - [1mCtrl-C[m."
+echo ""
+read junk
+# Step through the options
+set_phone
+set_port
+set_speed
+set_timeout
+set_user
+set_pass
+set_chat
+set_resolv
+
+ans="loop_it"
+while [ "X${ans}" != "X" ]
+do
+
+echo "[H[J"
+echo "[1m Ustawione zostaЁy nastЙpuj╠ce parametry:[m"
+echo ""
+echo " 1. Numer telef.: ${phone}"
+echo " 2. Numer portu: cuaa${dev}"
+echo " 3. PrЙdko╤Ф portu: ${speed}"
+echo " 4. Czas rozЁ╠cz.: ${timo} s"
+echo " 5. U©ytkownik: ${user}"
+echo " 6. HasЁo: ${pass}"
+echo " 7. Typ dialogu: ${chat} (${chat2})"
+echo " 8. Nazwa domeny: ${domain}"
+echo " Serwer DNS: ${dns}"
+echo ""
+echo "Je╤li te warto╤ci s╠ poprawne, po prostu naci╤nij [1mEnter[m"
+read -p "Je╤li nie, podaj numer opcji, ktСr╠ chcesz zmieniФ (1-8): " ans
+
+a="X${ans}"
+case ${a} in
+X1)
+ unset phone
+ set_phone
+ ;;
+X2)
+ unset dev
+ set_port
+ ;;
+X3)
+ unset speed
+ set_speed
+ ;;
+X4)
+ unset timo
+ set_timeout
+ ;;
+X5)
+ unset user
+ set_user
+ ;;
+X6)
+ unset pass
+ set_pass
+ ;;
+X7)
+ unset chat
+ unset chat1
+ unset chat2
+ set_chat
+ ;;
+X8)
+ unset domain
+ unset dns
+ set_resolv
+ ;;
+X)
+ ;;
+*)
+ read -p "ZЁy numer opcji! Naci╤nij Enter..." junk
+ ans="wrong"
+ ;;
+esac
+done
+
+echo ""
+echo -n "Generowanie /etc/ppp/ppp.conf file..."
+rm -f /etc/ppp/ppp.conf
+cp /etc/ppp/ppp.conf.template /etc/ppp/ppp.conf
+echo "" >>/etc/ppp/ppp.conf
+echo "# This part was generated with $0" >>/etc/ppp/ppp.conf
+echo "dialup:" >>/etc/ppp/ppp.conf
+echo " set line /dev/cuaa${dev}" >>/etc/ppp/ppp.conf
+echo " set phone ${phone}" >>/etc/ppp/ppp.conf
+echo " set authkey ${pass}" >>/etc/ppp/ppp.conf
+echo " set timeout ${timo}" >>/etc/ppp/ppp.conf
+echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf
+echo " set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0" >>/etc/ppp/ppp.conf
+
+echo " Zrobione."
+
+echo -n "Generowanie /etc/resolv.conf..."
+echo "# This file was generated with $0">/etc/resolv.conf
+echo "domain ${domain}" >>/etc/resolv.conf
+echo "nameserver ${dns}">>/etc/resolv.conf
+echo "hostname=\"pico.${domain}\"">>/etc/rc.conf
+echo " Zrobione."
+
+echo ""
+echo "Ok. Sprawd╪ zawarto╤Ф /etc/ppp/ppp.conf, i popraw go je╤li to konieczne."
+echo "NastЙpnie mo©esz wystartowaФ ppp w tle:"
+echo ""
+echo " [1mppp -background dialup[m"
+echo ""
+echo "PAMIйTAJ, ©eby uruchomiФ /stand/update ! Inaczej zmiany nie zostan╠ zapisane"
+echo "na dyskietce!"
+echo ""
+echo "Ok. Je╤li TwСj plik /etc/ppp/ppp.conf jest prawidЁowy (co jest dosyФ"
+echo -n "prawdopodobne :-), czy chcesz teraz uruchomiФ poЁ╠czenie dialup? (t/n) "
+read ans
+while [ "X${ans}" = "Xt" ]
+do
+ echo "[H[J"
+ echo "Uruchamiam poЁ╠czenie dialup. ProszЙ czekaФ dopСki nie pojawi siЙ"
+ echo "komunikat 'PPP Enabled'..."
+ echo ""
+ ppp -background dialup
+ if [ "X$?" != "X0" ]
+ then
+ echo -n "PoЁ╠czenie nie powiodЁo siЙ. SprСbowaФ jeszcze raz? (t/n) "
+ read ans
+ if [ "X${ans}" != "Xt" ]
+ then
+ echo "SprСbuj pС╪niej. Sprawd╪ rСwnie© plik konfiguracyjny /etc/ppp/ppp.conf."
+ echo ""
+ fi
+ else
+ echo ""
+ echo "GratulujЙ! Jeste╤ on-line."
+ echo ""
+ exit 0
+ fi
+done
diff --git a/release/picobsd/dial/lang/hosts.en b/release/picobsd/dial/lang/hosts.en
new file mode 100644
index 000000000000..b0659b611f5a
--- /dev/null
+++ b/release/picobsd/dial/lang/hosts.en
@@ -0,0 +1,5 @@
+# $Id: hosts.en,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+# This file should contain the addresses and aliases
+# for local hosts that share this file.
+127.0.0.1 localhost localhost.mydomain.edu
+127.0.0.1 pico.mydomain.edu
diff --git a/release/picobsd/dial/lang/hosts.pl b/release/picobsd/dial/lang/hosts.pl
new file mode 100644
index 000000000000..f88b8fcbc001
--- /dev/null
+++ b/release/picobsd/dial/lang/hosts.pl
@@ -0,0 +1,5 @@
+# $Id: hosts.pl,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+# This file should contain the addresses and aliases
+# for local hosts that share this file.
+127.0.0.1 localhost localhost.mydomain.org.pl
+127.0.0.1 pico.mydomain.org.pl
diff --git a/release/picobsd/dial/lang/login.en b/release/picobsd/dial/lang/login.en
new file mode 100755
index 000000000000..a47b3eed8777
--- /dev/null
+++ b/release/picobsd/dial/lang/login.en
@@ -0,0 +1,9 @@
+#!/bin/sh
+# $Id: login.en,v 1.2 1998/07/15 20:11:43 abial Exp $
+
+if [ "$2" != "root" ]
+then
+ exit
+fi
+cat /etc/motd
+exec -sh
diff --git a/release/picobsd/dial/lang/login.pl b/release/picobsd/dial/lang/login.pl
new file mode 100755
index 000000000000..510600c8c4ee
--- /dev/null
+++ b/release/picobsd/dial/lang/login.pl
@@ -0,0 +1,10 @@
+#!/bin/sh
+# $Id: login.pl,v 1.2 1998/07/15 20:11:44 abial Exp $
+
+if [ "$2" != "root" ]
+then
+ exit
+fi
+cat /etc/motd
+LANG=pl; export LANG
+exec -sh
diff --git a/release/picobsd/dial/lang/mfs.rc.en b/release/picobsd/dial/lang/mfs.rc.en
new file mode 100755
index 000000000000..de53bbbc64b7
--- /dev/null
+++ b/release/picobsd/dial/lang/mfs.rc.en
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $Id: mfs.rc.en,v 1.3 1998/08/07 19:29:57 abial Exp $
+### WARNING !!!!!! #####
+# We remove this file during execution (see EOF).
+# Awful things happen if its size is > 1024B
+
+trap : 2
+trap : 3
+
+HOME=/; export HOME
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
+export PATH
+
+trap "echo 'Reboot interrupted'; exit 1" 3
+
+sysctl -w vm.defer_swapspace_pageouts=1 vm.disable_swapspace_pageouts=1 2>&1 >/dev/null
+
+echo ""
+echo "-------------------------------------------"
+echo " Please wait. The system is coming up..."
+echo "-------------------------------------------"
+echo ""
+echo "Reading /etc from startup floppy..."
+mount -o rdonly /dev/fd0a /start_floppy
+cd /start_floppy/etc
+cp -Rp . /etc/
+cd /etc
+umount /start_floppy
+echo "Ok. (Now you can remove floppy if you like)"
+echo ""
+. rc
+exit 0
diff --git a/release/picobsd/dial/lang/mfs.rc.pl b/release/picobsd/dial/lang/mfs.rc.pl
new file mode 100755
index 000000000000..d59befd5a0c8
--- /dev/null
+++ b/release/picobsd/dial/lang/mfs.rc.pl
@@ -0,0 +1,28 @@
+#!/bin/sh
+# $Id: mfs.rc.pl,v 1.3 1998/08/07 19:29:57 abial Exp $
+
+### WARNING !!!! ###
+# We remove this file during execution (see EOF)
+# Awful things happen if its size is > 1024B
+trap : 2
+trap : 3 # shouldn't be needed
+HOME=/; export HOME
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin
+export PATH
+trap "echo 'Reboot zostal przerwany'; exit 1" 3
+sysctl -w vm.defer_swapspace_pageouts=1 vm.disable_swapspace_pageouts=1 2>&1 >/dev/null
+echo ""
+echo "-----------------------------------------------"
+echo " Prosze czekac. Trwa uruchamianie systemu..."
+echo "-----------------------------------------------"
+echo ""
+echo "Wczytuje konfiguracje z /etc z dyskietki... "
+mount -o rdonly /dev/fd0a /start_floppy
+cd /start_floppy/etc
+cp -Rp . /etc/
+cd /etc
+umount /start_floppy
+echo "Ok. (Jesli chcesz, mozesz juz wyjac dyskietke)"
+echo ""
+. rc
+exit 0
diff --git a/release/picobsd/dial/lang/motd.en b/release/picobsd/dial/lang/motd.en
new file mode 100644
index 000000000000..6fc16deb67d7
--- /dev/null
+++ b/release/picobsd/dial/lang/motd.en
@@ -0,0 +1,16 @@
+==================================================
+ [31m)\_)\[37m
+PicoBSD 0.4 (DIALUP) [31m([37m[1mo,o[m[31m)[37m
+ [32m__ [31m\~/[37m
+Welcome to PicoBSD! [32m-->=[41m===[40m[31m\[37m
+ [32m~~[37m [31md d[37m
+You can find a short description of the [35mpico[37m
+system in file /README. You can view it using
+"ee /README" or "more /README". There is also 'help'
+command which gives short description of each program.
+
+Run 'dialup' script to additionaly configure PPP
+(including automatic dialing and background operation).
+
+For more info see http://www.freebsd.org/~picobsd.
+
diff --git a/release/picobsd/dial/lang/motd.pl b/release/picobsd/dial/lang/motd.pl
new file mode 100644
index 000000000000..65ef427d3f6e
--- /dev/null
+++ b/release/picobsd/dial/lang/motd.pl
@@ -0,0 +1,16 @@
+=======================================================
+ [31m)\_)\[37m
+PicoBSD 0.4 (DIALUP) [31m([37m[1mo,o[m[31m)[37m
+ [32m__ [31m\~/[37m
+Witamy w PicoBSD! [32m-->=[41m===[40m[31m\[37m
+ [32m~~[37m [31md d[37m
+W glownym katalogu w pliku README znajdziesz [35mpico[37m
+krotki opis systemu. Mozesz go obejrzec przy pomocy
+"more /README" lub "ee /README". Mozesz tez uzyskac
+krotki opis kazdego polecenia podajac 'help polecenie'.
+
+Uruchom skrypt 'dialup', zeby w pelni skonfigurowac PPP
+(wraz z automatycznym laczeniem sie i praca w tle).
+
+Wiecej informacji znajdziesz na http://www.freebsd.org/~picobsd.
+
diff --git a/release/picobsd/dial/lang/rc.conf.en b/release/picobsd/dial/lang/rc.conf.en
new file mode 100644
index 000000000000..aca4e46605b3
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.conf.en
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $Id: rc.conf.en,v 1.2 1998/08/10 19:07:53 abial Exp $
+### Network configuration sub-section ######################
+### Basic network options: ###
+hostname="pico.mydomain.edu" # Set this!
+tcp_extensions="NO" # Allow RFC1323 & RFC1644 extensions (or NO).
+network_interfaces="lo0" # List of network interfaces (lo0 is loopback).
+ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration.
+#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
+### Network routing options: ###
+defaultrouter="NO" # Set to default gateway (or NO).
+static_routes="" # Set to static route list (or leave empty).
+gateway_enable="NO" # Set to YES if this host will be a gateway.
+arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL.
+### System console options #################################
+keymap="NO" # keymap in /usr/share/syscons/* (or NO).
+keyrate="NO" # keyboard rate to: slow, normal, fast (or NO).
+keybell="NO" # bell to duration.pitch or normal or visual (or NO).
+keychange="NO" # function keys default values (or NO).
+cursor="NO" # cursor type {normal|blink|destructive} (or NO).
+font8x16="NO" # font 8x16 from /usr/share/syscons/* (or NO).
+font8x14="NO" # font 8x14 from /usr/share/syscons/* (or NO).
+font8x8="NO" # font 8x8 from /usr/share/syscons/* (or NO).
+blanktime="NO" # blank time (in seconds) or "NO" to turn it off.
+moused_enable="YES" # Run the mouse daemon
+moused_type="microsoft"
+moused_port="/dev/cuaa0"
+moused_flags="-3"
+### Allow local configuration override at the very end here ##
+if [ -f /etc/rc.conf.local ]; then
+ . /etc/rc.conf.local
+fi
diff --git a/release/picobsd/dial/lang/rc.conf.pl b/release/picobsd/dial/lang/rc.conf.pl
new file mode 100644
index 000000000000..28a0bda34f27
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.conf.pl
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $Id: rc.conf.pl,v 1.3 1998/08/10 19:07:53 abial Exp $
+### Network configuration sub-section ######################
+### Basic network options: ###
+hostname="pico.mydomain.org.pl" # Set this!
+tcp_extensions="NO" # Allow RFC1323 & RFC1644 extensions (or NO).
+network_interfaces="lo0" # List of network interfaces (lo0 is loopback).
+ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration.
+#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
+### Network routing options: ###
+defaultrouter="NO" # Set to default gateway (or NO).
+static_routes="" # Set to static route list (or leave empty).
+gateway_enable="NO" # Set to YES if this host will be a gateway.
+arpproxy_all="" # replaces obsolete kernel option ARP_PROXYALL.
+### System console options #################################
+keymap="pl_PL.ISO_8859-2.kbd" # keymap in /usr/share/syscons/* (or NO).
+keyrate="NO" # keyboard rate to: slow, normal, fast (or NO).
+keybell="NO" # bell to duration.pitch or normal or visual (or NO).
+keychange="NO" # function keys default values (or NO).
+cursor="NO" # cursor type {normal|blink|destructive} (or NO).
+font8x16="iso02-8x16.fnt" # font 8x16 from /usr/share/syscons/* (or NO).
+font8x14="NO" # font 8x14 from /usr/share/syscons/* (or NO).
+font8x8="NO" # font 8x8 from /usr/share/syscons/* (or NO).
+blanktime="NO" # blank time (in seconds) or "NO" to turn it off.
+moused_enable="YES" # Run the mouse daemon
+moused_type="microsoft"
+moused_port="/dev/cuaa0"
+moused_flags="-3"
+### Allow local configuration override at the very end here ##
+if [ -f /etc/rc.conf.local ]; then
+ . /etc/rc.conf.local
+fi
diff --git a/release/picobsd/dial/lang/rc.en b/release/picobsd/dial/lang/rc.en
new file mode 100644
index 000000000000..9f5fea44c782
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.en
@@ -0,0 +1,103 @@
+#!/bin/sh
+# $Id: rc.en,v 1.3 1998/08/10 19:07:53 abial Exp $
+############################################
+### Special setup for one floppy PICOBSD ###
+### THIS IS NOT THE NORMAL /etc/rc !!!!! ###
+############################################
+mount -a -t nonfs
+if [ -f /etc/rc.conf ]; then
+ . /etc/rc.conf
+fi
+# start up the initial network configuration.
+if [ -f /etc/rc.network ]; then
+ . /etc/rc.network
+ network_pass1
+fi
+# clean up left-over files
+if [ -n "$network_pass1_done" ]; then
+ network_pass2
+fi
+if [ -n "$network_pass2_done" ]; then
+ network_pass3
+fi
+
+# stdin must be redirected because it might be for a serial console
+kbddev=/dev/ttyv0
+viddev=/dev/ttyv0
+
+echo -n "Configuring console:"
+
+# keymap
+if [ "X${keymap}" != X"NO" ]; then
+ echo -n ' keymap'; kbdcontrol < ${kbddev} -l /usr/share/syscons/${keymap}
+fi
+
+# keyrate
+if [ "X${keyrate}" != X"NO" ]; then
+ echo -n ' keyrate'; kbdcontrol < ${kbddev} -r ${keyrate}
+fi
+
+# keybell
+if [ "X${keybell}" != X"NO" ]; then
+ echo -n ' keybell'; kbdcontrol < ${kbddev} -b ${keybell}
+fi
+
+# change function keys
+if [ "X${keychange}" != X"NO" ]; then
+ echo -n " keychange"
+ set - ${keychange}
+ while [ $# -gt 0 ]
+ do
+ kbdcontrol < ${kbddev} -f "$1" "$2"
+ shift; shift
+ done
+fi
+
+# cursor type
+if [ "X${cursor}" != X"NO" ]; then
+ echo -n ' cursor'; vidcontrol < ${viddev} -c ${cursor}
+fi
+
+# font 8x16
+if [ "X${font8x16}" != X"NO" ]; then
+ echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 /usr/share/syscons/${font8x16}
+fi
+
+# font 8x14
+if [ "X${font8x14}" != X"NO" ]; then
+ echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 /usr/share/syscons/${font8x14}
+fi
+
+# font 8x8
+if [ "X${font8x8}" != X"NO" ]; then
+ echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 /usr/share/syscons/${font8x8}
+fi
+
+# blank time
+if [ "X${blanktime}" != X"NO" ]; then
+ echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime}
+fi
+
+# mouse daemon
+if [ "X${moused_enable}" = X"YES" ] ; then
+ echo -n ' moused'
+ moused ${moused_flags} -p ${moused_port} -t ${moused_type}
+ vidcontrol <${viddev} -m on
+fi
+
+echo ''
+echo ''
+echo ''
+echo '+---------- PicoBSD 0.4 (DIALUP) --------------+'
+echo '| |'
+echo '| Log in as "root" (no password). |'
+echo '| |'
+echo '| This version of PicoBSD is fully under |'
+echo '| BSD license (except for SSH). For more |'
+echo '| details see http://www.freebsd.org/~picobsd, |'
+echo '| or contact the author. |'
+echo '| |'
+echo '| abial@nask.pl |'
+echo '| |'
+echo '+----------------------------------------------+'
+exit 0
diff --git a/release/picobsd/dial/lang/rc.network.en b/release/picobsd/dial/lang/rc.network.en
new file mode 100644
index 000000000000..ff32f4493339
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.network.en
@@ -0,0 +1,70 @@
+#!/bin/sh -
+# $Id: rc.network.en,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+network_pass1() {
+ echo -n 'Doing initial network setup:'
+ # Set the host name if it is not already set
+ if [ -z "`hostname -s`" ] ; then
+ hostname $hostname
+ echo ' hostname'
+ fi
+ # Set up all the network interfaces, calling startup scripts if needed
+ for ifn in ${network_interfaces}; do
+ if [ -e /etc/start_if.${ifn} ]; then
+ . /etc/start_if.${ifn}
+ fi
+ # Do the primary ifconfig if specified
+ eval ifconfig_args=\$ifconfig_${ifn}
+ if [ -n "${ifconfig_args}" ] ; then
+ ifconfig ${ifn} ${ifconfig_args}
+ fi
+ # Check to see if aliases need to be added
+ alias=0
+ while :
+ do
+ eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
+ if [ -n "${ifconfig_args}" ]; then
+ ifconfig ${ifn} ${ifconfig_args} alias
+ alias=`expr ${alias} + 1`
+ else
+ break;
+ fi
+ done
+ ifconfig ${ifn}
+ done
+ # Configure routing
+ if [ "x$defaultrouter" != "xNO" ] ; then
+ static_routes="default ${static_routes}"
+ route_default="default ${defaultrouter}"
+ fi
+ # Set up any static routes. This should be done before router discovery.
+ if [ "x${static_routes}" != "x" ]; then
+ for i in ${static_routes}; do
+ eval route_args=\$route_${i}
+ route add ${route_args}
+ done
+ fi
+ echo -n 'Additional routing options:'
+ if [ -n "$tcp_extensions" -a "x$tcp_extensions" != "xYES" ] ; then
+ echo -n ' tcp_extensions=NO'
+ sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1
+ sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1
+ fi
+ if [ "X$gateway_enable" = X"YES" ]; then
+ echo -n ' IP_gateway=YES'
+ sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
+ fi
+ if [ "X$arpproxy_all" = X"YES" ]; then
+ echo -n ' turning on ARP_PROXY_ALL: '
+ sysctl -w net.link.ether.inet.proxyall=1 2>&1
+ fi
+ echo '.'
+ network_pass1_done=YES # Let future generations know we made it.
+}
+
+network_pass2() {
+ network_pass2_done=YES
+}
+
+network_pass3() {
+ network_pass3_done=YES
+}
diff --git a/release/picobsd/dial/lang/rc.network.pl b/release/picobsd/dial/lang/rc.network.pl
new file mode 100644
index 000000000000..196f32bc6df2
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.network.pl
@@ -0,0 +1,70 @@
+#!/bin/sh -
+# $Id: rc.network.pl,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+network_pass1() {
+ echo -n 'Wstepna konfiguracja sieci:'
+ # Set the host name if it is not already set
+ if [ -z "`hostname -s`" ] ; then
+ hostname $hostname
+ echo ' hostname'
+ fi
+ # Set up all the network interfaces, calling startup scripts if needed
+ for ifn in ${network_interfaces}; do
+ if [ -e /etc/start_if.${ifn} ]; then
+ . /etc/start_if.${ifn}
+ fi
+ # Do the primary ifconfig if specified
+ eval ifconfig_args=\$ifconfig_${ifn}
+ if [ -n "${ifconfig_args}" ] ; then
+ ifconfig ${ifn} ${ifconfig_args}
+ fi
+ # Check to see if aliases need to be added
+ alias=0
+ while :
+ do
+ eval ifconfig_args=\$ifconfig_${ifn}_alias${alias}
+ if [ -n "${ifconfig_args}" ]; then
+ ifconfig ${ifn} ${ifconfig_args} alias
+ alias=`expr ${alias} + 1`
+ else
+ break;
+ fi
+ done
+ ifconfig ${ifn}
+ done
+ # Configure routing
+ if [ "x$defaultrouter" != "xNO" ] ; then
+ static_routes="default ${static_routes}"
+ route_default="default ${defaultrouter}"
+ fi
+ # Set up any static routes. This should be done before router discovery.
+ if [ "x${static_routes}" != "x" ]; then
+ for i in ${static_routes}; do
+ eval route_args=\$route_${i}
+ route add ${route_args}
+ done
+ fi
+ echo -n 'Dodatkowe opcje routingu:'
+ if [ -n "$tcp_extensions" -a "x$tcp_extensions" != "xYES" ] ; then
+ echo -n ' tcp_extensions=NO'
+ sysctl -w net.inet.tcp.rfc1323=0 >/dev/null 2>&1
+ sysctl -w net.inet.tcp.rfc1644=0 >/dev/null 2>&1
+ fi
+ if [ "X$gateway_enable" = X"YES" ]; then
+ echo -n ' IP_gateway=YES'
+ sysctl -w net.inet.ip.forwarding=1 >/dev/null 2>&1
+ fi
+ if [ "X$arpproxy_all" = X"YES" ]; then
+ echo -n ' wlaczam ARP_PROXY_ALL: '
+ sysctl -w net.link.ether.inet.proxyall=1 2>&1
+ fi
+ echo '.'
+ network_pass1_done=YES # Let future generations know we made it.
+}
+
+network_pass2() {
+ network_pass2_done=YES
+}
+
+network_pass3() {
+ network_pass3_done=YES
+}
diff --git a/release/picobsd/dial/lang/rc.pl b/release/picobsd/dial/lang/rc.pl
new file mode 100644
index 000000000000..7197f11ad9b1
--- /dev/null
+++ b/release/picobsd/dial/lang/rc.pl
@@ -0,0 +1,107 @@
+#!/bin/sh
+#
+# $Id: rc.pl,v 1.3 1998/08/10 19:07:53 abial Exp $
+#
+############################################
+### Special setup for one floppy PICOBSD ###
+### THIS IS NOT THE NORMAL /etc/rc !!!!! ###
+############################################
+mount -a -t nonfs
+if [ -f /etc/rc.conf ]; then
+ . /etc/rc.conf
+fi
+# configure serial devices
+if [ -f /etc/rc.serial ]; then
+ . /etc/rc.serial
+fi
+# start up the initial network configuration.
+if [ -f /etc/rc.network ]; then
+ . /etc/rc.network
+ network_pass1
+fi
+if [ -n "$network_pass1_done" ]; then
+ network_pass2
+fi
+if [ -n "$network_pass2_done" ]; then
+ network_pass3
+fi
+
+# stdin must be redirected because it might be for a serial console
+kbddev=/dev/ttyv0
+viddev=/dev/ttyv0
+
+echo -n "Konfigurowanie konsoli:"
+
+# keymap
+if [ "X${keymap}" != X"NO" ]; then
+ echo -n ' mapa klawiatury'; kbdcontrol <${kbddev} -l /usr/share/syscons/${keymap}
+fi
+
+# keyrate
+if [ "X${keyrate}" != X"NO" ]; then
+ echo -n ' keyrate'; kbdcontrol <${kbddev} -r ${keyrate}
+fi
+
+# keybell
+if [ "X${keybell}" != X"NO" ]; then
+ echo -n ' keybell'; kbdcontrol <${kbddev} -b ${keybell}
+fi
+
+# change function keys
+if [ "X${keychange}" != X"NO" ]; then
+ echo -n " keychange"
+ set - ${keychange}
+ while [ $# -gt 0 ]
+ do
+ kbdcontrol <${kbddev} -f "$1" "$2"
+ shift; shift
+ done
+fi
+
+# cursor type
+if [ "X${cursor}" != X"NO" ]; then
+ echo -n ' kursor'; vidcontrol <${viddev} -c ${cursor}
+fi
+
+# font 8x16
+if [ "X${font8x16}" != X"NO" ]; then
+ echo -n ' font8x16'; vidcontrol <${viddev} -f 8x16 /usr/share/syscons/${font8x16}
+fi
+
+# font 8x14
+if [ "X${font8x14}" != X"NO" ]; then
+ echo -n ' font8x14'; vidcontrol <${viddev} -f 8x14 /usr/share/syscons/${font8x14}
+fi
+
+# font 8x8
+if [ "X${font8x8}" != X"NO" ]; then
+ echo -n ' font8x8'; vidcontrol <${viddev} -f 8x8 /usr/share/syscons/${font8x8}
+fi
+
+# blank time
+if [ "X${blanktime}" != X"NO" ]; then
+ echo -n ' wygaszacz'; vidcontrol <${viddev} -t ${blanktime}
+fi
+
+# mouse daemon
+if [ "X${moused_enable}" = X"YES" ] ; then
+ echo -n ' moused'
+ moused ${moused_flags} -p ${moused_port} -t ${moused_type}
+ vidcontrol <${viddev} -m on
+fi
+
+echo ''
+echo ''
+echo '+----------- PicoBSD 0.4 (DIALUP) -------------+'
+echo '| |'
+echo '| Zaloguj sie jako "root" (brak hasla). |'
+echo '| |'
+echo '| PicoBSD podlega licencji BSD (z wyjatkiem |'
+echo '| SSH). Po wiecej szczegolow zajrzyj na |'
+echo '| http://www.freebsd.org/~picobsd, lub |'
+echo '| skontaktuj sie z autorem. |'
+echo '| |'
+echo '| abial@nask.pl |'
+echo '| |'
+echo '+----------------------------------------------+'
+exit 0
diff --git a/release/picobsd/dial/lang/reboot.en b/release/picobsd/dial/lang/reboot.en
new file mode 100755
index 000000000000..a99ac6d46c55
--- /dev/null
+++ b/release/picobsd/dial/lang/reboot.en
@@ -0,0 +1,3 @@
+#!/bin/sh
+# $Id: reboot.en,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+exec /sbin/echo "Press Ctrl-Alt-Del instead of $0"
diff --git a/release/picobsd/dial/lang/reboot.pl b/release/picobsd/dial/lang/reboot.pl
new file mode 100755
index 000000000000..50dc6e875b6e
--- /dev/null
+++ b/release/picobsd/dial/lang/reboot.pl
@@ -0,0 +1,3 @@
+#!/bin/sh
+#$Id: reboot.pl,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+exec /sbin/echo "Zamiast $0 nacisnij Ctrl-Alt-Del"
diff --git a/release/picobsd/dial/lang/resolv.conf.en b/release/picobsd/dial/lang/resolv.conf.en
new file mode 100644
index 000000000000..c373f5b10805
--- /dev/null
+++ b/release/picobsd/dial/lang/resolv.conf.en
@@ -0,0 +1,3 @@
+# $Id: resolv.conf.en,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+domain mydomain.edu
+nameserver 192.33.4.12
diff --git a/release/picobsd/dial/lang/resolv.conf.pl b/release/picobsd/dial/lang/resolv.conf.pl
new file mode 100644
index 000000000000..1843c29d4a26
--- /dev/null
+++ b/release/picobsd/dial/lang/resolv.conf.pl
@@ -0,0 +1,3 @@
+# $Id: resolv.conf.pl,v 1.2 1998/08/10 19:07:53 abial Exp $
+domain mydomain.org.pl
+nameserver 194.204.159.1
diff --git a/release/picobsd/dial/lang/update.en b/release/picobsd/dial/lang/update.en
new file mode 100755
index 000000000000..006e0ed4b292
--- /dev/null
+++ b/release/picobsd/dial/lang/update.en
@@ -0,0 +1,20 @@
+#!/bin/sh
+# $Id: update.en,v 1.4 1998/08/10 19:07:53 abial Exp $
+pwd=`pwd`
+echo -n "Updating /etc contents on startup floppy... "
+mount /dev/fd0a /start_floppy
+if [ "X$?" != "X0" ]
+then
+ echo ""
+ echo "Cannot mount the floppy read-write!"
+ echo "Check the write-protection..."
+ exit 1
+fi
+cd /etc
+cp -Rp . /start_floppy/etc/
+echo " Done."
+echo -n "Updating kernel parameters... "
+kget -incore /start_floppy/kernel.config /stand/vanilla
+umount /dev/fd0a
+cd ${pwd}
+echo " Done."
diff --git a/release/picobsd/dial/lang/update.pl b/release/picobsd/dial/lang/update.pl
new file mode 100755
index 000000000000..97105d229aaf
--- /dev/null
+++ b/release/picobsd/dial/lang/update.pl
@@ -0,0 +1,21 @@
+#!/bin/sh
+# $Id: update.pl,v 1.4 1998/08/10 19:07:53 abial Exp $
+pwd=`pwd`
+echo -n "Uaktualniam katalog /etc na dyskietce... "
+mount /dev/fd0a /start_floppy
+if [ "X$?" != "X0" ]
+then
+ echo ""
+ echo "BЁ╠d podczas montowania read/write dyskietki!"
+ echo "Sprawd╪, czy nie jest zabezpieczona przed zapisem..."
+ exit 1
+fi
+cd /etc
+cp -Rp . /start_floppy/etc/
+echo " Zrobione."
+echo -n "Uaktualniam parametry j╠dra..."
+kget -incore /start_floppy/kernel.config /stand/vanilla
+umount /dev/fd0a
+cd /etc
+cd ${pwd}
+echo " Zrobione."
diff --git a/release/picobsd/dial/mfs.tree/MAKEDEV b/release/picobsd/dial/mfs.tree/MAKEDEV
new file mode 100755
index 000000000000..287da340588a
--- /dev/null
+++ b/release/picobsd/dial/mfs.tree/MAKEDEV
@@ -0,0 +1,1167 @@
+#!/bin/sh -
+#
+# Copyright (c) 1990 The Regents of the University of California.
+# All rights reserved.
+#
+# Written and contributed by W. Jolitz 12/90
+#
+# Redistribution and use in source and binary forms are permitted provided
+# that: (1) source distributions retain this entire copyright notice and
+# comment, and (2) distributions including binaries display the following
+# acknowledgement: ``This product includes software developed by the
+# University of California, Berkeley and its contributors'' in the
+# documentation or other materials provided with the distribution and in
+# all advertising materials mentioning features or use of this software.
+# Neither the name of the University nor the names of its contributors may
+# be used to endorse or promote products derived from this software without
+# specific prior written permission.
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# @(#)MAKEDEV 5.2 (Berkeley) 6/22/90
+#
+# Device "make" file. Valid arguments:
+# all makes all known devices, standard number of units (or close)
+# std standard devices
+# local configuration specific devices
+# mach-4 mach4&lites+devices for Mach's XFree86 distribution
+# (see http://www.cs.hut.fi/lites.html for more info on LITES)
+#
+# Tapes:
+# wt* QIC-interfaced (e.g. not SCSI) 3M cartridge tape
+# st* "NEW type scsi tapes" (old driver uses the
+# block devices of the disks to get access)
+# ft* QIC-40/QIC-80 3M cartridge tape (interfaced
+# via the floppy disk controller)
+#
+# Disks:
+# wd* "Winchester" disk drives (ST506,IDE,ESDI,RLL,...)
+# wfd* "IDE floppy" disk drives (LS-120)
+# fd* "floppy" disk drives (3 1/2", 5 1/4")
+# sd* "SCSI disks"
+# cd* "SCSI CD-ROM disks"
+# mcd* "Mitsumi CD-ROM disks"
+# scd* "Sony CD-ROM disks"
+# matcd* "Matsushita (Panasonic) CD-ROM disks"
+# wcd* "IDE CD-ROM disks"
+# vn* "vnode disks"
+# od* "optical disks"
+#
+# Console ports:
+# vty* virtual console devices for syscons/pcvt/codrv
+#
+# Pointing devices:
+# mse* Logitech and ATI Inport bus mouse
+# psm* PS/2 mouse
+# sysmouse Mousesystems mouse emulator for syscons
+#
+# Time devices:
+# refclock-* serial ports used by xntpd parse refclocks
+#
+# Terminal ports:
+# tty* general purpose serial ports
+# cua* dialout serial ports
+# ttyA* Specialix SI/XIO dialin ports ('*' = number of devices)
+# cuaA* Specialix SI/XIO dialout ports
+# ttyD* Digiboard - 16 dialin ports
+# cuaD* Digiboard - 16 dialout ports
+# ttyR* Rocketport dialin ports
+# cuaR* Rocketport dialout ports
+#
+# Pseudo terminals:
+# pty* set of 32 master and slave pseudo terminals
+# vty* virtual terminals using syscons/pcvt/codrv console
+#
+# Printers:
+# lpt* stock lp
+#
+# SCSI devices (other than CD-ROM, tape and disk):
+# ssc The ``super scsi'' device
+# uk* "unknown" device (supports ioctl calls only)
+# worm* WORM driver
+# pt* Processor Type (HP scanner, as one example)
+#
+# PC-CARD (previously called PCMCIA) support
+# card* PC-CARD slots
+#
+# Special purpose devices:
+# apm Advanced Power Management BIOS
+# bpf* packet filter
+# speaker pc speaker
+# tw* xten power controller
+# snd* various sound cards
+# pcaudio PCM audio driver
+# socksys iBCS2 socket system driver
+# vat VAT compatibility audio driver (requires snd*)
+# gsc Genius GS-4500 hand scanner
+# joy pc joystick
+# tun* Tunneling IP device
+# snp* tty snoop devices
+# spigot Video Spigot video acquisition card
+# ctx* Cortex-I video acquisition card
+# meteor* Matrox Meteor video acquisition card (pci)
+# bktr* Bt848 based video acquisition card (pci)
+# labpc* National Instrument's Lab-PC and LAB-PC+
+# perfmon CPU performance-monitoring counters
+# pci PCI configuration-space access from user mode
+# ipl ipfilter control devices (ipl, ipnat, ipstate, ipauth)
+#
+# $Id: MAKEDEV,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+#
+
+PATH=/sbin:/bin/:/usr/bin:/usr/sbin:$PATH
+umask 77
+
+# Usage: die exitcode msg
+die() {
+ echo $2
+ exit $1
+}
+
+# Convert integer to partition name
+dkitop() {
+ local p
+
+ case $1 in
+ 0) p=a;; 1) p=b;; 2) p=c;; 3) p=d;; 4) p=e;; 5) p=f;; 6) p=g;; 7) p=h;;
+ *) p="?";;
+ esac
+ echo $p
+}
+
+# Convert integer to slice name
+dkitos() {
+ local s
+
+ case $1 in
+ 0) s="";;
+ 1) s="";;
+ *) s=s$(($1-1));;
+ esac
+ echo $s
+}
+
+# Convert disk (type, unit, slice, partition) to minor number
+dkminor()
+{
+ echo $(($1 << 25 | ($2 / 32) << 21 | ($2 % 32) << 3 | $3 << 16 | $4))
+}
+
+# Override mknod(2) to add extra handling to it.
+mknod() {
+ rm -f "$1" || exit 1
+ /sbin/mknod "$@" || die 2 "/sbin/mknod $@ failed"
+ chown root.wheel "$1" || exit 1
+}
+
+# Convert the last character of a tty name to a minor number.
+ttyminor()
+{
+ case $unit in
+ [0-9]) m=$unit;;
+ a) m=10;; b) m=11;; c) m=12;; d) m=13;; e) m=14;; f) m=15;; g) m=16;;
+ h) m=17;; i) m=18;; j) m=19;; k) m=20;; l) m=21;; m) m=22;; n) m=23;;
+ o) m=24;; p) m=25;; q) m=26;; r) m=27;; s) m=28;; t) m=29;; u) m=30;;
+ v) m=31;;
+ *) m="?";;
+ esac
+ echo $m
+}
+
+# Raw partition for disks
+dkrawpart=2
+
+# Compatibility slice for disks
+dkcompatslice=0
+
+# Raw slice for disks
+dkrawslice=1
+
+# Control bit for SCSI
+scsictl=$((1 << 29))
+
+# Standard umasks
+disk_umask=037 # allow group operator to read disks
+tape_umask=017 # allow group operator to read/write tapes
+
+for i in $*; do
+case $i in
+
+all)
+ sh MAKEDEV std # standard
+ sh MAKEDEV fd0 fd1 # bdev, floppy disk
+ sh MAKEDEV sd0 sd1 sd2 sd3 wd0 wd1 wd2 wd3 # bdev, ordinary disk
+ sh MAKEDEV od0 # bdev, optical disk
+ sh MAKEDEV wfd0 # bdev, LS-120 floppy
+ sh MAKEDEV vn0 # bdev, virtual disk
+ sh MAKEDEV cd0 matcd0 mcd0 scd0 wcd0 # bdev, cdrom
+ sh MAKEDEV ft0 st0 wt0 # bdev, tape
+ sh MAKEDEV vty4 # cdev, virtual tty
+ sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3 # cdev, serial tty
+ sh MAKEDEV pty0 # cdev, pseudo tty
+ sh MAKEDEV ttyd0 ttyd1 ttyd2 ttyd3 # cdev, serial tty
+ sh MAKEDEV mse0 psm0 sysmouse # cdev, mouse
+ sh MAKEDEV pcaudio speaker # cdev, noise
+ sh MAKEDEV lpt0 lpt1 lpt2 # cdev, printer
+ sh MAKEDEV bpf0 ipl tun0 # cdev, network
+ sh MAKEDEV ch0 perfmon tw0 # cdev, miscellaneous
+ sh MAKEDEV apm card0 card1 # cdev, laptop
+ ;;
+std)
+ mknod console c 0 0; chmod 600 console
+ mknod drum c 4 0; chmod 640 drum; chgrp kmem drum
+ mknod kmem c 2 1; chmod 640 kmem; chgrp kmem kmem
+ mknod mem c 2 0; chmod 640 mem; chgrp kmem mem
+ mknod null c 2 2; chmod 666 null
+ mknod random c 2 3; chmod 644 random
+ mknod urandom c 2 4; chmod 644 urandom
+ mknod zero c 2 12; chmod 666 zero
+ mknod io c 2 14; chmod 600 io
+ mknod tty c 1 0; chmod 666 tty
+ mknod klog c 7 0; chmod 600 klog
+ mknod stdin c 22 0; chmod 666 stdin
+ mknod stdout c 22 1; chmod 666 stdout
+ mknod stderr c 22 2; chmod 666 stderr
+ mknod lkm c 32 0; chmod 644 lkm
+ mknod pci c 78 0; chmod 644 pci
+ mkdir -p fd
+ (cd fd && eval `echo "" | awk ' BEGIN { \
+ for (i = 0; i < 64; i++) \
+ printf("mknod %d c 22 %d;", i, i)}'`)
+ chown -R bin.bin fd
+ chmod 555 fd
+ chmod 666 fd/*
+ ;;
+
+mach-4)
+ mknod iopl c 22 0
+ mknod kbd c 23 0
+ mknod mouse c 24 0
+ mknod time c 25 0
+ mknod timezone c 26 0
+ ;;
+
+# Create device files for new Archive/Wangtek QIC-02 tape driver (vak)
+wt*)
+ umask $tape_umask
+ u=`expr $i : '..\(.*\)'`
+ if [ x$u = x ]; then u=0; fi
+ mknod rwt${u} c 10 `expr 0 + $u` # default density, 512b blocks
+ mknod nrwt${u} c 10 `expr 4 + $u`
+# mknod rWt${u} c 10 `expr 64 + $u` # default density, 1024b blocks
+# mknod nrWt${u} c 10 `expr 68 + $u`
+ mknod rwt${u}b c 10 `expr 16 + $u` # 60 megabytes
+ mknod nrwt${u}b c 10 `expr 20 + $u`
+ mknod rwt${u}c c 10 `expr 24 + $u` # 120 megabytes
+ mknod nrwt${u}c c 10 `expr 28 + $u`
+ mknod rwt${u}d c 10 `expr 32 + $u` # 150 megabytes
+ mknod nrwt${u}d c 10 `expr 36 + $u`
+# mknod rwt${u}e c 10 `expr 40 + $u` # 300 megabytes?
+# mknod nrwt${u}e c 10 `expr 44 + $u`
+# mknod rwt${u}f c 10 `expr 48 + $u` # 600 megabytes?
+# mknod nrwt${u}f c 10 `expr 52 + $u`
+ chgrp operator r[Ww]t$u nr[Ww]t$u r[Ww]t$u[a-f] nr[Ww]t$u[a-f]
+ umask 77
+ ;;
+
+# Individual slices.
+od*s*|sd*s*|vn*s*|wd*s*|wfd*s*)
+ umask $disk_umask
+ case $i in
+ od*s*) name=od; blk=20; chr=70;;
+ sd*s*) name=sd; blk=4; chr=13;;
+ wd*s*) name=wd; blk=0; chr=3;;
+ vn*s*) name=vn; blk=15; chr=43;;
+ wfd*s*) name=wfd; blk=1; chr=87;;
+ esac
+ case $i in
+ wfd*s*)
+ unit=`expr $i : '...\([0-9]*\)s'`
+ slice=`expr $i : '...[0-9]*s\([0-9]*\)'`
+ part=`expr $i : '...[0-9]*s[0-9]*\(.*\)'`
+ ;;
+ *)
+ unit=`expr $i : '..\([0-9]*\)s'`
+ slice=`expr $i : '..[0-9]*s\([0-9]*\)'`
+ part=`expr $i : '..[0-9]*s[0-9]*\(.*\)'`
+ ;;
+ esac
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ case $slice in
+ [0-9]|[1-2][0-9]|30)
+ oldslice=$slice
+ slice=$(($slice+1))
+ slicename=`dkitos $slice`
+ minor=`dkminor 0 $unit $slice $dkrawpart`
+ mknod $name$unit$slicename b $blk $minor
+ mknod r$name$unit$slicename c $chr $minor
+ case $part in
+ [a-h])
+ case $oldslice in
+ 0) slice=$oldslice ;;
+ esac
+ for part in 0 1 2 3 4 5 6 7
+ do
+ minor=`dkminor 0 $unit $slice $part`
+ partname=`dkitop $part`
+ mknod $name$unit$slicename$partname \
+ b $blk $minor
+ mknod r$name$unit$slicename$partname \
+ c $chr $minor
+ done
+ ;;
+ "")
+ ;;
+ *)
+ echo bad partition for disk in: $i
+ ;;
+ esac
+ chgrp operator $name$unit$slicename* \
+ r$name$unit$slicename*
+ ;;
+ *)
+ echo bad slice for disk in: $i
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i "(unit=$unit, slice=$slice, part=$part)"
+ ;;
+ esac
+ umask 77
+ ;;
+
+fd*)
+ umask $disk_umask
+ unit=`expr $i : '..\(.*\)'`
+ name=fd; blk=2; chr=9
+ case $unit in
+ 0|1|2|3)
+ mknod ${name}${unit} b $blk `expr $unit '*' 64`
+ mknod r${name}${unit} c $chr `expr $unit '*' 64`
+ # Fake BSD partitions
+ for i in a b c d e f g h
+ do
+ ln ${name}${unit} ${name}${unit}$i
+ ln r${name}${unit} r${name}${unit}$i
+ done
+ # User-readable and programmer-readable name sets
+
+ mknod ${name}${unit}.1720 b $blk `expr $unit '*' 64 + 1`
+ mknod r${name}${unit}.1720 c $chr `expr $unit '*' 64 + 1`
+ # ln ${name}${unit}.1720 ${name}${unit}135hs21
+ # ln r${name}${unit}.1720 r${name}${unit}135hs21
+
+ mknod ${name}${unit}.1480 b $blk `expr $unit '*' 64 + 2`
+ mknod r${name}${unit}.1480 c $chr `expr $unit '*' 64 + 2`
+ # ln ${name}${unit}.1480 ${name}${unit}135hs18
+ # ln r${name}${unit}.1480 r${name}${unit}135hs18
+ # ln ${name}${unit}.1480 ${name}${unit}96hs18
+ # ln r${name}${unit}.1480 r${name}${unit}96hs18
+
+ mknod ${name}${unit}.1440 b $blk `expr $unit '*' 64 + 3`
+ mknod r${name}${unit}.1440 c $chr `expr $unit '*' 64 + 3`
+ # ln ${name}${unit}.1440 ${name}${unit}135
+ # ln r${name}${unit}.1440 r${name}${unit}135
+ # ln ${name}${unit}.1440 ${name}${unit}135ds18
+ # ln r${name}${unit}.1440 r${name}${unit}135ds18
+ # ln ${name}${unit}.1440 ${name}${unit}96ds18
+ # ln r${name}${unit}.1440 r${name}${unit}96ds18
+
+ mknod ${name}${unit}.1200 b $blk `expr $unit '*' 64 + 4`
+ mknod r${name}${unit}.1200 c $chr `expr $unit '*' 64 + 4`
+ # ln ${name}${unit}.1200 ${name}${unit}96
+ # ln r${name}${unit}.1200 r${name}${unit}96
+ # ln ${name}${unit}.1200 ${name}${unit}96ds15
+ # ln r${name}${unit}.1200 r${name}${unit}96ds15
+ # ln ${name}${unit}.1200 ${name}${unit}135ds15
+ # ln r${name}${unit}.1200 r${name}${unit}135ds15
+
+ mknod ${name}${unit}.820 b $blk `expr $unit '*' 64 + 5`
+ mknod r${name}${unit}.820 c $chr `expr $unit '*' 64 + 5`
+ # ln ${name}${unit}.820 ${name}${unit}96hs10
+ # ln r${name}${unit}.820 r${name}${unit}96hs10
+ # ln ${name}${unit}.820 ${name}${unit}135hs10
+ # ln r${name}${unit}.820 r${name}${unit}135hs10
+
+ mknod ${name}${unit}.800 b $blk `expr $unit '*' 64 + 6`
+ mknod r${name}${unit}.800 c $chr `expr $unit '*' 64 + 6`
+ # ln ${name}${unit}.800 ${name}${unit}96ds10
+ # ln r${name}${unit}.800 r${name}${unit}96ds10
+ # ln ${name}${unit}.800 ${name}${unit}135ds10
+ # ln r${name}${unit}.800 r${name}${unit}135ds10
+
+ mknod ${name}${unit}.720 b $blk `expr $unit '*' 64 + 7`
+ mknod r${name}${unit}.720 c $chr `expr $unit '*' 64 + 7`
+ # ln ${name}${unit}.720 ${name}${unit}96ds9
+ # ln r${name}${unit}.720 r${name}${unit}96ds9
+ # ln ${name}${unit}.720 ${name}${unit}135ds9
+ # ln r${name}${unit}.720 r${name}${unit}135ds9
+
+ mknod ${name}${unit}.360 b $blk `expr $unit '*' 64 + 8`
+ mknod r${name}${unit}.360 c $chr `expr $unit '*' 64 + 8`
+ # ln ${name}${unit}.360 ${name}${unit}48
+ # ln r${name}${unit}.360 r${name}${unit}48
+ # ln ${name}${unit}.360 ${name}${unit}48ds9
+ # ln r${name}${unit}.360 r${name}${unit}48ds9
+
+ chgrp operator ${name}${unit}* r${name}${unit}*
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ft*)
+ umask $tape_umask
+ unit=`expr $i : '..\(.*\)'`
+ name=ft; blk=2; chr=9
+ case $unit in
+ 0|1|2|3)
+ mknod ${name}${unit} b $blk `expr $unit '*' 64 + 32`
+ mknod r${name}${unit} c $chr `expr $unit '*' 64 + 32`
+ ln ${name}${unit} ${name}${unit}a
+ ln r${name}${unit} r${name}${unit}a
+ chgrp operator ${name}${unit}* r${name}${unit}*
+ ;;
+ *)
+ echo bad unit for tape in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+od*|sd*|vn*|wd*|wfd*)
+ umask $disk_umask
+ case $i in
+ od*) name=od; blk=20; chr=70;;
+ sd*) name=sd; blk=4; chr=13;;
+ vn*) name=vn; blk=15; chr=43;;
+ wd*) name=wd; blk=0; chr=3;;
+ wfd*) name=wfd; blk=1; chr=87;;
+ esac
+ case $i in
+ wfd*)
+ unit=`expr $i : '...\(.*\)'`
+ ;;
+ *)
+ unit=`expr $i : '..\(.*\)'`
+ ;;
+ esac
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ for slicepartname in s0h s1 s2 s3 s4
+ do
+ sh MAKEDEV $name$unit$slicepartname
+ done
+ case $name in
+ od|sd)
+ minor=`dkminor 0 $unit 0 0`
+ mknod r${name}${unit}.ctl c $chr $(($minor | $scsictl))
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ccd*)
+ umask $disk_umask
+ name=ccd
+ blk=21; chr=74
+ unit=`expr $i : '...\(.*\)'`
+ case $unit in
+ [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1])
+ for part in 0 1 2 3 4 5 6 7
+ do
+ minor=`dkminor 0 $unit 0 $part`
+ partname=`dkitop $part`
+ mknod $name$unit$partname b $blk $minor
+ mknod r$name$unit$partname c $chr $minor
+ done
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ssc*)
+ mknod ssc c 49 0
+ ;;
+
+uk*)
+ unit=`expr $i : 'uk\(.*\)'`
+ mknod uk$unit c 31 $unit
+ ;;
+
+worm*)
+ umask $disk_umask
+ unit=`expr $i : 'worm\(.*\)'`
+ if [ "X${unit}" = "X" ]; then
+ unit=0
+ fi
+ chr=62
+ blk=23
+ name=worm
+ mknod ${name}${unit} b $blk ${unit}
+ mknod r${name}${unit} c $chr ${unit}
+ chgrp operator ${name}${unit} r${name}${unit}
+ umask 077
+ mknod r${name}${unit}.ctl c $chr `expr $unit + $scsictl `
+ ;;
+
+# SCSI processor type driver
+pt[0-9]*)
+ chr=61
+ name=pt
+ unit=`expr $i : 'pt\([0-9][0-9]*\)'`
+ if [ "X${unit}" = "X" ]; then
+ unit=0
+ fi
+ unit=`expr $unit + 1 - 1`
+ mknod ${name}${unit} c $chr $unit
+ mknod ${name}${unit}.ctl c $chr `expr $unit + $scsictl `
+ ;;
+
+pty*)
+ class=`expr $i : 'pty\(.*\)'`
+ case $class in
+ 0) offset=0 name=p;;
+ 1) offset=32 name=q;;
+ 2) offset=64 name=r;;
+ 3) offset=96 name=s;;
+# Note that xterm (at least) only look at p-s.
+ 4) offset=128 name=P;;
+ 5) offset=160 name=Q;;
+ 6) offset=192 name=R;;
+ 7) offset=224 name=S;;
+ # This still leaves [tuTU].
+ *) echo bad unit for pty in: $i;;
+ esac
+ case $class in
+ 0|1|2|3|4|5|6|7)
+ umask 0
+ eval `echo $offset $name | awk ' { b=$1; n=$2 } END { \
+ for (i = 0; i < 32; i++) {
+ c = substr("0123456789abcdefghijklmnopqrstuv", i + 1, 1); \
+ printf("mknod tty%s%s c 5 %d; \
+ mknod pty%s%s c 6 %d;", \
+ n, c, b+i, \
+ n, c, b+i); \
+ } \
+ }'`
+ umask 77
+ ;;
+ esac
+ ;;
+
+st*)
+ umask $tape_umask
+ unit=`expr $i : '..\(.*\)'`
+ chr=14
+
+ case $unit in
+ 0|1|2|3|4|5|6)
+ for mode in 0 1 2 3
+ do
+ mknod rst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 0`
+ mknod nrst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 1`
+ mknod erst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 2`
+ mknod st${unit}ctl.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 3`
+ chgrp operator rst${unit}.${mode}\
+ nrst${unit}.${mode} \
+ erst${unit}.${mode} \
+ st${unit}ctl.${mode}
+ chmod 600 st${unit}ctl.${mode}
+ done
+ mknod rst${unit}.ctl c $chr `expr $unit '*' 16 + $scsictl `
+ chmod 600 rst${unit}.ctl
+
+ ln rst${unit}.0 rst${unit}
+ ln nrst${unit}.0 nrst${unit}
+ ln erst${unit}.0 erst${unit}
+ ;;
+ *)
+ echo bad unit for tape in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ch*)
+ umask 37
+ unit=`expr $i : '..\(.*\)'`
+ case $i in
+ ch*) name=ch; chr=17;;
+ esac
+ case $unit in
+ 0|1|2|3|4|5|6)
+ mknod ${name}${unit} c $chr `expr $unit '*' 16 + 0`
+ chgrp operator ${name}${unit}
+ mknod r${name}${unit}.ctl c $chr `expr $unit '*' 16 + $scsictl `
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ *)
+ echo bad unit for media changer in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+cd*|mcd*|scd*)
+ umask $disk_umask
+ case $i in
+ cd*) unit=`expr $i : '..\(.*\)'`; name=cd; blk=6; chr=15;;
+ mcd*) unit=`expr $i : '...\(.*\)'`; name=mcd; blk=7; chr=29;;
+ scd*) unit=`expr $i : '...\(.*\)'`; name=scd; blk=16; chr=45;;
+ esac
+ case $unit in
+ 0|1|2|3|4|5|6)
+ mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0`
+ mknod ${name}${unit}c b $blk `expr $unit '*' 8 + 2`
+ mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
+ mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2`
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ case $name in
+ cd)
+ mknod r${name}${unit}.ctl c $chr `expr $unit '*' 8 + $scsictl `
+ chmod 600 r${name}${unit}.ctl
+ ;;
+ esac
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+matcd*)
+ umask 2
+ case $i in
+ matcd*) unit=`expr $i : '.....\(.*\)'`; name=matcd; blk=17; chr=46;;
+ esac
+ case $unit in
+ 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)
+ mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0`
+ mknod ${name}${unit}c b $blk `expr $unit '*' 8 + 2`
+ mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
+ mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2`
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
+
+ mknod ${name}${unit}la b $blk `expr $unit '*' 8 + 128`
+ mknod ${name}${unit}lc b $blk `expr $unit '*' 8 + 130`
+ mknod r${name}${unit}la c $chr `expr $unit '*' 8 + 128`
+ mknod r${name}${unit}lc c $chr `expr $unit '*' 8 + 130`
+ chgrp operator ${name}${unit}l[a-h] r${name}${unit}l[a-h]
+ chmod 640 ${name}${unit}l[a-h] r${name}${unit}l[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+wcd*)
+ umask 2 ;
+ unit=`expr $i : '...\(.*\)'`
+ blk=19
+ chr=69
+ case $unit in
+ 0|1|2|3)
+ mknod wcd${unit}a b $blk `expr $unit '*' 8 + 0`
+ mknod rwcd${unit}a c $chr `expr $unit '*' 8 + 0`
+ mknod wcd${unit}c b $blk `expr $unit '*' 8 + 2`
+ mknod rwcd${unit}c c $chr `expr $unit '*' 8 + 2`
+ chgrp operator wcd${unit}[a-h] rwcd${unit}[a-h]
+ chmod 640 wcd${unit}[a-h] rwcd${unit}[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+lpt*)
+ unit=`expr $i : 'lpt\(.*\)'`
+ mknod lpt$unit c 16 $unit
+ mknod lpctl$unit c 16 `expr $unit + 128`
+ ;;
+
+tw*)
+ unit=`expr $i : 'tw\(.*\)'`
+ mknod tw$unit c 19 $unit
+ chgrp operator tw$unit
+ ;;
+
+# Use this to create virtual consoles for syscons, pcvt or codrv
+# ttyv0-b
+# use as MAKEDEV vtyNN to create NN entries
+vty*)
+ chr=12
+ units=`expr $i : 'vty\(.*\)'`
+ eval `echo ${chr} ${units} | awk ' { c=$1; n=$2 } END {
+ for (i = 0; i < n; i++)
+ printf("mknod ttyv%01x c %d %d;", i, c, i); }'`
+ ln -fs ttyv0 vga # XXX X still needs this pccons relic
+ ;;
+
+bpf*)
+ unit=`expr $i : 'bpf\(.*\)'`
+ mknod bpf$unit c 23 $unit
+ ;;
+
+speaker)
+ mknod speaker c 26 0
+ ;;
+
+cuaa?|cua?)
+ umask 7
+ unit=`expr $i : 'cua.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod cuaa$unit c 28 `expr $m + 128`
+ mknod cuaia$unit c 28 `expr $m + 32 + 128`
+ mknod cuala$unit c 28 `expr $m + 64 + 128`
+ chown uucp.dialer cua*a$unit
+ umask 77
+ ;;
+
+tty0?|ttyd?|tty?)
+ unit=`expr $i : 'tty.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod ttyd$unit c 28 $m
+ mknod ttyid$unit c 28 `expr $m + 32`
+ mknod ttyld$unit c 28 `expr $m + 64`
+ ;;
+
+cuac?)
+ umask 7
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f
+ g h i j k l m n o p q r s t u v"
+ major=48
+ card=`expr $i : 'cua.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod cuac$name c $major `expr $minor + 128`
+ mknod cuaic$name c $major `expr $minor + 32 + 128`
+ mknod cualc$name c $major `expr $minor + 64 + 128`
+ chown uucp.dialer cuac$name cuaic$name cualc$name
+ done
+ umask 77
+ ;;
+
+ttyc?)
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f
+ g h i j k l m n o p q r s t u v"
+ major=48
+ card=`expr $i : 'tty.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod ttyc$name c $major $minor
+ mknod ttyic$name c $major `expr $minor + 32`
+ mknod ttylc$name c $major `expr $minor + 64`
+ done
+ ;;
+
+# RISCom8 'rc' driver entries
+
+cuam?)
+ umask 7
+ unit=`expr $i : 'cua.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod cuam$unit c 63 `expr $m + 128`
+ chown uucp.dialer cuam$unit
+ umask 77
+ ;;
+
+ttym?)
+ unit=`expr $i : 'tty.*\(.\)$'`
+ m=`ttyminor $unit`
+ mknod ttym$unit c 63 $m
+ ;;
+
+# Specialix SI/XIO.
+# Note: these are 'base 1' to match the numbers on the panels, and to match
+# the manual that comes with the system.
+ttyA*)
+ major=68
+ nports=`expr $i : 'ttyA\(.*\)$'`
+ port=1
+ while [ $port -le $nports ]; do
+ minor=`expr $port - 1`
+ name=`expr $port + 1000 | cut -c 3-4`
+ mknod ttyA$name c $major $minor
+ mknod ttyiA$name c $major `expr $minor + 65536`
+ mknod ttylA$name c $major `expr $minor + 131072`
+ port=`expr $port + 1`
+ done
+ # For the user-mode control program, 'sicontrol'
+ mknod si_control c 68 262144
+ ;;
+
+cuaA*)
+ umask 7
+ major=68
+ nports=`expr $i : 'cuaA\(.*\)$'`
+ port=1
+ while [ $port -le $nports ]; do
+ minor=`expr $port - 1`
+ name=`expr $port + 1000 | cut -c 3-4`
+ mknod cuaA$name c $major `expr $minor + 128`
+ mknod cuaiA$name c $major `expr $minor + 128 + 65536`
+ mknod cualA$name c $major `expr $minor + 128 + 131072`
+ chown uucp.dialer cuaA$name cuaiA$name cualA$name
+ port=`expr $port + 1`
+ done
+ umask 77
+ ;;
+
+# Digiboard PC/?? 16 port card.
+# The current scheme of minor numbering is:
+#
+# unused{14} CARD{2} major{8} CALLOUT{1} LOCK{1} INIT{1} PORT{5}
+#
+# CARD bitfield in future versions may be extended to 3 bits.
+#
+# See dgb(4)
+#
+ttyD?)
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f"
+ major=58
+ card=`expr $i : 'tty.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod ttyD$name c $major $minor
+ mknod ttyiD$name c $major `expr $minor + 32`
+ mknod ttylD$name c $major `expr $minor + 64`
+ done
+ ;;
+
+cuaD?)
+ umask 7
+ portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f"
+ major=58
+ card=`expr $i : 'cua.*\(.\)$'`
+ for unit in $portlist
+ do
+ minor=`ttyminor $unit`
+ minor=`expr $card \* 65536 + $minor`
+ name=$card$unit
+ mknod cuaD$name c $major `expr $minor + 128`
+ mknod cuaiD$name c $major `expr $minor + 32 + 128`
+ mknod cualD$name c $major `expr $minor + 64 + 128`
+ chown uucp.dialer cua*D$name
+ done
+ umask 77
+ ;;
+
+ttyR?)
+ major=81
+ BOARD=1; MINOR=65536; Rnum=0
+ MINOR=`expr $BOARD \* 65536`
+ dmesg | grep ^RocketPort[0-4] > /tmp/rp_list
+ controllers=`awk '{print $1}' < /tmp/rp_list`
+ rm -f /dev/ttyR*; rm -f /dev/ttyiR*; rm -f /dev/ttylR*
+ for i in $controllers;do
+ ndevices=`grep ^$i /tmp/rp_list | sed -e 's/.* \([0-9]*\) ports/\1/'`
+ echo -n "Creating $ndevices devices for $i: "
+ for dev in `jot $ndevices 0`;do
+ mknod /dev/ttyR$Rnum c $major $MINOR
+ mknod /dev/ttylR$Rnum c $major `expr $MINOR + 32`
+ mknod /dev/ttyiR$Rnum c $major `expr $MINOR + 64`
+ Rnum=`expr $Rnum + 1`
+ MINOR=`expr $MINOR + 1`
+ done
+ BOARD=`expr $BOARD + 1`
+ MINOR=`expr $BOARD \* 65536`
+ echo " "
+ done
+ ;;
+
+cuaR?)
+ major=81
+ BOARD=1; MINOR=65536; Rnum=0
+ MINOR=`expr $BOARD \* 65536`
+ dmesg | grep ^RocketPort[0-4] > /tmp/rp_list
+ controllers=`awk '{print $1}' < /tmp/rp_list`
+ rm -f /dev/cuaR*; rm -f /dev/cuaiR*; rm -f /dev/cualR*
+ for i in $controllers;do
+ ndevices=`grep ^$i /tmp/rp_list | sed -e 's/.* \([0-9]*\) ports/\1/'`
+ echo -n "Creating $ndevices devices for $i: "
+ for dev in `jot $ndevices 0`;do
+ mknod /dev/cuaR$Rnum c $major `expr $MINOR + 128`
+ mknod /dev/cualR$Rnum c $major `expr $MINOR + 128 + 32`
+ mknod /dev/cuaiR$Rnum c $major `expr $MINOR + 128 + 64`
+ Rnum=`expr $Rnum + 1`
+ MINOR=`expr $MINOR + 1`
+ done
+ BOARD=`expr $BOARD + 1`
+ MINOR=`expr $BOARD \* 65536`
+ echo " "
+ done
+ chown uucp.dialer /dev/cuaR*
+ ;;
+
+mse*)
+ unit=`expr $i : 'mse\(.*\)'`
+ chr=27
+ mknod mse$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ ;;
+
+psm*)
+ unit=`expr $i : 'psm\(.*\)'`
+ chr=21
+ mknod psm$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ ;;
+
+mouse*)
+ name=`expr $i : 'mouse\(.*\)'`
+ if [ ! -c $name ]; then
+ $0 $name # make the appropriate device
+ fi
+ ln -fs $name mouse
+ ;;
+
+pcaudio)
+ mknod pcaudio c 24 0
+ mknod pcaudioctl c 24 128
+ ;;
+
+socksys)
+ mknod socksys c 41 0
+ mknod spx c 41 1
+ ln -fs socksys nfsd
+ chmod 666 socksys nfsd spx
+ ;;
+
+snd*)
+#
+# changes from Linux voxware
+# minor Linux FreeBSD
+# 8 sequencer2 (aka music0) music0
+# 17 patmgr0 sequencer1
+# 33 patmgr1 sequencer2
+#
+
+ unit=`expr $i : 'snd\(.*\)'`
+ chr=30
+
+ # XXX write this less verbosely, like std
+ snd_security_hole=0 # XXX
+ umask $snd_security_hole
+
+ if [ $unit = "0" ] ; then
+ ln -fs mixer$unit mixer
+ ln -fs sequencer$unit sequencer
+ ln -fs dsp$unit dsp
+ ln -fs audio$unit audio
+ ln -fs dspW$unit dspW
+ ln -fs music$unit music
+ ln -fs pss$unit pss
+ fi
+
+ mknod mixer$unit c $chr `expr $unit '*' 16 + 0`
+ mknod sequencer$unit c $chr `expr $unit '*' 16 + 1`
+ mknod midi$unit c $chr `expr $unit '*' 16 + 2`
+ mknod dsp$unit c $chr `expr $unit '*' 16 + 3`
+ mknod audio$unit c $chr `expr $unit '*' 16 + 4`
+ mknod dspW$unit c $chr `expr $unit '*' 16 + 5`
+ mknod sndstat c $chr 6
+ # minor number 7 is unused
+ mknod music$unit c $chr `expr $unit '*' 16 + 8`
+ mknod pss$unit c $chr `expr $unit '*' 16 + 9`
+ # minor numbers 10-15 are unused
+ umask 77
+ ;;
+
+vat)
+ mknod vatio c 25 128
+ chmod 660 vatio
+ ;;
+
+gsc*)
+ unit=`expr $i : 'gsc\(.*\)'`
+ mknod gsc${unit} c 47 $unit
+ mknod gsc${unit}p c 47 $(($unit + 8))
+ mknod gsc${unit}d c 47 $(($unit + 32))
+ mknod gsc${unit}pd c 47 $(($unit + 40))
+ chmod 666 gsc${unit}*
+ ;;
+
+apm*)
+ chr=39
+ mknod apm c $chr 0
+ chgrp operator apm
+ chmod 660 apm
+ ;;
+
+card*)
+ unit=`expr $i : 'card\(.*\)'`
+ chr=50
+ mknod card$unit c $chr $unit
+ chmod 644 card$unit
+ ;;
+
+ttyx?|ttyy?|ttyz?)
+ case $i in
+ *0) unit=0;; *1) unit=1;; *2) unit=2;; *3) unit=3;;
+ *4) unit=4;; *5) unit=5;; *6) unit=6;; *7) unit=7;;
+ *8) unit=8;; *9) unit=9;; *a) unit=10;; *b) unit=11;;
+ *c) unit=12;; *d) unit=13;; *e) unit=14;; *f) unit=15;;
+ esac
+ case $i in
+ ttyy?) unit=`expr $unit \+ 16`;;
+ ttyz?) unit=`expr $unit \+ 32`;;
+ esac
+ mknod $i c 42 $unit
+ chown uucp.wheel $i
+ ;;
+
+cronyx)
+ mknod cronyx c 42 63
+ ;;
+
+joy)
+ mknod joy0 c 51 0
+ mknod joy1 c 51 1
+ chgrp operator joy0 joy1
+ chmod 640 joy0 joy1
+ ;;
+
+spigot)
+ mknod spigot c 11 0
+ chmod 444 spigot
+ ;;
+
+ctx?)
+ unit=`expr $i : 'ctx\(.*\)'`
+ mknod ctx$unit c 40 $unit
+ chmod 444 ctx$unit
+ ;;
+
+meteor?)
+ unit=`expr $i : 'meteor\(.*\)'`
+ mknod meteor$unit c 67 $unit
+ chmod 444 meteor$unit
+ ;;
+
+bktr?)
+ unit=`expr $i : 'bktr\(.*\)'`
+ mknod bktr$unit c 92 $unit
+ mknod tuner$unit c 92 $((16 + $unit ))
+ chmod 444 bktr$unit tuner$unit
+ ;;
+
+tun*)
+ ntun=`expr $i : 'tun\(.*\)$'`
+ unit=0
+ while [ $unit -le $ntun ]; do
+ mknod tun$unit c 52 $unit
+ chown uucp.dialer tun$unit
+ unit=`expr $unit + 1`
+ done
+ ;;
+
+sysmouse)
+ mknod sysmouse c 12 128
+ mknod consolectl c 12 255
+ ;;
+
+snp?)
+ unit=`expr $i : 'snp\(.*\)'`
+ mknod snp$unit c 53 $unit
+ ;;
+
+# dufault@hda.com: If I do much more work on other A-D boards
+# then eventually we'll have a "ad" and "dio" interface and some of these
+# "labpcaio" ones will be gone.
+# labpcaio: D-A and A-D.
+# labpcdio: Digital in and Digital out.
+#
+labpc*)
+ umask 7
+ case $i in
+ labpcaio*)
+ name=labpcaio
+ unit=`expr $i : 'labpcaio\(.*\)'`
+ all="0 1 2 3 4 5 6 7"
+ offset=0
+ ;;
+ labpcdio*)
+ name=labpcdio
+ unit=`expr $i : 'labpcdio\(.*\)'`
+ all="0 1 2 3"
+ offset=8
+ ;;
+ *)
+ die 3 "Don't know LabPC type $i"
+ ;;
+ esac
+ if [ "X${unit}" = "X" ]; then
+ unit=all
+ fi
+ case $unit in
+ 0|1|2|3|4|5|6|7)
+ mknod $name$unit c 66 `expr $offset + $unit `
+ ;;
+ all)
+ for i in $all
+ do
+ mknod $name$i c 66 `expr $offset + $i `
+ done
+ ;;
+ *)
+ echo "No such LabPC unit: $unit"
+ ;;
+ esac
+ umask 77
+ ;;
+
+perfmon)
+ mknod perfmon c 2 32
+ chgrp kmem perfmon
+ chmod 640 perfmon
+ ;;
+
+ipl)
+ mknod ipl c 79 0
+ mknod ipnat c 79 1
+ mknod ipstate c 79 2
+ mknod ipauth c 79 3
+ ;;
+
+local)
+ umask 0 # XXX should be elsewhere
+ sh MAKEDEV.local
+ umask 77
+ ;;
+
+*)
+ echo $i - no such device name
+ ;;
+
+esac
+done
diff --git a/release/picobsd/dial/mfs.tree/Makefile b/release/picobsd/dial/mfs.tree/Makefile
new file mode 100644
index 000000000000..e2b9b80b8eb1
--- /dev/null
+++ b/release/picobsd/dial/mfs.tree/Makefile
@@ -0,0 +1,69 @@
+#
+# $Id: Makefile,v 1.3 1998/08/10 19:08:02 abial Exp $
+#
+
+DESTDIR?=/mnt
+
+STAND_LINKS= bin sbin
+USR_LINKS= bin sbin libexec
+PL_LOCALE_LINKS= pl polish
+US_LOCALE_LINKS= en english
+
+.if ${LANGUAGE} == pl
+LOCALE= pl_PL.ISO_8859-2
+LOCALE_LINKS=${PL_LOCALE_LINKS}
+FONT=iso02-8x16.fnt
+KBD=pl_PL.ISO_8859-2.kbd
+.else
+LOCALE= en_US.ISO_8859-1
+LOCALE_LINKS=${US_LOCALE_LINKS}
+.endif
+
+all: tree links
+
+tree:
+ mtree -deU -f mfs.mtree -p ${DESTDIR}
+
+links: tree
+ (cd ${DESTDIR}; \
+ for i in ${STAND_LINKS}; \
+ do \
+ ln -s /stand $${i}; \
+ done; \
+ cd var/run; \
+ ln -s /dev/null log; \
+ cd ../../usr; \
+ for i in ${USR_LINKS}; \
+ do \
+ ln -s /stand $${i}; \
+ done; \
+ cd share/misc;\
+ ln -s /etc/termcap termcap; \
+ echo emacs >/usr/share/misc/init.ee; \
+ cd ../; \
+ cd locale; \
+ for i in ${LOCALE_LINKS}; \
+ do \
+ ln -s ${LOCALE} $${i}; \
+ done; \
+ cp /usr/share/locale/${LOCALE}/* ${LOCALE}/; \
+ if [ "X${FONT}" != "X" ]; \
+ then \
+ cp /usr/share/syscons/fonts/${FONT} ../syscons/; \
+ cp /usr/share/syscons/keymaps/${KBD} ../syscons/; \
+ fi; \
+ cd ../nls; \
+ for i in ${LOCALE_LINKS}; \
+ do \
+ ln -s ${LOCALE} $${i}; \
+ done;)
+
+
+# We don't do it under 'all' because it's needed only on non-DEVFS systems
+devnodes: tree
+ (cp MAKEDEV ${DESTDIR}/dev/; \
+ cd ${DESTDIR}/dev; \
+ ./MAKEDEV std tun2 vty10 fd0 wd0 wd0s1h pty0; \
+ rm MAKEDEV;)
+
+clean:
diff --git a/release/picobsd/dial/mfs.tree/login.conf b/release/picobsd/dial/mfs.tree/login.conf
new file mode 100644
index 000000000000..ddfb8cc6c3cd
--- /dev/null
+++ b/release/picobsd/dial/mfs.tree/login.conf
@@ -0,0 +1,62 @@
+# $Id: login.conf,v 1.1 1998/08/10 19:08:02 abial Exp $
+
+# Authentication methods
+
+auth-defaults:\
+ :auth=krb_skey_or_passwd,passwd,kerberos,skey:
+
+auth-root-defaults:\
+ :auth-login=krb_skey_or_passwd,passwd,kerberos,skey:\
+ :auth-rlogin=krb_or_skey,kerberos,skey:
+auth-ftp-defaults:\
+ :auth=skey_or_pwd,passwd,skey:
+# Example defaults
+default:\
+ :cputime=infinity:\
+ :datasize-cur=22M:\
+ :stacksize-cur=8M:\
+ :memorylocked-cur=10M:\
+ :memoryuse-cur=30M:\
+ :filesize=infinity:\
+ :coredumpsize=infinity:\
+ :maxproc-cur=64:\
+ :openfiles-cur=64:\
+ :priority=0:\
+ :requirehome@:\
+ :umask=022:\
+ :tc=auth-defaults:
+
+# root - fallback for root logins
+root:\
+ :path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\
+ :cputime=infinity:\
+ :datasize=infinity:\
+ :stacksize=infinity:\
+ :memorylocked=infinity:\
+ :memoryuse=infinity:\
+ :filesize=infinity:\
+ :coredumpsize=infinity:\
+ :openfiles=infinity:\
+ :maxproc=infinity:\
+ :memoryuse-cur=32M:\
+ :maxproc-cur=64:\
+ :openfiles-cur=1024:\
+ :priority=0:\
+ :requirehome@:\
+ :umask=022:\
+ :tc=auth-root-defaults:
+# Settings used by /etc/rc
+daemon:\
+ :coredumpsize@:\
+ :coredumpsize-cur=0:\
+ :datasize=infinity:\
+ :datasize-cur@:\
+ :maxproc=512:\
+ :maxproc-cur@:\
+ :memoryuse-cur=64M:\
+ :memorylocked-cur=64M:\
+ :openfiles=1024:\
+ :openfiles-cur@:\
+ :stacksize=16M:\
+ :stacksize-cur@:\
+ :tc=default:
diff --git a/release/picobsd/dial/mfs.tree/mfs.mtree b/release/picobsd/dial/mfs.tree/mfs.mtree
new file mode 100644
index 000000000000..e29df1d10396
--- /dev/null
+++ b/release/picobsd/dial/mfs.tree/mfs.mtree
@@ -0,0 +1,58 @@
+#
+# $Id: mfs.mtree,v 1.1.1.1 1998/07/14 07:30:42 abial Exp $
+#
+/set type=dir uname=root gname=wheel mode=0755
+.
+ dev
+ ..
+ dos
+ ..
+ etc
+ ..
+ help
+ ..
+ mnt
+ ..
+ mnt1
+ ..
+ mnt2
+ ..
+ proc
+ ..
+ stand
+ ..
+ start_floppy
+ ..
+ tmp
+ ..
+ usr
+ share
+ locale
+ pl_PL.ISO_8859-2
+ ..
+ en_US.ISO_8859-1
+ ..
+ ..
+ misc
+ ..
+ nls
+ pl_PL.ISO_8859-2
+ ..
+ en_US.ISO_8859-1
+ ..
+ ..
+ syscons
+ ..
+ ..
+ ..
+ var
+ db
+ ..
+ run
+ ..
+ spool
+ lock
+ ..
+ ..
+ ..
+..
diff --git a/release/picobsd/doc/bugs.html b/release/picobsd/doc/bugs.html
new file mode 100644
index 000000000000..a320659d5b37
--- /dev/null
+++ b/release/picobsd/doc/bugs.html
@@ -0,0 +1,82 @@
+
+
+
+ History and Bug fixes
+
+
+
+History and List of Bugfixes
+
+This is the short release history of PicoBSD, as well as the list of bugs
+which were found. Some of them were already corrected, so that you should read
+the list before reporting a new one.
+
+We tried to make this software bug-free, but life is life... Sorry for the
+ inconvenience.
+
+PicoBSD 0.4
+
+-
+ 1998.08.19: PicoBSD 0.4 released.
+
New features include: NATd,
+ netstat, DEVFS/SLICE instead of standard /dev, additional network
+ drivers, and several minor fixes. Distribution contains also
+ a collection of small versions of system programs (TinyWare), among
+ them custom init(8).
+ I added also the fourth type of setup - 'router' - which is a
+ specialized version of PicoBSD that focuses on providing as small
+ as possible router solution.
+
+
+PicoBSD 0.31
+
+-
+ 1998.03.28: Some people reported that the binary files (*.flp) were
+ being corrupted during download because their browsers assumed that
+ these are text files. I changed the names to *.bin - their contents
+ is the same.
+
+-
+ 1998.03.20: PicoBSD 0.31 released. New features include: SNMP daemon,
+ better creation of /kernel.config, some other minor fixes. Massive
+ changes in the building scripts. I also removed vn(4) driver from
+ "net" and "isp" floppies.
+
+
+PicoBSD 0.3
+The following bugs were found in this release of PicoBSD:
+
+- 1998.02.27: A bug in kget(8) utility caused it to dump core in certain
+ situations. As a consequence, it wasn't possible to save the changes
+ made in UserConfig (-c). This will be corrected in the next release (or
+ bugfix issue).
+
+- 1998.02.24: Wrongly sized MFS caused the passwd(1) on "net" type
+ floppy to fail because of lack of space for temporary files. This bug
+ affected only "net" floppies, and of course the scripts ("2000" looks
+ quite similar to "2200" :-(( ). Also, the 'update' script didn't work
+ as expected...
+
This was fixed the same day, and the corrected files are: pb03en1.zip,
+ pb03pn1.zip, and pbsd-s031.tgz respectively. They are now under standard
+ links on the main page of PicoBSD project, so if you downloaded after
+ this date, you shouldn't worry.
+ Please check that you have the fixed versions - the archive name should
+ contain the tiny number, such as "pb03en1.zip", or
+ pbsd-s031.tgz".
+ -
+ 1998.02.15: PicoBSD 0.3 released. This is the first version that I can
+ truly recommend - previous one was too buggy... :-)
+
+
+
+
+Last modified:
+Wed Aug 19 08:53:04 CEST 1998
+
+
+
+Any comments? Send them to
+the author
+
+
+
diff --git a/release/picobsd/doc/faq.html b/release/picobsd/doc/faq.html
new file mode 100644
index 000000000000..2b59ffd8f052
--- /dev/null
+++ b/release/picobsd/doc/faq.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+
+ PicoBSD FAQ
+
+
+
+
+
+The PicoBSD FAQ
+
+
+
+
+What is PicoBSD ?
+
+PicoBSD is a floppy sized version of popular operating system FreeBSD.
+It fits within a single bootable 1.44MB floppy and runs on a minimum i386
+with 8MB RAM. PicoBSD currently comes in four flavours: dialup, net, router and
+isp. For a description of how each of the flavours differ, take a look
+at the PicoBSD
+home page.
+
+
What version of FreeBSD is PicoBSD based on ?
+
+
PicoBSD has versions based on both FreeBSD 3.0-current and FreeBSD 2.2.5-RELEASE.
+Andrzej Bialecki maintains the FreeBSD
+3.0-current version and Dinesh
+Nair maintains the FreeBSD
+2.2.5-RELEASE version. Both the versions don't differ by much except
+for the following:
+
+-
+the 3.0-current version is, well, more current so it has support for the
+latest whiz-bang devices; on the other hand, it sometimes mean it can
+provide functionality not yet present in 2.2.5-RELEASE
+
+-
+the 2.2.5-RELEASE version is more stable and since binary sizes are smaller,
+it sometimes has a little more functionality than the 3.0-current version
+
+As far as possible, both versions will be kept functionally similar, but
+occasionaly divergence may occur.
+
+What can PicoBSD do?
+
+
With the TCP/IP capabilities of FreeBSD included in and based on the
+strong 4.4BSD TCP/IP stack, PicoBSD can be used as a low cost Network Computer.
+With a text based HTML 3.2 compliant browser (2.2.5-RELEASE version only)
+and Internet access tools such as telnet and ftp, it can serve as a low
+cost Internet dialup client. With support for mounting MSDOS and Unix harddisks,
+it also can be used as a portable OS which you can carry around in a floppy.
+The net and isp flavours would allow you to make use of those redundant
+i386es as a low cost router or dialin PPP server. With SNMP and firewall
+support built-in, PicoBSD provides the functionality of dedicated routers
+and dialin terminal servers.
+
+
What are PicoBSD's minimum requirements?
+
+
PicoBSD runs on a minimum i386 with 8MB RAM for the dialup flavour and
+10MB RAM for the net and isp flavours. Diskspace requirements are a single
+1.44MB floppy. For on-demand PPP access, a modem would be required, either
+external or internal.
+For LAN access, an Ethernet NIC (support for 3Com, NE2000 etc available)
+would also be required.
+
+
Where do I get PicoBSD? PicoBSD is available at the following
+locations:
+
+Additional mirror sites will be brought online as demand increases. If
+you're interested in mirroring the PicoBSD distribution, please get in
+touch with Dinesh Nair or
+Andrzej Bialecki.
+
+How do I copy it to the floppy?
+
+
The binary images provided as part of the PicoBSD distribution are 1.44MB
+sized floppy images. They cannot be copied to a floppy using the MSDOS
+COPY or Unix cp commands. Instead, an image copy must be done
+using tools such as rawrite.exe
+or fdimage.exe
+under MSDOS and dd under Unix.
+
+
Under DOS you would do something like this:
+
C:\> fdimage.exe picobsd.flp a:
+
+while under Unix you would use something like:
+dd if=picobsd.flp of=/dev/rfd0
+
+How do I configure dialup PPP access on the Dialup flavour?
+
+There is an auto-configuration script to configure PPP dialup access.
+Run /stand/dialup after booting up from the floppy and make the
+relevant menu selections. Once you've tested it to work, you should make
+your changes permanent by committing them to the floppy using /stand/update.
+
+
How do I set my DNS server ?
+
+
Use the provided /stand/ee editor and edit /etc/resolv.conf.
+Replace the domain with your domain and change the nameserver
+IP address to your nameserver or your ISP's nameserver. You may have as
+many nameserver lines as you want. Don't forget to run /stand/update
+to commit your changes to the floppy.
+
NOTE: starting with version 0.4, the dialup scripts asks you to
+set your nameserver as well as default domain name.
+
+How do I set my hostname ?
+
+
Edit /etc/rc.conf and change the value of the hostname
+variable.
+
+
PicoBSD has "mkdir" but not "rmdir". How can I delete
+subsdirectories?
+"rm -d" will delete directories.
+
+Can I use a modem configured on COM3/COM4 instead of COM1, COM2?
+
+Yes, but these ports are initially disabled - most machines have only
+two serial ports anyway. You have to enable them in UserConfig.
+Here are the preferred settings:
+
+- sio0=COM1: port 0x3f8, irq 4, used by default for mouse (/dev/cuaa0)
+
+- sio1=COM2: port 0x2f8, irq 3, used by default for modem (/dev/cuaa1)
+
+- sio2=COM3: port 0x3e8, irq 5, disabled by default
+
+- sio3=COM4: port 0x2e8, irq 10, disabled by default
+
+
+
+I see a configuration conflict the first time I boot PicoBSD. What
+should I do?
+
+Disable those devices which are not present in your machine. If there is
+still some conflict, change the settings (I/O port, IRQ etc.).
+
+What kind of SCSI support is there?
+
+None. Either build your own version of PicoBSD, or just install normal
+FreeBSD distribution.
+
+How do I connect using PPP ?
+
+
Just run the PPP process, /stand/ppp. at the ppp on pico>
+prompt, type dial and sit back and wait for the modem to sing it's
+mating tunes. When the ppp on pico> prompt is capitalized to PPP
+on pico>, you've managed to succesfully achieve a link-level PPP and
+TCP/IP connection with your ISP. Additionally, the PPP program will enter
+Packet Mode. Remember, don't quit or close the PPP
+connection if you want to continue to access the Internet. Type help
+at the ppp on pico> prompt for a list of PPP commands.
+
+
The PPP process is running on my screen. How do I use the browser
+or telnet to a host ?
+
+
PicoBSD has many virtual terminals, 10 on the dialup flavour. You have
+run PPP on the first virtual terminal. You can switch to the others and
+run the browser and telnet clients there. Switching thru the VTs is done
+by ALT-F1 for VT0, ALT-F2 for VT1, ALT-F3 for VT2 etc. From these terminals,
+you could use telnet or the lynx browser cum newsreader.
+
+
I can't establish a PPP connection. The mouse pointer randomly appears
+and disappears. and moving the mouse has no effect.
+
+You have the mouse driver configured to use the modem's serial port.
+Issue a 'ps -ax', remember the pid (process ID) of 'moused', then issue a
+'kill -9 '. Edit /etc/rc.conf to specify the correct mouse port. Issue
+an 'update' commmand to save new configuration to the floppy, and reboot.
+I saved my lynx configuration but it was not there when I rebooted.
+Why ?
+
+
The lynx configuration is saved in /etc/lynx.cfg. You should
+run /stand/update to commit this to the floppy when you change the
+configuration. In effect, anything you change in /etc can be committed
+by running /stand/update.
+
+
How come there are no manual pages ?
+
+
Well, this is a floppy-sized OS, so there's not enough space for full
+manpages. Instead, short help descriptions are given with the /stand/help
+program. If you need more detailed descriptions, take a look at the FreeBSD
+Handbook or the FreeBSD Home.
+
+
+
+More FAQ points will be added as feedback from the
+PicoBSD user community comes in. And big thanks to all of you who already
+sent us some suggestions!
+Last Modified:
+Sun Aug 9 13:40:15 CEST 1998
+
+
+
diff --git a/release/picobsd/doc/hardware.html b/release/picobsd/doc/hardware.html
new file mode 100644
index 000000000000..e8c7318830f3
--- /dev/null
+++ b/release/picobsd/doc/hardware.html
@@ -0,0 +1,107 @@
+
+
+
+Lists of supported hardware configurations.
+
+Below you will find supported configurations for each of the flavors of
+PicoBSD as of version 0.4, as well as the lists of programs included.
+
+Dialup version:
+
+- minimum 386SX CPU (either Intel, AMD, Cyrix etc - doesn't matter),
+
+- minimum 8MB of RAM (some people reported success
+stories with 4MB only, but I certainly don't recommend it)
+
+- a modem (for Internet connection using PPP protocol), either internal or
+external, connected to COM1-COM4. NOTE: COM3 and COM4 are disabled by default
+- you have to explicitly enable them in UserConfig.
+
+- an Ethernet card for LAN connection:
+
+- ed - default settings: port 0x280, irq 10, iomem 0xd8000
+
NE2000 compatible ISA and PCI cards, most SMC and 3C503
+
+- ep - default settings: port 0x300, irq 10,
+
3C509 ISA card
+
+- ie - default settings: port 0x300, irq 10, iomem 0xd0000
+
Intel EtherExpress ISA, StarLan, 3C507
+
+- le - default settings: port 0x300, irq 5, iomem 0xd0000
+
DEC EtherWorks 2 and 3
+
+- lnc - default settings: port 0x280, irq 10, iomem 0xd0000
+
Lance/PCNet
+
+- de - DEC21040-based PCI cards,
+
+- fxp - Intel EtherExpress Pro/100B PCI card
+
+
+
+- 10 virtual consoles plus console utilities (vidcontrol, kbdcontrol)
+
+- basic networking tools: ifconfig, route, ping, ns (mini-netstat),
+traceroute
+
+- basic remote access tools: telnet, ftp and SSH
+
+- basic OS tools: shell, mount (FreeBSD, DOS, Linux), umount, ps, kill, vm
+(mini-vmstat), fsck, df, etc..
+
+- editable configuration (/etc directory and kernel configuration)
+
+- simple editor ee
+
+- simple help system for people new to FreeBSD
+
+
+Router-like version:
+
+- minimum 386SX CPU,
+
+- minimum 10 MB of RAM (8MB for basic setup)
+
+- support for PPP protocol on dialup/leased lines (using ijppp)
+
+- support for several types of Ethernet cards (two of each kind) - see above
+for descriptions: ed, ie, ep, de, fxp, lnc
+
+- network daemons: routing daemon (routed), inetd, telnetd, snmpd.
+
+- IP Firewall and NAT daemon (natd).
+
+- more OS utilities, including: syslogd, mount_nfs, network logins via
+telnet
+
+- this version doesn't include: ssh, ftp
+
+
+Router version:
+
+- minimum 386SX CPU,
+
+- minimum 4 MB of RAM (6MB for running some additional daemons)
+
+- support for PPP protocol on dialup/leased lines (using kernel ppp)
+
+- support for several types of Ethernet cards - see above
+for descriptions: ed, ie, ep, de, fxp, lnc
+
+- custom init(8), which includes also a simple command-line interface,
+and its own way to configure the system on startup.
+
+- IP Firewall and NAT daemon (natd - it requires additional portion of RAM).
+
+- very few OS tools, except those absolutely necessary,
+
+
+
+There's also the fourth version, which can serve as a dialin server - I hope
+you'll find it as a cheap yet reliable alternative to commercial communication
+servers :-)) This work is still in progress, and
+I need some people to test the early
+dial-in server version.
+
+
diff --git a/release/picobsd/doc/how2build.html b/release/picobsd/doc/how2build.html
new file mode 100644
index 000000000000..f37e7d21d624
--- /dev/null
+++ b/release/picobsd/doc/how2build.html
@@ -0,0 +1,177 @@
+
+
+
+PicoBSD Development Kit
+
+
+ How to build your own version
+ of PicoBSD?
+
+
+
+-
+ Get the file
picobsd.tgz
. It contains the scripts
+ you'll need. Also, I assume you run quite -current system with
+ full sources installed.
+
+ NOTE: there were some mysterious interactions between vn(4) driver and
+ 'disklabel auto' in versions earlier than 3.0. There is another set
+ of scripts prepared by Dinesh Nair
+ which allows to build PicoBSD floppies on a earlier systems.
+
+ Unpack the archive in some place with at least 5MB free space.
+
+- Change working directory (
cd build
) and run the
+ ./build
script. Select target language, size of MFS and
+ one of pre-canned setups (personal dialup, dialin server or
+ router-like). Details of each setup are contained in
+ dial/, isp/ and net/ directories respectively. You should at least
+ check ${TYPE}/config/PICOBSD
file to make sure it contains
+ the drivers you want.
+ I also recommend to adjust the ISA devices parameters to
+ match the ones of your hardware - though PicoBSD can save the
+ changes from UserConfig, this way it will produce smaller
+ /kernel.config
file.
+
+- I assume you will use 1.44MB floppy. If not, please edit the file
+
build/stage3
.
+
+- There are several directories which contain some sources and config
+ files:
+
+ build/ main build directory; you MUST cd here!
+ dial/ config files for dialup setup
+ conf/ kernel config file
+ crunch1/ crunch of system programs
+ mfs.tree/ contains the MFS configuration
+ lang/ contains language-dependent files
+ floppy.tree/ contains the startup floppy hierarchy
+
+ isp/ config files for dialin server setup
+ ... (as above)
+ net/ config files for router-like setup
+ ... (as above)
+ tinyware/ collection of small system utilities
+ tools/ additional tools them needed during build
+
+ There are no /etc/passwd
nor /etc/pwd.db
+ files on the "dial" floppy - in case of other types, they are
+ reconstructed from /etc/master.passwd
on each startup
+ (and then put on MFS with the rest of /etc
).
+ In case of "dial" type floppy, you don't need them at all.
+
+ NOTE: thanks to the above, the floppy is needed only during startup,
+ and then only if you want to synchronize (possibly changed) MFS /etc
+ with the one on the floppy. It means that you can pull off the floppy
+ from the drive as soon as login:
prompt appears.
+ In other words, it is almost equal to read-only floppy.
+
+- Edit the set of installed programs.
+
+- Go to
${TYPE}/crunch1
directory, and edit it
+ to suit your needs. Keep in mind that floppies aren't made
+ of rubber... :-)
+
+- There are some patches included in these directories, which
+ are applied during build process to some of the Makefiles in
+ your
/usr/src
. These patches attempt to decrease
+ the size of some programs by cutting off rarely/unlikely used
+ parts. The patches are reversed when you do a
+ make clean
(or build/clean
+ for that matter).
+ NOTE: patches may fail to apply, if your sources are too
+ different from the ones I used. Don't worry: they are so
+ straightforward that you can apply them by hand.
+
+- In order to have a functioning system you MUST include at
+ least
/stand/init
, or /stand/oinit
,
+ or /stand/sysinstall
in
+ your crunch.conf
. Of course these can be your
+ own programs... But if you install the stock
+ /sbin/init
, you
+ also have to install some others, like sh, getty, login etc...
+ This release of PicoBSD contains a small replacement for
+ init(8), called 'oinit'. You can find it in TinyWare
+ collection. The main building script allows you to use it
+ instead of normal init(8). Be sure to read the oinit's docs
+ before you decide to use it!
+
+
+
+- Make sure that the system you're running has /dev/[r]vn0* entries in
+ /dev directory (if not, you can make them with 'MAKEDEV vn0'), AND
+ that your running kernel has built-in vnode driver (there should be a
+ line in your kernel config file stating 'pseudo-device vn').
+
+- You'll need at least 9MB of free disk space, and free /mnt directory.
+
+- Do a
cd build/
and fire off the ./build
+ script. Select the build parameters or 'n' for 'no change'. If all
+ is well, after some time (like 10-30m) you end up with a
+ 'picobsd.bin' file in this directory.
+
+ WARNING: make sure you don't have stale .depend
files
+ around!!! You may encounter many strange errors during build process
+ in that case.
+
+ If there were any errors, please execute each script by hand and try
+ to find what causes this error. Most often this will be one of the
+ following reasons:
+
+-
crunchgen
can't find the source directory for a
+ program 'proggy':
+
+- make sure that the source directory for 'proggy' is called
+ 'proggy', otherwise the crunchgen won't find it
+
+- make sure that the Makefile allows crunchgen to deduce the
+ set of objects to build. You can manually add an OBJS= ...
+ to the program's Makefile.
+
+
+
+- crunch fails to build.
+
+- check your system source tree for stale .depend files and/or
+ objects (*.o)
+
+- see if the individual programs can be built using original
+ Makefiles. If not, cvsup the correct sources.
+
+
+
+- /: write failed - file system is full
+
+- this one is obvious - you wanted to put too many programs on
+ the MFS and/or the target floppy. Or, you really don't have
+ any space left on the root partition.. :-)
+
+- also, you can check if the
+ MFS size is correctly reported while it's still mounted (right
+ after
stage1
script ends).
+
+
+
+
+ You can also remove 2>&1
redirections from Makefiles
+ to see the stderr.
+
+- Transfer this file to the floppy:
+
+ dd if=picobsd.bin of=/dev/rfd0
+
+
+ (The 'build' script asks you if you want to do this.)
+
+
+
+That's all. You're welcome to change and improve these scripts. If you
+ stumble upon something which looks like a good idea to have it here, let me
+ know.
+
+If, for some reason, the scripts don't work for you at all, also let me
+ know.
+
+<abial@nask.pl>
+
+
diff --git a/release/picobsd/doc/intrinsics.html b/release/picobsd/doc/intrinsics.html
new file mode 100644
index 000000000000..af5e9a8e45b1
--- /dev/null
+++ b/release/picobsd/doc/intrinsics.html
@@ -0,0 +1,126 @@
+
+
+
+Details of building process
+
+
+ Details of building process.
+
+For those of you who really want to know what's going on behind the scene,
+and can't quite deduce it from scripts themselves, here's short description of
+the build process:
+
+
+- The './build' script sets the basic parameters of the floppy, such as:
+
+- LANGUAGE: language of the various system messages, and C locale.
+ Available choices are: "en" (English) and "pl" (Polish).
+
+-
+ SIZE: size of the memory filesystem (MFS), which will contain all the
+ binaries (except the kernel). Make it big enough for all the pieces to
+ fit, but keep it as small as possible (remember that running system
+ needs some space in /var and /tmp!). Presently, "dial" type of floppy
+ requires at least SIZE=1700, and others require ca. 2800 (numbers
+ are in kB).
+
+-
+ TYPE: determines which set of programs and which trees will be
+ installed on the floppies. This simply acts as a selector to dive into
+ respective subdirectories in ../. Presently, the TYPE can be one of:
+ "dial" (dialup floppy), "net" (networking floppy), "router" (router
+ floppy) or "isp" (work in progress - not really usable yet).
+
+
+ -
+ Then the './build' scripts checks if there is a kernel built on basis
+ of previously set parameters. The check is error prone, but is simple:
+ the target config file is called PICOBSD-${TYPE}.${SIZE}, and if there
+ exists a file called /sys/compile/PICOBSD-${TYPE}.${SIZE}/kernel, then
+ it is assumed it's the right one.
+
+
If there is no such file, the script starts compilation of the kernel,
+ using template in ../${YTPE}/conf/PICOBSD, and adding parameters which
+ determine the built-in MFS size.
+ -
+ Then the './build' script starts the consecutive stages of the build
+ process, which are performed by scripts (in the following order):
+ stage1, populate, stage2, stage3.
+
+-
+ 'stage1' prepares the file called fs.PICOBSD with given size - it's a
+ placeholder for the future MFS. Next, it turns it into device (using
+ vnconfig), and then performs some tricks :-) which allow for
+ doing 'disklabel'. I use the 'auto' option to disklabel(8), which
+ behaves strangely in 2.2.x - what it's supposed to do is to
+ automagically determine the disk parameters from the underlying
+ device (in this case, /dev/rvn0). This works ok in 3.0-current, and
+ allows for using arbitrary (>1024kB) MFS sizes.
+
+
One notable exception here is with the "router" floppy - I use one
+ of extended floppy formats (820kB).
+
+ After the file is labelled, the newfs(8) is run. Here you can adjust
+ the parameter -i, which can gain you some space on the MFS (sacrificing
+ available number of inodes, so be careful).
+
+ Such prepared blank filesystem is mounted on /mnt. Here the stage1
+ ends.
+
+-
+ 'populate', as its name suggests, transfers all the pieces which will
+ reside in MFS, to the filesystem mounted on /mnt. This includes:
+
+- copying language dependent files from ../${TYPE}/lang/
+- making the MFS hierarchy according to informations in
+ ../${TYPE}/mfs.tree/ subdir.
+
The MFS tree includes the /etc, which will contain the startup file
+ /etc/rc.
+ This file in turn doesn't do anything useful except copying the
+ real /etc hierarchy from the floppy filesystem. (There's one possible
+ improvement which comes to my mind - to have the whole /etc on the
+ floppy in tar.gz - this would require only one inode to store the whole
+ /etc, and we could gain some kB on the floppy)
+
+- making and installing the set of crunched programs, basing on the
+ description in ../${TYPE}/crunch1/crunch.conf. This involves
+ making the 'crunch', copying it to /mnt and making hard links to
+ the names of all the programs contained therein.
+- preparing a short list of kernel symbols, which will be used by
+ various utilities at runtime. In case of "net" and "isp" floppy, it also
+ prepares the kvm_kernel.db database, which will be used by such
+ programs as ps, netstat and others
+- preparing the list of "virgin" configuration of devices in kernel -
+ this list will be used by kget(8) program to save the changes to
+ /kernel.config file.
+
+
+-
+ 'stage2' prepares the target kernel. It takes the filesystem contained
+ in fs.PICOBSD (which has all the above pieces inside), and writes it
+ into the target kernel. Then it kzip(8)'s such construed kernel. This
+ process also strips the symbols from the kernel (that's why we prepared
+ the symbol list earlier).
+
+-
+ 'stage3' does almost the same as 'stage1', but this time it prepares
+ the filesystem of the target floppy. Default size for the floppy is
+ set at 1440kB.
+
After preparing the filesystem (which again involves doing disklabel(8)
+ and newfs(8) - here you can notice that the resulting FS has very small
+ number of inodes in order to save space), the script transfers the
+ floppy hierarchy (which is
+ taken from ../${TYPE}/floppy.tree). Notice that it also contains
+ the /etc directory - its contents is copied right after bootup to the
+ real /etc in MFS. This allows for changing the system behaviour
+ (because you can't change the MFS contents without recompiling).
+ The script finally copies previously prepared kernel to the floppy
+ filesystem. The filesystem is unmounted, and here the build process
+ ends.
+
+
+
+
+Last modified:
+Wed Aug 19 18:49:08 CEST 1998
+
diff --git a/release/picobsd/doc/intro.html b/release/picobsd/doc/intro.html
new file mode 100644
index 000000000000..6c5ce16b7883
--- /dev/null
+++ b/release/picobsd/doc/intro.html
@@ -0,0 +1,300 @@
+
+
+
+ PicoBSD
+
+
+
+PicoBSD
+
+
+
+
+Contents:
+
+
+
+
+
+What is it?
+If you ever dreamed about having really small, tiny, minimal system that
+would offer you benefits of Unix, while still fitting in reasonable space -
+here it is!
+
+PicoBSD is a one floppy version of
+FreeBSD 3.0-current, which in its
+different variations allows you to have secure dialup access, small diskless
+router or even a dial-in server. And all this on only one standard 1.44MB
+floppy - no need to sacrifice over 100MB of your precious HDD space.
+
+PicoBSD is... well, pico-sized :-) , and the minimal hardware that
+is required to run it is 386SX CPU with 8MB of RAM (no HDD!).
+
+
+
+Here you can find detailed list of supported
+hardware and features.
+
+
Current version of PicoBSD is 0.4, and this means that I consider it
+greatly immature, while on the other hand being somewhat tested and improved
+over previous versions. Does it tell you something? Well, at least you can
+try it - I cannot guarantee that it doesn't burn your house or blow up your
+machine, though the former is unlikely... :-)
+
+
+Where can I get it?
+There are two language editions of PicoBSD - English and Polish one. You'll
+be probably more interested in the former :-) The only difference is in
+the set of fonts included, C locale, and the language of messages.
+You can download them from www.freebsd.org or one of its mirrors:
+
+
+(See the feature list for more
+details)
+
+The above floppies were built from 3.0-current sources. Though they
+provide more features, they tend to be less stable than the latest
+RELEASE of FreeBSD. Dinesh Nair back-ported these scripts to the
+latest release (2.2.5), and continues development of PicoBSD using sources
+from that branch. You can find floppies built from 2.2.5 sources
+here or at
+his server.
+
+
+How can I use it?
+Previous versions were packed with PKZIP(tm) compatible program - now they
+are simply the raw binary floppy images, so you just need to grab the
+appropriate version of the file.
+
+I assume you will use 1.44MB floppy to boot the system - other sizes
+(bigger) are not tested.
+
+The file 'pb_xx-X.bin' must be written onto a blank floppy. It does NOT
+mean that it can be copied using e.g. DOS 'copy' command. You must use a
+program like
+rawrite.exe
+or
+fdimage.exe
+ to write this file directly on the raw floppy.
+
+Under DOS you would do something like this:
+
+ C:\> fdimage.exe pb_xx-X.bin a:
+
+
+while under Unix you would use something like:
+
+ dd if=pb_xx-X.bin of=/dev/rfd0
+
+
+Then boot off this floppy and enjoy!
+
+If you feel lost, try the 'help' command (it's available only on "dialup"
+floppies)
+
+
+Create your own, custom version of PicoBSD!
+
+I made available also the
+set of tools
+(a.k.a the PicoBSD Development Kit) I used to create the floppies (see also the
+ detailed instructions)
+
+You can also get the copy of
+the CVS repository of
+the project - CVSup operation is still under construction...
+
+ Now, if you don't like the setup of PicoBSD, or you miss
+some program, or (better yet) you want to improve PicoBSD - you can grab the
+copy of exactly the same tools I used and build your own, customized
+ version!
+
+Think of it: if your're an ISP, you can build the dialup version for
+ your customers, including some scripts to automatically connect them to
+your site. You can also create a demo disk for your friend (or your boss! :-)).
+You can also build a firewall/router for your office, etc, etc...
+ possibilities are really endless and limited only by your imagination.
+
+You will need at least 10MB of free disk space for building, and of course
+the full system sources installed. I also assume that the sources are
+quite -current. There is also a back-ported version of the scripts prepared by
+Dinesh Nair which builds ok on
+2.2.6-R systems.
+
+Version 0.31 was packed with pax(1) - newer versions are packed again
+with tar and gzip to avoid confusion... :-)
+
+I'm very interested in hearing from you about your experiences - if you
+come up with a setup you think is interesting, please let me know!
+
+
+Where can I get more info?
+
+Almost all of the programs included on the floppies are exactly the
+same versions as in normal FreeBSD installation, so that the normal
+manual pages apply. However, I didn't include the manpages themselves -
+they would take over 200kB!
+
+ For the total newbies, which would use (I assume)
+the 'dialup' version, there is a short README on the floppy which gives
+step by step instructions on how to get a dialup connection. There is also
+a script called 'dialup' which attempts to configure PPP to allow for automatic
+log in to your provider, and for background operation.
+There is also a small help system ('help' command)
+
+ There are some system utilities which are unique to PicoBSD, and at this
+ moment they are documented in detail only in source and READMEs :-(.
+
+
+As for the new releases which will (hopefully) be prepared in the future:
+just keep an eye on this page. I'll also send announcements to FreeBSD mailing
+lists.
+
+
+Plans for the future
+
+Well, I hope that thanks to your comments I'll be able to continuously
+improve the setup and contents of PicoBSD. I also have specific dreams (if
+dreams can be specific..) - here they are, as an incentive to your
+imagination and coding skills:
+
+-
+To write a command line tool patterned after Cisco IOS, which could configure
+various aspects of router-like version of PicoBSD. I'm nowhere near with this
+goal - I even don't have any good idea how to do it cleanly (I do have some
+ideas, but I classify them as dirty hacks).
+
+-
+To put an XWindow-like GUI on the 'dialup' floppy. (Update: you can look at
+preview
+version and send me your comments).
+
+-
+To gain some experience with solid state disks, and prepare standard images
+for e.g. 4MB versions of SSD, with Cisco 25xx-like contents... I also hope
+ to achieve this goal in the nearest
+future, thanks to involvement of some PicoBSD enthusiast :-)