6. 在 DiskOnChip 上安装开发工具链

如果不需要在 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.htmlhttp://www.uclibc.org 网站提供了一个预编译的软件包,其中包含所有工具,可以下载和使用。我们将使用预编译的软件包,该软件包可作为root_fs镜像。有关更多详细信息,请参阅 uClibc FAQ

请按照以下步骤在您的 DOS 上使软件正常工作

6.1. 步骤 1:获取 root_fs_i386.ext2 的最新副本

下载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.

usrlib目录包含开发工具,如 gccg++

6.2. 步骤 2:替换 DiskOnChip 的根文件系统

替换 DiskOnChip 的bin, var, sbin, etc, lib, usr, proc, mnt, homeopt目录,使用root_fs镜像中的目录。

Warning不要替换 boot 和 dev!
 

boot目录必须保持不变,因为它包含内核镜像、initrd镜像和 Map 文件,LILO 使用它们将内核加载到内存中。

dev目录也不应被替换,因为它包含 DOC 的设备节点(替换任务将需要 5-10 分钟。)

6.3. 步骤 3:修改 DiskOnChip 根文件系统的 etc/fstab

打开新替换的/mnt/doc/etc/fstab并编辑挂载点所在的行/。将该行更改为

/dev/msys/fla1  /  ext2  rw.noauto 0 1

6.4. 步骤 4:重启

从 DiskOnChip 重启并享受 uClibc 开发环境。

您将收到消息

Welcome to the Erik.s uClibc development environment.

整个根文件系统 + boot 目录 + 开发工具占用 84Mb 空间。