The latest version of kernel used for Materhorn at the time that this howto was written is 2.2.13.
The Materhorn may be used and distributed freely under GNU GPL
but for details of any issues related please consult the many authors of the various components
who should be considered more definative than this faq if any conflict arises. The main website for
Materhorn's email address is: Matthew Grant
The Materhorn is freely distributed under GNU General Public License so please give credit where due to its authors, and almost certainly will remain to be so in future. Read 'COPYING' for a copy of GNU GPL.
The central site for the distribution of the Materhorn is: http://lrp.plain.co.nz/linux-router/dists/
Some other mirrors may be available please email the author of this document should you become aware of it to append to this list. :'))
First you need to determine what *.lrp packages that you are planning to use for the Materhorn. Note
that in this case as in most cases of optimization less is more. This is also required since the number
of packages that you can install on Materhorn is dependent on floppy space. I have taken the liberty of
providing hyperlinks to the 'required' LRP files that you will need to build a base system from there
you can always expand;-})
1- You need to create a new device in /dev/fd* directly related to the size of floppy you wish to make. This
is a recommended size and i can't really comment when you will hit the wall if you go larger. There are
limitations that you should be aware of however. Please see
Booting Linux with higher density floppy disksThis document describes the why 4 how how very precisely.
Anyways lets make a 1.722 Meg floppy device right now with the following command. It is important to mention
that the b indicates block device. The 2 indicates the major number in common for all fd* devices in /dev .
The 60 reflects a unique number to identify the device with the kernel.
#mknod -m660 /dev/fd0u1722 b 2 60
The above command makes a device called fd0u1722 with a major block number of 2 and a minor block number of 60.
2- We now need to use the superformat command that we obtained from the programs described as pre-install
of Materhorn requirements. proceed at the command prompt with a:
#superformat -s /dev/fd0u1722
This will superformat the floppy disk to a size od 1.722 Meg for your use. You just completed the hardest part
of the Materhorn install the rest comes much more quickly.
3- Now grab the lrp packages immediately below. Place them somewhere safe on your hard drive where ever that
is;-)) My suggestions is use these as a template and remember.."MAKE COPIES".
3a- We need the linux operating system the brains of this operation. Get linux kernel here and place
it in the safe place i mentioned on your hard drive. *REMEMBER: When downloading these files with Netscape
you need to hold the
3b- Next we grab the 'root.lrp' this is a essential package. We grab the root.lrp here .
3c- Followed by the 'modules.lrp' which contains the modules we want and need to run some services and in order to have support for
some of the network cards. We grab the modules.lrp here . I feel that is important to
mention that i use exclusively 3c509s and 3c905s so i can't comment on other cards. so YMMV
3d- Now grab the 'etc.lrp' package this contains your file structure for the /etc as you would normally
expect in linux or other *Nix based systems. You will not actually edit these files manually but will use
the "Linux Router Project -- configuration menu""
3e- It is a nice feature to be able to produce logs and troubleshoot problems with help from the system.
This is done with 'log.lrp' so lets grab log.lrp here At this time we
have all the lrp packages we need for a base lrp using all static ip addresses. With the exception of
the syslinux.cfg and syslinux.dpy which are supplied below..
3f- If we are going to need to deal with dynamic ip address assignments from our provider we need 'dhclient.lrp'
so lets grab dhclient.lrp here as we need this package to deal with
this issue.
3g- Now we need to edit 'syslinux.cfg' but first we need to grab syslinux.cfg here as well
as syslinux.dpy for our bootup display. The one we need to alter is
syslinux.cfg file so we will do this in vi.
3h- Proceed as follows with vi:
$cd my-materhorn-file-directory
$vi syslinux.cfg
# <- the pound sign is how i will indicate my comments while you are in vi
# move your cursor to line four which starts with 'append=' goto "ramdisk_size=" and change the numbers to..
# "ramdisk_size=6184" This is done by moving your cursor to the number immediately after the equal sign in
# "ramdisk_size=" and enter 'dw' on your keyboard. This removed the number there. Then enter 'i' on your
# keyboard and insert the numbers '6184' this is what is required there. Then using arrow key move over to
# where the words "LRP=" are and change the string after the "LRP=" to "LRP=etc,log,modules" for a static
# Materhorn or "LRP=etc,log,modules,dhclient" for a dynamically assigned based Materhorn. Remember in order
# to remove words use a 'dw'. To insert words use a 'i' and to remove characters one at a time use a 'x'
# changes are written to file using a
3i- Now lets mount the floppy drive so we can pour the packages over to it. do a:
$su -l root
#mount -tmsdos /dev/fd0u1722 /mnt/floppy
#cp $my-materhorn-file-directory/* /mnt/floppy
#umount /mnt/floppy
3j- Your now ready to bootup your Materhorn! celebrate watch reruns of 'Matrix' and enjoy
a cool one;-))
3k- boot your LRP floppy and watch the screen as the diagnostic messages swirl by..When you
get the 'login:' prompt you need to enter 'root' as your username. Then hit the enter key
for your password. Note: Always change this password immediately especially if on a network
else you might be in for some surprises.
3l- Before you is a pleasing sight the "Linux Router Project -- configuration menu" you need to
enter '1' for 'Network settings' and then '1' again for Network Configuration. This is the key
area you should learn to love. Scroll down to the area called 'General Settings' this is where
we begin the custom configuration stuff for you. Note that unlike 'vi' this script is edited
much like a standard editor the only commands you need know is
# Under General Settings heading
VERBOSE=YES
MAX_LOOP=10
IPFWDING_KERNEL=FILTER_ON
IPALWAYSDEFRAG_KERNEL=YES
CONFIG_HOSTNAME=YES
CONFIG_HOSTSFILE=YES
CONFIG_DNS=YES
# Under Interfaces heading - Pay attention here..
IF_AUTO="eth0 eth1"
IF_LIST="$IF_AUTO"
ALLIF_ACCEPT_REDIRECTS=NO
DEF_IP_SPOOF=YES
DEF_IP_KRNL_LOGMARTIANS=YES
BRG_SWITCH=NO
BRG_EXEMPT_PROTOS=""
#eth0_IPADDR=aaa.bbb.ccc.ddd
#eth0_MASKLEN=24
#eth0_BROADCAST=aaa.bbb.ccc.255
# Note that the last 3 lines if using static need to contain a valid ip address with the pound sign removed
#eth0_DEFAULT_GW=aaa.bbb.ccc.ddd
# Note the above line is the default gateway that you isp has assigned please check with them..or if dynamically assigned comment out as shown.
eth0_IP_SPOOF=YES
eth0_IP_KRNL_LOGMARTIANS=YES
eth0_IP_SHARED_MEDIA=NO
eth0_BRIDGE=NO
eth0_PROXY_ARP=NO
eth0_FAIRQ=NO
eth1_IPADDR=aaa.bbb.ccc.ddd
eth1_MASKLEN=24
eth1_BROADCAST=aaa.bbb.ccc.255
eth1_IP_SPOOF=YES
eth1_IP_KRNL_LOGMARTIANS=YES
eth1_IP_SHARED_MEDIA=NO
eth1_PROXY_ARP=NO
eth1_FAIRQ=NO
# under IP Filter setup heading
IPFILTER_SWITCH=firewall
SNMP_BLOCK=YES
SNMP_MANAGER_IPS="aaa.bbb.ccc.ddd"
EXTERN_IF="eth0"
# Note Under start of changes by Charles Steinkuehler for DHCP
# if you are using static your 'nearly' done if not use settings below..
EXTERN_DHCP=YES
IF_DHCP=$EXTERN_IF
EXTERN_DYNADDR=NO
# Under This is easy...use if you have a static IP
EXTERN_IP=0.0.0.0
# above line would for static have a real ip address
EXTERN_TCP_PORTS="0/0_ssh"
# Under Internal interface
INTERN_IF="eth1"
INTERN_NET=aaa.bbb.ccc.0/24
INTERN_IP=aaa.bbb.ccc.ddd
MASQ_SWITCH=YES
# Under Hostname
HOSTNAME=myhostname
# Under Hosts file
HOSTS0="$eth1_IPADDR $HOSTNAME.private.network $HOSTNAME mr rtr"
# Under Domain Search Order ...
DOMAINS="private.network"
DNS0="your-1st-dns-ip-addr"
DNS1="your-2nd-dns-ip-addr"
# REMEMBER YMMV
3m- now you need to 'save' your settings so do a
3n-Type a 'q' to quit this screen. You will arrive back at a screen that under the 'b)' you see what is
called 'Back-up ramdisk' "do that now!" saving changes to the floppy disk. answer all the prompts and
when completed you will have your changes saved.
3o- now reboot your system however you prefer.. with a 'init 6' or a 'reboot' or whatever you decide.
3p- When you have successfully rebooted the Materhorn obtain the '#' prompt and do a 'ip addr show' this
command will display exactly what interfaces have been recognized. You should see all your interfaces with
the exact ip addresses that are mapped to the actual physical network device. To test that they are up and
listening ready to work for you do a 'ping aaa.bbb.ccc.ddd' where the aaa.bbb.ccc.ddd is the actual ip
address that you have assigned. This should do it! If you can ping your interfaces then first ping the
gateway you provided in the /etc/network.conf and if that works as well try a real address by name out
on the Big I. If you get a reply you are ready for action so surf to your hearts content from then on!
3q- REMEMBER TO CHANGE AND SAVE THE CHANGES TO YOUR PASSWORD TO THE FLOPPY AS THE DEFAULT IS BLANK..
you do this with a 'passwd' then follow the prompts.
First of all, read the READMEs included and not included but available at the download sites which
should answer any questions you have regarding the building of the Materhorn.
Then and only then either contact the author of this document (which is probably
not the best idea due to this author is receiving 300 - 500 emails daily) or you
might try
AFAIK other than linux the only other confirmed version that Materhorn has been ported to is linux :-)) There is really no need now for any others ;-))
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter