Raspberry Pi (PXEPI)
Raspberry Pi (PXEPI)
To anyone interested.
I've been experimenting for the last few days with a Raspberry Pi (Raspbian) PXE server and I must say I am very happy with the results. So far I have wimpe3 installed and windows 7 installations working, I also have Hiremminixp and HiremBootCD working as well. For the linux stuff I have gparted and clonezilla along with Ubuntu net install. I've been using ERPXE for more than 6 months on an HP Proliant server and my PXEPI so far has matched it byte for byte in small deployments. I've managed to boot 4 systems simultaneously off of it with no noticeable drag on its networking capability.
If anyone is interested I would be happy to share my setup along with trials and tribulations of getting this to work.
Let me know.
Just as a jumping off point here are a few problems I did encounter with ERPXE.
Installation.
One of the biggest issues I had getting things working was the DHCP server. I looked and looked for guides and ended up pooling a few of them together from debian.org and fedora to get isc-dhcp-server working with the correct iptables rules to forward information to a USB nic that would get outside internet access for systems to use for net install. Still not quite working the way I would like but I'm getting close.
A couple of ERPXE features I had trouble with.
NFS:
On a fresh install the current nfs for debian wheezy (raspbian build I am currently using) is nfs-kernel-server. The nfs exports file that came with ERPXE created records pointed to /install and /install/dev but those locations did not exist. Once I added the files (I know I could have just as easily removed the line in the nfs config) the errors went away.
HBCD:
Hirens Boot CD 15.2 is out and while I was setting it up, I encounter issues building the ISO. I'm using ISOMaster on a linux system, and even tho the program built the cd properly (worked in the cd tray) I would get random errors about txtsetup.sys or gpt_loader.sys missing even tho they were clearly on the CD. PowerISO only works to 300mb if you are using the trial and since I rarely crack open an ISO I didn't want to shell out money for a program I'll use once. I think 15.1 had it also but 15.2 comes with a cd customizer that works quite nicely. I followed the guide and used the program that came with HBCD to seal it back up and all of my errors went away when booting from the PXEPI.
There were several other issues (some self induced) but these were the biggies.
maybe with a little help at some of my weak spots I can work with the admins to build a Raspberry pi guide.
I've been experimenting for the last few days with a Raspberry Pi (Raspbian) PXE server and I must say I am very happy with the results. So far I have wimpe3 installed and windows 7 installations working, I also have Hiremminixp and HiremBootCD working as well. For the linux stuff I have gparted and clonezilla along with Ubuntu net install. I've been using ERPXE for more than 6 months on an HP Proliant server and my PXEPI so far has matched it byte for byte in small deployments. I've managed to boot 4 systems simultaneously off of it with no noticeable drag on its networking capability.
If anyone is interested I would be happy to share my setup along with trials and tribulations of getting this to work.
Let me know.
Just as a jumping off point here are a few problems I did encounter with ERPXE.
Installation.
One of the biggest issues I had getting things working was the DHCP server. I looked and looked for guides and ended up pooling a few of them together from debian.org and fedora to get isc-dhcp-server working with the correct iptables rules to forward information to a USB nic that would get outside internet access for systems to use for net install. Still not quite working the way I would like but I'm getting close.
A couple of ERPXE features I had trouble with.
NFS:
On a fresh install the current nfs for debian wheezy (raspbian build I am currently using) is nfs-kernel-server. The nfs exports file that came with ERPXE created records pointed to /install and /install/dev but those locations did not exist. Once I added the files (I know I could have just as easily removed the line in the nfs config) the errors went away.
HBCD:
Hirens Boot CD 15.2 is out and while I was setting it up, I encounter issues building the ISO. I'm using ISOMaster on a linux system, and even tho the program built the cd properly (worked in the cd tray) I would get random errors about txtsetup.sys or gpt_loader.sys missing even tho they were clearly on the CD. PowerISO only works to 300mb if you are using the trial and since I rarely crack open an ISO I didn't want to shell out money for a program I'll use once. I think 15.1 had it also but 15.2 comes with a cd customizer that works quite nicely. I followed the guide and used the program that came with HBCD to seal it back up and all of my errors went away when booting from the PXEPI.
There were several other issues (some self induced) but these were the biggies.
maybe with a little help at some of my weak spots I can work with the admins to build a Raspberry pi guide.
Raspberry Pi (PXEPI)
What are the differences between setting up ERPXE on Debian/Fedora and setting up ERPXE on Raspbian/Pidora?
Is there a difference in packages names or any other commands?
Is there a difference in packages names or any other commands?
Re: Raspberry Pi (PXEPI)
As far as the differences in between the Raspbian and Debian install there really isn't any. Not sure about pidora, haven't tried. The install instructions for Debian have been updated for the new package names so it should go smoothly on a clean Raspbian install. Mine worked out of the box, so to speak.
I installed isc-dhcp-server and added rules for DNS forwarding so mine could be a stand alone pxe server along with a USB ethernet adapter so I could connect it to a local LAN for internet access. Not explicitly necessary since the linux net installs and tools like clonezilla and gparted can be booted then disconnected from the PXE server if direct local lan or internet access is needed.
I found out also that if you are going to set your Pi up for headless it might be a good idea to add an ATXRaspi shutdown controller so you can safely power down your Pi without having to ssh into the unit. You can get those at lowpowerlab.com.
I installed isc-dhcp-server and added rules for DNS forwarding so mine could be a stand alone pxe server along with a USB ethernet adapter so I could connect it to a local LAN for internet access. Not explicitly necessary since the linux net installs and tools like clonezilla and gparted can be booted then disconnected from the PXE server if direct local lan or internet access is needed.
I found out also that if you are going to set your Pi up for headless it might be a good idea to add an ATXRaspi shutdown controller so you can safely power down your Pi without having to ssh into the unit. You can get those at lowpowerlab.com.
Re: Raspberry Pi (PXEPI)
My little ERPXE Pi project is going well. I now have everything mounted in a case and all of my plugins work. Even updated a few of them. I have a shutdown/startup controller that is working, and event sounds for start up and shutdown on my server which is connected to speakers to let me know that it is booting and shutting down properly. I would like to set up event sounds for client connection and WAN connection but I haven't figured out where to place the commands yet. Still researching.
Re: Raspberry Pi (PXEPI)
Here is what the project looks like so far if anyone is interested.
I'ts a fully functioning server in a box, complete with ERPXE, dozens of plugins and routing functions and the ability to pass internet to clients.
I'ts a fully functioning server in a box, complete with ERPXE, dozens of plugins and routing functions and the ability to pass internet to clients.
- Attachments
-
- pxepi.jpg (74.87 KiB) Viewed 79296 times
Re: Raspberry Pi (PXEPI)
Thanks!
I'm still working on some improvements. My new memory for It will be here in a day or two and I'll be able to further expand it's capabilities.
I'm still working on some improvements. My new memory for It will be here in a day or two and I'll be able to further expand it's capabilities.
Re: Raspberry Pi (PXEPI)
I've been steadily making improvements, adding new things here or there. Here are some highlights.
Fully functional Portable ERPXE server V1.90
Hardware:
Raspberry Pi
LowPowerLabs ATXRaspi startup/shutdown controller
Super cool green led lets me know it's on
8gb SDHC SD card for OS
32gb Sandisk cruizer fit for /tftpboot/ folder
6 Position Keystone wall plate
2x USB Keystone
1x HDMI Keystone
2x Cat5e Keystone
1x Composit video keystone (RCA)
7 port USB Hub
2x 12V - 5V DC-DC power converters
1x 120V - 12V @ 4A AC-DC Power converter
USB Powered Speakers
2x USB A-A patch cable
1x HDMI Cable
Power Switch for 12V power and momentary switch to activate the ATXRaspi which in turn powers the Pi
All Housed in a Pelican 1490 Case with wood grain door skins for paneling.
Software:
Raspbian
isc-dhcp-server
custom iptables for DNS forward
ERPXE with MANY Plugins installed
Here's the parts
Here it is doing it's job
I should have the SDcard extension in a few weeks then I can go back to working on test installs. I would have swapped cards again today but I had a job come in that I needed the case for and had to rush it back into service.
Fully functional Portable ERPXE server V1.90
Hardware:
Raspberry Pi
LowPowerLabs ATXRaspi startup/shutdown controller
Super cool green led lets me know it's on
8gb SDHC SD card for OS
32gb Sandisk cruizer fit for /tftpboot/ folder
6 Position Keystone wall plate
2x USB Keystone
1x HDMI Keystone
2x Cat5e Keystone
1x Composit video keystone (RCA)
7 port USB Hub
2x 12V - 5V DC-DC power converters
1x 120V - 12V @ 4A AC-DC Power converter
USB Powered Speakers
2x USB A-A patch cable
1x HDMI Cable
Power Switch for 12V power and momentary switch to activate the ATXRaspi which in turn powers the Pi
All Housed in a Pelican 1490 Case with wood grain door skins for paneling.
Software:
Raspbian
isc-dhcp-server
custom iptables for DNS forward
ERPXE with MANY Plugins installed
Here's the parts
Here it is doing it's job
I should have the SDcard extension in a few weeks then I can go back to working on test installs. I would have swapped cards again today but I had a job come in that I needed the case for and had to rush it back into service.
Re: Raspberry Pi (PXEPI)
Just to update, I'm currently on rev 2.0 of my project and have upgraded with a more robust 5v powersupply from Jameco Electronics. I've also learned that the SD card extension for the raspberry pi (in my case anyway) was a complete waste of time and money. Not only did I find it unstable with the Rpi bus but it corrupted my SD card and I had to start from scratch. I should caveot that with the fact that it was at the least a good learning experience as I learned some new things about NOOBS and rpi-update.
That being said, if any of you are interested in doing this with a Rpi and wish to use it with a USB ethernet or wireless card, you will want to set up IP forwarding. Here is a quick lesson
This is now in the repos for the pi. run this to update your firmware this will enable ip forwarding in the kernel
The following with tell the system to allow ip forwarding
and finally set ip forwarding in /etc/sysctl.conf by editing the following line to look like what is shown
As for the ip tables rules there are several schools of thought on how they should be set up, and more than enough answers thru a quick google search, I'm not confident enough that my way is the most correct way to post it here. However the previously mentioned step is not often talked about unless you are searching for it directly, even then not all the steps are given. So if you couldn't get it to work before this is probably why.
Enjoy
That being said, if any of you are interested in doing this with a Rpi and wish to use it with a USB ethernet or wireless card, you will want to set up IP forwarding. Here is a quick lesson
Code: Select all
rpi-update
This is now in the repos for the pi. run this to update your firmware this will enable ip forwarding in the kernel
The following with tell the system to allow ip forwarding
Code: Select all
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Code: Select all
net.ipv4.ip_forward=1
Enjoy
Re: Raspberry Pi (PXEPI)
Time for an update.
V1.2 of PXEPi is completed. I've upgraded the power system to a DC-DC converter from Jameco Electronics that now supplies 5A to the system. I have removed the USB Lan adapter as that was causing some system instability, the lan chip was heating up and causing the ethernet to drop. I ordered a USB wifi adapter and set up my server to connect to a USB powered router I had laying around and now it is much easier to set up when I can't put my system right next to an existing internet connection. I've been running it for about a month this way and haven't had any issues.
V2.0 of PXEPi is in the works. Trying to build a touch screen interface for the system based on the pitft from adafruit. I have the screen working on a test setup with another pi and I'm working on building the procedure calls now. I've got IP addresses which now display on the screen in framebuffer. Next I need to build a graphic and figure out how to change how the system renders text to position the addresses in the correct place. I'm building the python ap in adafruit's WebIDE and storing it on bitbucket. If anyone is interested in helping with development I'll post a link.
I'm hoping to eventually be able to use this to help with configuring IP devices that require specific IP address routing to configure. Setting up static routes is easy, building an interface in python is somewhat more difficult. The development may be a bit slow as I'm new to python but the code seems to be somewhat straight forward.
V1.2 of PXEPi is completed. I've upgraded the power system to a DC-DC converter from Jameco Electronics that now supplies 5A to the system. I have removed the USB Lan adapter as that was causing some system instability, the lan chip was heating up and causing the ethernet to drop. I ordered a USB wifi adapter and set up my server to connect to a USB powered router I had laying around and now it is much easier to set up when I can't put my system right next to an existing internet connection. I've been running it for about a month this way and haven't had any issues.
V2.0 of PXEPi is in the works. Trying to build a touch screen interface for the system based on the pitft from adafruit. I have the screen working on a test setup with another pi and I'm working on building the procedure calls now. I've got IP addresses which now display on the screen in framebuffer. Next I need to build a graphic and figure out how to change how the system renders text to position the addresses in the correct place. I'm building the python ap in adafruit's WebIDE and storing it on bitbucket. If anyone is interested in helping with development I'll post a link.
I'm hoping to eventually be able to use this to help with configuring IP devices that require specific IP address routing to configure. Setting up static routes is easy, building an interface in python is somewhat more difficult. The development may be a bit slow as I'm new to python but the code seems to be somewhat straight forward.