如果不需要在 DiskOnChip 上拥有开发环境,则可以忽略此部分。以下步骤将安装在 DiskOnChip 上开发和执行程序所需的必要库和工具。这将完全消除拥有宿主机系统和目标系统概念,因为现在可以在目标系统本身上完成完整的应用程序开发。为此,我们将使用 uClibc,它是一个主要为嵌入式系统开发的 C 库。此外,由于我们在上一节中创建的根文件系统体积庞大(35 MB),我们将删除不必要的文件并使其更小,约为 11MB。
我们将使用来自 www.uclibc.org 的 Buildroot 包来替换 DOC 现有的庞大根文件系统,并安装必要的开发工具链,其中包括 uClibc 库、gcc、g++、make、ncurses、busybox、GNU tar、GNU grep 和 GNU coreutils。有关 Buildroot 的更多详细信息,请参阅 http://buildroot.uclinux.org/buildroot.html。http://www.uclibc.org 网站提供了一个预编译的软件包,其中包含所有工具,可以下载和使用。我们将使用预编译的软件包,该软件包可作为root_fs镜像。有关更多详细信息,请参阅 uClibc FAQ。
请按照以下步骤在您的 DOS 上使软件正常工作
下载root_fs_i386.ext2.tar.gz来自 www.uclibc.org/downloads/root_fs_i386.ext2.tar.gz。
它的大小约为 22MB。实际上,解压缩后会得到一个 100MB 大小的文件。
在以下位置解压文件/usr/src:
tar-xvzf root_fs_i386.ext2.tar.gz
这将创建一个文件root_fs_i386.ext2.
我们需要使用环回设备挂载此文件。执行以下步骤
mkdirroot_fs
mount-o loop root_fs_i386.ext2 root_fs
现在您可以访问文件的内容root_fs_i386.ext2通过root_fs目录。root_fs目录包含许多目录,这些目录构成了根文件系统,例如bin, var, sbin, opt, root, home, etc, usr, lib, tmp, dev,和proc.
的usr和lib目录包含开发工具,如 gcc 和 g++。
替换 DiskOnChip 的bin, var, sbin, etc, lib, usr, proc, mnt, home和opt目录,使用root_fs镜像中的目录。
![]() | 不要替换 boot 和 dev! |
---|---|
的boot目录必须保持不变,因为它包含内核镜像、initrd镜像和 Map 文件,LILO 使用它们将内核加载到内存中。 的dev目录也不应被替换,因为它包含 DOC 的设备节点(替换任务将需要 5-10 分钟。) |