在公司或学校的实验室中,PC的性能一般来说不会太高,用PC来编译Linux内核和模块的速度总会受限。相反,服务器的资源相对比较充分,CPU以及磁盘性能都较高,因此在服务器上进行内核、驱动及应用程序的编译开发将更加快捷,而且使用服务器更有利于统一管理实验室内的所有开发者。图3.13所示为一种常见的小型Linux实验室环境。
在Linux服务器上启动了Samba、NFS和sshd进程,各工程师在自己的Linux或Windows客户机上通过SSH用自己的用户名和密码登录服务器,便可以使用服务器上的GCC、GDB等软件。
在Windows下,常用的SSH客户端软件是SSH Secure Shell,而配套的SSH Secure File Transfer则可用在客户端和服务器端复制文件。在Linux下可以通过在终端下运行ssh命令连接服务器,并通过scp命令在服务器和本地之间复制文件。
图3.13 小型Linux实验室环境
目标板、服务器和客户端全部通过交换机连接,同时客户端连接目标板的串口作为控制台。在调试Linux应用程序时,为了方便在目标板和开发环境间共享文件,有时候可以使用NFS文件系统。编写完成的应用程序或内核模块可直接存放在服务器的NFS服务目录内,而该目录可被目标板上的Linux系统装载到本身的一个目录内。