分享
 
 
 

制作U盘启动的RAMDISK为根目录的FREEBSD完全版

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

http://bbs.chinaunix.net/forum/viewtopic.php?t=398680&start=0&postdays=0&postorder=asc

作者:YIWUTIAN

一:制作可以启动的映象文件

1:dd if=/dev/zero of=/mnt/image bs=1k count=50k

用dd命令生成一个文件,名为image,大小为5M。

2:mdconfig -a -t vnode -f image -u 0

建立一个用image为映象的ramdisk,设备为/dev/md0

-a 增加一个ramdisk

-t 代表ramdisk的类型

-f 代表用来作ramdisk的映象文件

-u 为ramdisk的设备号

3:disklabel -Bw /dev/md0

B 安装启动程序到ramdisk的启动标签。

w 用已有的启动程序写标签。(bsd分区)

4:newfs /dev/md0a

为a分区建立UFS文件系统。

5:mount /dev/md0a /mnt/ram

将md0a设备装载到/mnt/ram目录

6:拷贝启动一个bsd系统需要的文件到/mnt/ram:

包括/boot /etc /bin /sbin /dev /lib /libexec /root 等等。

为了方便检查可

ln -s bin sbin

ln -s bin usr/bin

ln -s bin usr/sbin

ln -s lib usr/lib

ln -s libexec usr/libexec

等等。

为了节约磁盘空间。/usr/lib可根据需要的程序拷贝。例如:sshd

ldd /usr/sbin/sshd命令可以列出sshd需要的lib文件,只拷贝需要的文件。

内核最好从新编译,只保留需要的设备。

然后用kgzip /boot/kernel/kernel压缩。

mv /boot/kernel/kernel.kgz /boot/kernel/kernel

修改/etc/fstab

删除不需要的部分(基本上都不需要)

加入

/dev/md0a / ufs rw 0 0

注意后面一定用0 0.否则rc过不了。因为fsck -p不能用到ramdsk上面。

7:cd /mnt

umount ram

卸载ramdisk

压缩image

gzip -9 image

二:制作可以启动的u盘

8:插入u盘(大多u盘都可以启动,大多p4主板都支持usbhdd方式启动)

disklabel -wB /dev/da0

newfs /dev/da0a

(前面讲过的分区,格式化)

9:只拷贝/boot到u盘。删除不要的ko文件

如果内核编译时选择了所有需要的模块可以全部删除ko文件。

10:编辑u盘里的/boot/default/loader.conf文件

在最后面加入:

exec="unset acpi_load"(如果你需要acpi可以不要这行,当然BIOS也必须打开,如果加入这行,bios中acpi必须打开)

exec=".(空格loading kernel空格) cr"(系统执行到这里将显示括号里的内容)

exec="load kernel"

exec=".(空格loading mdimage ) cr"

exec="load -t md_image /image"

去掉vfs.root.mountfrom=""前面的“#”号在“”号中填入:ufs:/dev/md0a

系统将/dev/md0a装载为根目录。

11:将image.gz 拷贝到u盘。

12:启动测试。

备注:

1:在测试image文件是否可用时最好直接试用:

方法:启动系统时出现菜单选6

输入:

unload

load kernel

load -t md_image /mnt/image

set vfs.root.mountfrom=ufs:/dev/md0a

boot

然后系统将不从硬盘启动,而从预先装载的image启动,反复检查出错信息,添加需要的文件。

2:多用ldd命令检查程序执行需要的lib文件。

3:由于系统启动过后可能有需要保存的内容,可以利用cron来解决。

比如我的ppp.secret

我写了个简单的sh 在系统启动时拷贝u盘根目录的ppp.secret 到/etc/ppp/和/tmp

然后写了个比较/etc/ppp/ppp.secret /tmp/ppp.secret的sh如果不同就备份/etc/ppp/ppp.secret到u盘根目录。

相信其他的需要保存的内容也可以参考我的方法。

4:这个东西可以运用到很多地方。防火墙、服务器、甚至工作站(ramdisk非常快)

5:本人系正中bsd菜鸟一个,有不对的地方多多提点。

编者注:关于一、6步下的启动FreeBSD所需要的文件,作者做了如下解释

1:/bin和/sbin全部

ln -s bin sbin

2: /lib和/libexec全部

3:/boot和/root全部.

4:mkdir tmp

chmod 1777 tmp

5: etc全部

6:mkdir usr

ln -s lib /usr/lib

/usr/lib/libo*

/usr/lib/libr*

/usr/lib/libp*

/usr/lib/liby*

/usr/lib/pam*

7:其实最好根据具体应用来决定需要的文件。

8:然后启动系统时系统提示需要的文件

9:由于系统从u盘启动时已经读取内核,所以image文件中可以没有kernel文件。

但是一些可能会用到的ko文件需要放到image中。这样可以减小不少容量。

10:当制作完成后,看看image文件装载到内存中磁盘空间剩余多少,如果剩余较多就需要减小image文件的大小。就是减少dd /dev/zero image bs=1k count=??k中??的数值。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有