Differences between version 3 and predecessor to the previous major change of SoekrisPXEBoot.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Friday, October 1, 2004 11:57:47 am | by MattBrown | Revert |
Older page: | version 2 | Last edited on Thursday, April 1, 2004 11:56:57 pm | by StuartYeates | Revert |
@@ -1,42 +1,31 @@
[CRCnet] uses a lot of [Soekris|http://www.soekris.com] BiscuitPC's and I wanted a nice fast way to install and configure them.
Each soekris has a compact flash slot into which we insert a 64MB compact flash card, this is the system disk. It is mounted read-only during normal operation and we use a custom built linux distribution. The Soekris [BIOS] supports [PXE] booting. The solution that I came up with PXEboots the soekris, copies a basic system onto the flash card, reboots the biscuit PC and configures it automatically, minimal user interaction is required.
-Excellent documentation on how
to make this work can be found at http://www
.chiark.greenend.org
.uk/~peterb/linux/soekris/
+You need two components
to get PXE boot successfully
. A dhcp server and a tftp server to serve up pxelinux and your kernel
.
-! Configuring the PXE Server
-The page above is slightly vauge on how to configure
the PXE server. I used
the PXE daemon available from http://www.kano.org.uk/projects/pxe/, there was no prepackaged version of this available for debian that I could find. You can download my package from http://www.crc.net.nz/software/pxe_1.4.1-5_i386
.deb
+! Configuring DHCP
+You'll need
the following options in your DHCP configuration such that
the machine you want to
PXE boot is passed them
.
-Your pxe
.conf file should look like
- interface=[[INTERFACE TO BIND TO]
- default_address=[[IP ADDERESS OF INTERFACE ABOVE]
+ # Address of the tftp server
+ next-server 10
.1.224.254;
+ # Filename to load off the tftp server
+ filename "pxelinux.";
- #
the multicast ip address
to listen on
- multicast_address=224
..1
.2
+! Configuring TFTP
+If you are running debian, make sure you are using
the tftpd-hpa package. Set your tftproot
to /tftproot. Inside tftproot you need to put the pxelinux
.0 image and create a pxelinux
.cfg directory
. Inside this directory place a configuation file called default. It should contain the following
- # the port to listen on
- listen_port=4011
+ SERIAL ,19200
+ DEFAULT soekris
+ TIMEOUT 30
+ PROMPT 1
+ IPAPPEND 1
- # enable multicast?
- use_multicast
=1
+ label soekris
+ kernel bzImage-2.4.26-bpc-pxe
+ append root
=/dev/nfs nfsroot=10.
1.224.254:/exports/soekris ip=:::::eth0:dhcp panic=10 ramdisk_size=32768 console=ttyS0,19200n8
- # enable broadcast?
- use_broadcast=
-
- # user prompt
- prompt=Press F8
to view menu ...
- prompt_timeout=10
-
- # what services to provide, priority
in ordering
- # CSA = Client System Architecture
- # service=<CSA>,<min layer>,<max layer>,<basename>,<menu entry>
- service=X86PC,,,pxelinux,PXELinux
-
- # tftpd base dir
- tftpdbase=
/tftpboot
-
- # domain name
- domain=[[YOUR DOMAIN NAME]
+You also need
to ensure the kernel image referenced above (in the kernel line) is
in /tftproot
! Installing the Flash Card
Once you have the system PXE booting successfully and loading the [NFS] file system you are almost home and hosed. To achieve the configuration of the machine and install the flash card I simply editted the inittab file on the nfs root to load a shell script rather than spawning a getty. This shell script mounts the flash card read-only and copies a base image across on to it. This step is likely to be very user specific. Once the installation and configuration is complete the biscuit pc can be rebooted and it's up and running.