How to use Builder to create a Node
This page is intended to formalize how to use the current Builder scripts in the PTP subversion repository.
To build a Captive Portal Personal Telco Branded router on a computer with two ethernet cards and subversion installed on the computer used to run node-preconfig.sh
The current state of builder is a working proof of concept. In the future all of the fuctionality of these process will be part of Adhocracy.
Step One (Prepare the Hardware)
For a matter of maintaining support and stability in a rational way we have choosen to use Debian Woody (Stable) as the Linux distribution to build upon. These scripts expect to find a computer that has a minimal debian install, two ethernet cards, and a connection to the Internet.
partition the hard disk
Currently the most common hard drive size that we have been using is a 2G drive. This is the chosen partition layout. You can make a custom partition layout but must reconfigure grub after builder finishes. For SCSI disks or custom / (root) or /boot partitions, please referance the grub install section of builder or for further information on grub see the grub manual. [http://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-using-grub-install.html] )
256M
Swap
256M
/ (root)
512M
/var
1G
/home
Need explanation of how to assign MOUNT POINTS such as /var, /home & / (root)
as these do not appear as selections when partitioning.
install Debian Woody
1. Perform a minimal stable install easily accomplished with a Debian Stable r3 or r2 netinst disk.
- Install with a 2.4 kernel
- boot: bf24
Do not run tasksel
Do not run dselect
2. Installation will Reboot to finish installation
- Upon Reboot
- only create the root user
- tell the mail subsystem to do nothing
- enable all choices for encrypting passwords (Shadow File and MD5 Encryption)
- answer the default for most other questions (More detail later)
Do not run tasksel
Do not run dselect
Step Two (Create Nodedb Entry)
1. Go to http://maps.personaltelco.net/
2. Create an entry in nodedb which contains the details of the node location.
- Please use the naming scheme
- 'Personal Telco - Node Name'
- Could this be expanded to Personal Telco - Quadrant - Neighborhood - Node Name ?
- e.g. Personal Telco - NE - Kerns - Urban Grind
- Personal Telco - NW - Pearl - Urban Grind
- Could this be expanded to Personal Telco - Quadrant - Neighborhood - Node Name ?
- 'Personal Telco - Node Name'
3. Document the Node number which was assigned to the location.
Step Three (Create Configuration Files)
Define Network Address Allocation
1. Go to the wiki page NetworkAddressAllocations
- define the network that will be used for the node.
Please use network allocations that are efficient for the network you are installing
- ie. You probably don't need to use a full /24
Create files with node-preconfig.sh
1. Create a working directory to run the builder script node-preconfig.sh
Do this step outside of the repository tree if you have a local copy of the ptp repository
- mkdir builder
- cd builder
2. Get the script from subversion that will do the configuration
wget http://svn.personaltelco.net/svn/ptp/code/trunk/builder/node-preconfig.sh
since this is a UNIX shell script, you need a UNIX-like shell to run it; if you have only a Windows box, perhaps try downloading Cygwin, http://www.cygwin.com/mirrors.html Cygwin is a relatively painless way to get a UNIX-like shell on your Windows box.
3. Prepare the script for execution
- chmod 755 node-preconfig.sh
4. Run node-preconfig.sh with the -s option
- ./node-preconfig.sh -s
5. Complete the following questions in a way that is applicable to your node location
NOTE: svn is required for this step.
- [aaronb@laptop builder]$ ./node-preconfig.sh -s
- Node number: 608 Location (20 char. or less): Urban Grind - Pearl District
Contact: ops@personaltelco.net Hostname: grank Domain: personaltelco.net FQDN is grank.personaltelco.net Internet IP address (or 'dhcp'): dhcp Internet DNS address 1: 64.122.195.142 Internet DNS address 2 (or 'none'): 198.107.22.251 [replace the secondary with your ISP's primary dns server IP, there needs to be a tertiary designation with these two being added automatically.] PTPnet IP address: 10.11.47.1 PTPnet network address: 10.11.47.0 PTPnet network mask: 255.255.255.0 PTPnet broadcast address: 10.11.47.255 PTPnet DHCP server pool start address: 10.11.47.50 PTPnet DHCP server pool finish address: 10.11.47.200
- Node number: 608 Location (20 char. or less): Urban Grind - Pearl District
- This will create and commit the configuration files for your node into the repository using svn.
Step Four (Make it all come together)
Obtain and Run node.sh builder script
From the command line on the machine that is going to be the captive portal router
- perform these steps as root in root's home directory.
1. Install wget
- apt-get install wget
2. Use wget to retreive node.sh
3. Make the script executabe
- chmod 755 node.sh
4. Run the script
- ./node.sh [NODEID]
- example: ./node.sh 608
And now watch it go. When this finishes, reboot the machine. Now you should have a working Personal Telco Captive Portal Machine. This includes all services to provide the network infrastructure at the location. All configuration files are stored and managed in subversion.
ALL IS NOT WELL AT THIS POINT You still have some opportuntities!!!
/etc/modules Does not contain the identification of the network drivers which were installed during bf24 installation. You must edit this file to include the driver identification. NOTE It appears that one might look at "svn.personaltelco.net/svn/ptp/system/trunk/node/net/modules-595" as a source of this opportunity as the modules here match what is loaded.
/etc/resolv.conf The nameserver listed/identified does not work and the file must be edited to a working nameserver; HOWEVER even after editing resolv.conf when the system is rebooted, the file reverts to the inoperative nameserver. NOTE It appears that one might look at "svn.personaltelco.net/svn/ptp/system/trunk/node/net/resolv.conf" as the source of the inoperable nameserver. NOTE This is infact supposed to be using 127.0.0.1 as the nameserver. As bind9 is running locally. If on reboot dns is not working we need to discover why bind isn't producing correct lookups locally. We should not be using external dns nameservers in resolv.conf.
A file download/installation is missing. svn co http://svn.personaltelco.net/svn/ptp/web/trunk home/web CAUTION: Watch when you try this download--as I had to repartition the disk to get the complete file.
EVEN AT THIS POINT Apache fails to start.
---
[CategorySoftware] [CategoryNode] [CategoryNuCab] [CategoryDocumentation] [CategoryNetwork] [AaronBaer]