|
Davesworld
|
 |
« Reply #1 on: May 18, 2008, 09:22:03 PM » |
|
Definitely don't run a devel environment for a daily firewall machine. I already made a devel version of Raqcop just for this purpose and since you asked, the devel version is Raqcop with all the compilers and devel libraries from the build process still in it and as such it is HUGE and yes, everything from the compilers, kernel source and all are in it, you are in essence building in the same environment as Raqcop itself was built with so whatever you compile in it will be compiled against the exact environment it is expected to run in. Anything you compile inside can easily be copied out by SFTP. IPCop being a dedicated hardened firewall is built from Linux From Scratch scripts. There is no package manager. It is really akin to the firmware in a commercial router except that it runs on PC and Alpha architectures.
Another thing to note here is how IPCop and in this case Raqcop is built, It is built in three stages by a make.sh script that calls on scripts in the /lfs directory which has a script to build every program. It starts out building the base environment in stage 1 that IPCop itself is built with, if you have a prebuild toolchain in your cache, that takes care of the first stage saving time and host computer mismatch problems. This is all done in a chroot environment and it makes a /build directory that has a full linux folder tree within it. Once it gets through stage 2 then it starts on the actual stage 3 IPCop build where your installer, smp and regular kernel are built. The final stage which may be considered a 4th stage, is the installer stage, it reads a file called rootfiles-386 and whatever is listed is what gets packed into the tarball that goes on the cdrom installer, for the devel version, I simply handmade a rootfiles to include everything. The way the installer works is that it formats the disk, untars the tarball which contains the whole distro onto the formatted drive, asks for a config backup or if not, launches the setup program that is is /usr/local/bin and away you go.
|