Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
UNIX to Linux(R) Porting: A Comprehensive Reference Review by Paul M. Dubuc
A very valuable and comprehensive guidebook
This book came out at just the right time to help with a large Solaris to Linux porting project. It's written by three IBM engineers who have a lot of experience doing Linux ports. There are a few introductory chapters that discuss many important things to consider in planning and scoping the porting project. These are followed by three chapters that go into great detail on what is involved in porting to Linux from Solaris, AIX and HP-UX (the three most popular UNIX variants). There is also a chapter that covers the use of Linux tools for application testing and debugging and a series of appendices. This is a very good collection of information to have all in one book. It would take quite a bit of digging through manuals and searching in the Internet to come up with information of this quality and detail. The detailed sections cover differences in compilers, linkers, debuggers, shell scripts, threading APIs, signals, system calls, libraries and other system facilities. I can't think of any area that the authors haven't addressed. The book definitely lives up to its subtitle, "A Comprehensive Guide." Note that it doesn't claim to be a "cookbook". Porting is too complex a task for that sort of approach. As and effective guide this book will save huge amounts of time and effort on the porting project and help make sure that you address all the important issues in planning the project.
One approach to porting that the book perhaps doesn't stress enough is a phased approach. The greatest advantage of Linux as a porting target is that all the development and debugging tools that are native to Linux are also available on UNIX. You can start by porting your applications to the GNU compilers, linker and assembler (binutils). All the necessary GNU development tools are available or can be built to run on a wide variety of UNIX platforms (and Microsoft Windows). You can get much of the porting work done without leaving your current operating system or hardware.
If you are not porting from Intel (or Alpha) based hardware, the endian byte ordering of your data could be a big issue. The book touches on this and gives some good pointers to places to look for help but I would like to see this issue addressed in more detail. It's a serious issue that can be the source of elusive runtime problems in a ported application.
Overall this is an excellent book.