Date: Sun, 16 Jul 2000 09:53:02 -0700 (PDT) From: papowell@astart.com To: dwhite@resnet.uoregon.edu, luigi@info.iet.unipi.it Cc: albert@achtung.com, freebsd-small@FreeBSD.ORG Subject: Re: Any new PicoBSD's based on 4.0?? Message-ID: <200007161653.JAA15619@h4.private>
next in thread | raw e-mail | index | archive | help
> From owner-freebsd-small@FreeBSD.ORG Wed Jun 28 01:23:22 2000 > From: Luigi Rizzo <luigi@info.iet.unipi.it> > Subject: Re: Any new PicoBSD's based on 4.0?? > To: Doug White <dwhite@resnet.uoregon.edu> > Date: Wed, 28 Jun 2000 10:24:39 +0200 (CEST) > Cc: Albert Yang <albert@achtung.com>, freebsd-small@FreeBSD.ORG > > > That was the problem I kept running into. I tried to hack them up to get > > working on 4.0 but had no success. 4.0 has massive kernel bloat. :( > > exactly - this is one (not the only) reason i still stick with 3.5 > on most of my systems. > > > > natd, ipfw, dhcp, and ssh? That would be perfect... > > > > ssh is gigantic. Good luck. > > i managed to put ssh/sshd/scp and all the above on a 3.5-based > picobsd floppy. The thing is, ssh/sshd/scp (both the one in ports and the > openbsd version) are not crunchgen-friendly. They have a lot of > common objects which are not in a library, and reference symbols > with the same name and different implementations in the other > files. Plus if you put them in a library there are clashes with > names in other libraries... > > cheers > luigi > -----------------------------------+------------------------------------- > Luigi RIZZO, luigi@iet.unipi.it . Dip. di Ing. dell'Informazione > http://www.iet.unipi.it/~luigi/ . Universita` di Pisa > TEL/FAX: +39-050-568.533/522 . via Diotisalvi 2, 56126 PISA (Italy) > Mobile +39-347-0373137 > -----------------------------------+------------------------------------- > I have been there before on this one. First, you copy the entire source tree for the items you want to modify, to a new location, just like you did before. Then you find the common object files and put them in a common directory, and build a library, just like you did before. Now you use 'nm' to extract the names of routines that are defined in the library. Now you know what is defined in this libary. You can do one of the following: a) generate a file that redefines the names of the variables or routines defined in the library file. Call it 'noclash.h' #define original original_noclash In each of the non-common files, put the following line at the start of the file: #include "noclash.h" Compile and Voila! You do not get any clashing symbols. b) Write a perl script that has: #/../perl -spi.bak s/\Woriginal\W/\Woriginal_noclash\W/; ... run this perl script on all of the .c files. Compile. You may have a couple of places where you have to hand repair. Do NOT do this. Modify the perl script instead. Patrick Patrick Powell Astart Technologies, papowell@astart.com 9475 Chesapeake Drive, Suite D, Network and System San Diego, CA 92123 Consulting 858-874-6543 FAX 858-279-8424 LPRng - Print Spooler (http://www.astart.com) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-small" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007161653.JAA15619>