# cd /tftpboot # chmod 0555 zImage # chown root:root zImage # mknbi-linux zImage --output=kernel --rootdir=/nfsroot |
如果您使用的是 LanWorks EPROM,还要执行以下命令(您需要 imggen 实用程序)
# mv -f kernel tmpkernel # imggen -a tmpkernel kernel # rm -f tmpkernel |
您的内核已准备好用于 BOOTP/DHCP/ROM 操作。当然,如果您计划使用本地驱动器,则无需执行此操作。
现在是概述在使用 initrd 时会发生什么的时候了。有关此的完整文档在您的内核源代码树中,位于Documentation/initrd.txt文件中。我必须警告您,我从未尝试过这个 :)。
# mke2fs -m0 /dev/ram0 300 |
# mount -t ext2 /dev/ram0 /mnt |
复制您新的根文件系统所需的内容,并创建您未来的/linuxrc如果您没有在/tmp/rootfs/linuxrc:
# cp -a /tmp/rootfs/* /mnt |
# umount /mnt |
# dd if=/dev/ram0 of=initrd bs=1024 count=300 # freeramdisk /dev/ram0 |
上面关于 LanWorks PROM 的内容也适用于您使用 initrd 的情况。然后,您必须使用 mknbi-linux 实用程序修改内核镜像,如上所述。尽管如此,它的调用会与上面的略有不同(我将假设您刚刚编译的 zImage 位于/tftpboot/zImage,而您的初始 ramdisk 镜像位于):
# cd /tftpboot # chmod 0555 zImage # chown root:root zImage # rdev zImage /dev/ram0 # mknbi-linux zImage --output=kernel --rootdir=/dev/ram0 /tmp/initrd |