Next Previous Contents

4. Packages

4.1 Can I add any other commands or files I might need, if they are not in a package ?

Yes. The LRP is real linux, don't forget that. Just copy it over (and any libraries it needs) and back up the root.

4.2 My binary is huge, it doesn't fit. How did you get it so small ?

First of all, did you strip the binary (man strip) Second, check how you linked the binary. Is it staticly linked ?

4.3 I added a binary but LRP says: XXX: not found ?

The most common reason for this is that you lack a library on LRP that does exist on the Linux distribution you used to create the binary. If using an old Linux Distribution (RedHat 4.*, Debian 1.1, Slackware x.x) you probably have the old C library. LRP uses GNU libc, aka glibc, aka libc 6. The old libc 5, aka a.out has been used on old LRP versions. On full blown Linux distributions, you cna have both. On LRP there is no space, hence there is only one, the latest one. libc 6.

Another reasing is your binary got linked against another library that you have on your distribution, but not on your LRP disk. Use the ldd (man ldd) command to find out which.

paul: LRP might use some smart script to toss out all functions in libc that aren't used in a set of binaries to make the libc smaller. Adding a binary might add the neccesity to redo this if another function was called. Dave?

4.4 What is the procedure for getting binaries onto an LRP disk ?

tftp, sneakernet, or scp (using sshd package) or create a real .lrp package

4.5 My own made package doesn't backup and does really odd things like givingpermission denied errors all over the place !

You were a Good Hacker[tm] and didn't make the package as root. So when you tarred up the files they were owned by you and not root. Try adding the options --owner=root and --group=root as options to tar.

Ofcourse, it could be much simpler. you didn't add the correct lrpcfg files in the /var/lib/lrpcfg/packagename directory and LRP doesn't KNOW it has to backup your files.

4.6 I have tons of spare time. What package could I do ?

Nice pointers to things we might like to see as LRP package Jonathan French seems to have ideas (?) PIKT

ntop would be cool to have iplogger-ident-1.1.tar.gz also

4.7 What distribution can I use ? (fixtitle)

Basically any sane modern distribution should work fine. Any modern Linux distribution uses this (eg: RedHat 5.x, Debian 1.3/2.x, SuSe?, TurboLinux ? and perhaps even some Slackware's)

It depends on how those binaries were made. Since LRP, like all modern distributions, uses the GNU C library, you can't use old distributions. So in that respect Debian "bo" and Redhat 3.x/4.x is are out (pun intended)

A second thing however, is the library dependancy. A full distribution has a lot more libraries then we can fit on a floppydisk, so some shaded libraries will be missing or be reduced in functionality on LRP. So you might need to recompile some things and add some static library calls if you do.

You might need to use some tools to extract the source from a distribution binary. Useful tools are "rpm" and "alien". Usually you can get the source from the distribution package as well. for RedHat you still need to use rpm to get "fixed" source (I think rpm -b to build it from the spec after downloading the source RPM). It's easier for Debian, where you can get the [packagename].orig.tar.gz and the [packagename].diff.* files.

4.8 How do I add a package ?

Old LRP:

Put the package (ie ppp.tgz) on the root of the boot medium. Add the package name (ie ppp) to the /var/lib/lrpkg/root.map file (Also on system menu). Back-up the root package from the menu system and then reboot.

Recent LRP:

Put the package (ie ppp.lrp) on the root of the boot medium and add the string "ppp" to the LRP= boot paramter of your bootloader (eg syslinux.cfg) Cave-at: There are some bugs in syslinux, if you notice your package isn't getting loaded, add a dummy package to the LRP= line. It seems on some versions, it's not loading the last entry on the list.


Next Previous Contents