Experimental Physics and
Welcome to the EPICS community!
David Dudley wrote:
Unfortunately I don't think there is, although there ought to be. However I suspect that in your case the work required shouldn't be very hard since NetBSD is probably pretty compliant with Posix standards.
Here's an outline of the approach you'll need to take:
* Download the EPICS Base R188.8.131.52 tarfile, and unpack it.
* Skim chapter 4 of the IOC Application Developers Guide (hereafter known as the AppDevGuide; our build system is different to the usual "./configure && make" approach.
* Build your <base> on a linux-x86 or solaris-sparc system so you know what a fully built system actually looks and acts like. You can build multiple architectures in the same source tree, which makes for easier comparisons. On linux this should be as simple as
* On a NetBSD system, setenv EPICS_HOST_ARCH to the name for your new architecture, which should probably be netbsd-x86 (or whatever CPU is appropriate).
* In the <base>/configure/os directory, create these files
by copying and editing the files from an existing architecture - I would suggest looking at the darwin-ppc or linux-x86 versions to start with; you should be able to make use of the *UnixCommon* files to do most of the work like they do, assuming this architecture is self-hosting. If you have to cross-compile then there's more work you have to do.
* Running 'make' in the <base>/configure directory should succeed and create an appropriate O.<arch> directory.
* Once you have the new files for the build system, check out the <base>/src/libCom/osi/os subdirectories - these contain any code that has to be OS-specific; in your case the posix and default directories may provide almost all of the implementation you need. Create a new directory named for your OS_CLASS to put any new files in.
* Try running 'make' in the <base> top level directory and see how far it gets.
* Keep us informed of your progress, and don't be afraid to ask questions here and post the errors and locations that you get stuck on, there are lots of people here who should be able to help.
* When you have base built, follow the Chapter 2: Getting Started instructions in the AppDevGuide to create an IOC on the new architecture, and try running it.
* When this works, send me a patch file with your changes and we'll incorporate your new architecture into the next release.
- Andrew -- Not everything that can be counted counts, and not everything that counts can be counted. -- Albert Einstein
|ANJ, 02 Sep 2010||
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·