由于制作根文件系统时所用的2.95.3工具链与编译程序时所用的3.4.1工具链不同,当程序运行时依赖的是3.4.1版本的工具链中的库文件,如果不进行库文件的升级,运行程序时会导致“找不到指定版本的库文件”之类的错误。最简单的方法是将/usr/local/arm/3.4.1/arm-linux/lib目录下的所有文件全部复制到根文件系统/lib目录下。 或者用arm-linux-readelf查看程序所依赖的动态链接库文件,再进行更新。
于此同时,会有新问题的出现,就是linux启动时所需要执行的init文件无法正常运行,因为它也是基于2.95.3版本的工具链生成的,所以需要用新版本3.4.1的工具链对其进行交叉编译,替换原有的init程序,init程序在/sbin目录下,其为/bin/busybox的链接。更新后,系统可以正常运行了。