/etc/inet/inetd.confAnd enable/insert the line:
tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpbootAnd then enable the service by running:
inetconvYou may have to create the directory /tftpboot, and make sure it has 755 permissions. I tried to get on with the Solaris 10 DHCP server, and failed, unless I am missing something (probably), then why can't Sun provide a simple text file to edit? To that end I used the Blastwave packaged ISC DHCP reference implementation, which can be found here. You will then need to create and edit:
/opt/csw/etc/dhcpd.conMy configuration file looks like this:
option domain-name "fermit.org"; option domain-name-servers amethyst.fermit.org.uk; default-lease-time 600; max-lease-time 7200; group { host tigger { hardware ethernet 08:00:20:94:5e:57; filename "SUNW.JSIIep"; fixed-address tigger; } }Obviously change the "hardware ethernet" and "fixed-address" entries then start the dhcp server:
/etc/init.d/cswdhcpd startYou can also create a symbolic link to /etc/rc2.d to start the DHCP server on boot. The final thing that needs to be done is to export a file system for the JavaStation: Edit:
/etc/dfs/dfstabAnd add in:
share -F nfs -o anon=0,rw /tftpbootIf you have not enabled the nfs server already then you'll need to run:
svcadm -v enable -r network/nfs/serverRun:
shareallIf you update the dfstab and you already have nfs serving enabled.
http://people.redhat.com/zaitcev/linux/
Either download proll.krups.ID18, or use the tarball at the bottom of this document. A suitable command if you wanted to grab your own copy would be:
cd /tftpboot wget http://people.redhat.com/zaitcev/linux/proll.krups.ID18You'll need to make a symlink, from the file the JavaStation expects in /tftpboot:
ln -s proll.krups.ID18 SUNW.JSIIeAt this point, you could turn the JavaStation on and make sure that you it tries to boot. If you do not see the PROLL box within 30 seconds, something is wrong, and it's time to run snoop. If everything is going to plan, you should see something on the screen like:
JavaStation OpenBoot 3.11.10, 64 MB memory installed, Serial #9723479. Ethernet address 8:0:20:94:5e:57, Host ID: 80945e57. PROLL ID18 Krups BOOTP+IGA+SILO Memory 0=0x0[0x2000000] 1=0x2000000[0x2000000] total 64 MB Booting from network. hme0: HAPPY MEAL 8:0:20:94:5E:57 BOOTP: Sending request: ok netif_rx: dropping type 26, no func netif_rx: dropping type 26, no func fatal.At this point PROLL is trying to find a kernel to load, on the server run:
snoop | grep .PROLAnd turn on the JavaStation, when you see PROLL load, you should also see it asking for a file, this is the filename you need to give to the kernel image, you can work it out, but I find it simpler to snoop! Below is the example from my JavaStation:
moonstone# snoop | grep .PROL Using device /dev/hme (promiscuous mode) tigger.fermit.org.uk -> moonstone TFTP Read "0A000102.PROL" (octet) ^C moonstone#Now we know the filename, we need to grab a kernel image, after a bit of hunting, this one:
http://www.doorbot.com/guides/linux/sparc/x86install/files/vmlinux-2.4.20_krups.bz2
was found to work. Grab it (again into /tftpboot):
wget http://www.doorbot.com/guides/linux/sparc/x86install/files/vmlinux-2.4.20_krups.bz2 bunzip2 vmlinux-2.4.20_krups.bz2 ln -s vmlinux-2.4.20_krups 0A000102.PROLOr again, use the tftp tarball at the bottom of this document. At this point you should have a tftpboot (assuming you dont have any other files for other systems) that looks like this:
moonstone# ls -la /tftpboot total 3592 drwxr-xr-x 2 root root 512 Jan 8 13:51 . drwxr-xr-x 30 root root 512 Jan 8 13:20 .. lrwxrwxrwx 1 root root 20 Jan 8 13:51 0A000102.PROL -> vmlinux-2.4.20_krups lrwxrwxrwx 1 root root 16 Jan 8 13:22 SUNW.JSIIep -> proll.krups.ID18 -rw-r--r-- 1 awr other 89932 Sep 13 2002 proll.krups.ID18 -rw-r--r-- 1 awr other 1733696 Sep 24 23:07 vmlinux-2.4.20_krupsPower cycling the JavaStation should now see it booting Linux and then it should Kernel Panic on being unable to mount a root filesystem. At this point you can deviate and get a full filesystem if you want more from your JavaStation than just an Xterm. I grabbed this minimal filesystem:
http://www.kevinboone.com/javastation_nfsroot_xserver.tar.gz
mkdir /tftpboot/javastation_x_root cd /tftpboot/javastation_x_root wget http://www.kevinboone.com/javastation_nfsroot_xserver.tar.gz gunzip javastation_nfsroot_xserver.tar.gz tar xf javastation_nfsroot_xserver.tarAgain, this is included in my tftpboot tarball. At this point we can set up the directory for the javastation, your IP address will probably be different though:
cd /tftpboot ln -s ln -s javastation_x_root/ 10.0.1.2As the CONFIGURE file within the javastation_nfsroot_xserver.tar states, we need to edit a couple of files, firstly edit:
/tftpboot/javastation_x_root/etc/XF86ConfigAnd modify the "FontPath" directive (3 lines down), make this the box you are intending to run X from, in my case this is a machine called moonstone, my XF86Config line reads:
FontPath "tcp/moonstone:7100"You also need to edit:
/tftpboot/javastation_x_root/etc/XF86ConfigAnd modify the last line, to read:
1:2:respawn:/usr/X11R6/bin/X -query moonstoneAgain, changing moonstone to your host. The final file you will need to edit is:
/etc/hostsAdd an entry for your X server. You can now re-boot your JavaStation, and it should come up with a login screen. A picture of the machine running (with Pride keeping warm!):
If you have more than one X server, you can modify your innittab to use a chooser rather than a query, change the file to read:
1:2:respawn:/usr/X11R6/bin/X -indirect moonstone