# 配置内核
make menuconfig ARCH=um
# 编译内核
make linux ARCH=um
到这里似乎很简单,下面需要创建 Linux 根文件系统,也就是除内核以外的硬盘文件,这个根文件系统包括Linux文件组织数,以及启动系统所必须的一些辅助程序。
# 创建一个2G的文件作为硬盘
dd if=/dev/zero of=rootfs.img bs=1M count=2048
# 格式化文件
mkfs.ext3 rootfs.img
# 映射此文件到主机文件夹
mount -o loop rootfs.img /mnt/temp
如此便可通过拷贝文件到/mnt/temp/目录,等同于拷贝文件到rootfs.img硬盘文件。这里可以直接通过主机的文件目录组织去构建跟文件系统,也可以直接安装一个linux到此目录。
bunzip2 DSL-4.4-root_fs.bz2
./linux udba=DSL-4.4-root_fs
运行后出现 Unable to mount root fs on unknown-block(0,0) 错误后程序崩溃,这里可能是内核有关文件系统编译选项的问题,明天继续研究。。。