我有一个FreeBSD系统的虚拟图像,当我挂载它时,我没有看到/ etc /目录和其他文件,而是文件系统上的一个很大的loader.gz,我认为它是在启动过程。我用gzip解压缩了loader.gz,我得到了它:
$ file loader
loader: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped
使用grep我能够确认我需要编辑的文件在里面,但是我不知道如何编辑它。我试图安装它没有成功。如何修改loader.gz的内容并再次使用?
你能举个例子吗?
我有一个Linux系统和一台Mac来安装工具和这个FreeBSD图像。
请帮助我。
答案 0 :(得分:0)
loader程序通常是内核引导过程的最后一个阶段。
最近的图片应该有另一个签名。例如用于记忆棒图像;
> file tmp/FreeBSD-10.0-RELEASE-amd64-memstick.img
tmp/FreeBSD-10.0-RELEASE-amd64-memstick.img: Unix Fast File system
[v1] (little-endian), last mounted on ,
last written at Fri Jan 17 00:24:02 2014,
clean flag 1, number of blocks 681040, number of data blocks 679047,
number of cylinder groups 13, block size 8192, fragment size 1024,
minimum percentage of free blocks 8, rotational delay 0ms,
disk rotational speed 60rps, TIME optimization
在FreeBSD上安装图像:
# mdconfig -a -t vnode -f tmp/FreeBSD-10.0-RELEASE-amd64-memstick.img -u 1
# mount /dev/md1a /mnt/root/
(Linux具有相同的功能,我只是不记得它的名称。)
此图片包含loader
目录中的boot/
:
# ls /mnt/root/
.cshrc ERRATA.TXT README.TXT boot/ lib/ proc/ sys@
.profile HARDWARE.HTM RELNOTES.HTM dev/ libexec/ rescue/ tmp/
COPYRIGHT HARDWARE.TXT RELNOTES.TXT docbook.css media/ root/ usr/
ERRATA.HTM README.HTM bin/ etc/ mnt/ sbin/ var/
# ls /mnt/root/boot/
beastie.4th check-password.4th gptzfsboot menu.4th support.4th
boot color.4th kernel/ menu.rc userboot.so
boot0 defaults/ loader* menusets.4th version.4th
boot0sio delay.4th loader.4th modules/ zfs/
boot1 device.hints loader.help pmbr zfsboot
boot2 firmware/ loader.rc pxeboot zfsloader*
brand.4th frames.4th mbr screen.4th
cdboot gptboot menu-commands.4th shortcuts.4th
在我的FreeBSD 10系统上,加载器有另一个签名;
/boot/loader: FreeBSD/i386 demand paged executable