免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4412 | 回复: 10
打印 上一主题 下一主题

怎样在FreeBSD加载器 (loader)一行上输入两个命令行? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-25 16:32 |只看该作者 |倒序浏览
在FreeBSD启动的第三阶段,/boot/loader,加载器 (loader) 是三个阶段中的最后阶段,我在这个阶段停止后怎样在一行上输入两个命令行?

BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 640kB/252928kB available memory

FreeBSD/i386 bootstrap loader, Revision 0.8
(root@perseus.cse.buffalo.edu, Tue May 25 21:22:31 GMT 2004)
\
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 8 seconds...

Type '?' for a list of commands, 'help' for more detailed help.
ok boot kernel.old && echo  "FreeBSD loader!"
就是当我要在OK后输入 boot kernel.old 加载旧内核,然后执行打印命令 echo  "FreeBSD loader!"
不过loader好像不识别"&&"符号?有没有方法可以做到?

ps:在编译内核的时候可以这样啊: make depend && make

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
2 [报告]
发表于 2008-08-25 16:38 |只看该作者
echo  "FreeBSD loader!"应该没啥意义,
能不能说一说想真正用途,为啥要用两个?

论坛徽章:
0
3 [报告]
发表于 2008-08-25 17:55 |只看该作者
原帖由 wangpeng168 于 2008-8-25 16:32 发表
ps:在编译内核的时候可以这样啊: make depend && make...


&&是shell的操作符号,表示仅当前一个命令的退出状态为0时才执行第二个命令。
以你举的例子就是仅当make depend退出状态为0时才make。。。

loader的命令行没这么高级。

论坛徽章:
0
4 [报告]
发表于 2008-08-25 17:58 |只看该作者
那可怎么办呢?主要是我fstab配错了,mount不上去,
我在loader的时候这样一输入 load /kernel.old
出现这个样子
Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. ufs:/dev/da0s1a
  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot>
所以我想在loader加载的时候更改一下fstab中的配置,但是load完kernel之后就不能输入下一个loader命令了,所以想输入两个命令行一起执行!
有没有其他命令可以更改文件的?
ps:单用户模式也进不去!

[ 本帖最后由 wangpeng168 于 2008-8-25 18:08 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-08-25 18:29 |只看该作者
楼上的错误我上周末正好遇到过,安装gentoo-bsd的时候重启发现这个错误,后来用livecd进去发现是自己太大意了,fstab 里面把 da0 写成 ad0 了,
http://dev.gentoo.org/~the_paya/  到这里下ISO吧,个头也小,解压是百多M,留一个livecd防身是很有必要的
好像有个叫freeBie的livecd,没试过

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
6 [报告]
发表于 2008-08-25 19:00 |只看该作者
先把/手动mount就行了。
cat /etc/fstab后,再根据内容手动mount上/usr,ee和vi就可以用了。

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
7 [报告]
发表于 2008-08-25 21:43 |只看该作者
原帖由 wangpeng168 于 2008-8-25 17:58 发表
那可怎么办呢?主要是我fstab配错了,mount不上去,
我在loader的时候这样一输入 load /kernel.old
出现这个样子
Manual root filesystem specification:
  :  Mount  using filesystem
                ...

只是fs挂接不上,又不是内核错误。
单用户模式引导,手工挂接fs

论坛徽章:
0
8 [报告]
发表于 2008-08-26 10:09 |只看该作者
好的,谢谢大家的回答,还是想着怎么能输入两个命令行,有可能就是loader本身不支持吧!

论坛徽章:
0
9 [报告]
发表于 2008-08-26 11:46 |只看该作者
提示上已经说“输入?号"

loader会显示系统的磁盘设备,然后按照要求输入对应的设备即可,例如

ufs:磁盘设备名(如 ad0s1a)

这种方法是绕过fstab的,只要对应分区数据没有损坏,可以正常引导,剩下的修改fstab就很简单了

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
10 [报告]
发表于 2008-08-26 12:30 |只看该作者
原帖由 wangpeng168 于 2008-8-26 10:09 发表
好的,谢谢大家的回答,还是想着怎么能输入两个命令行,有可能就是loader本身不支持吧!

够呛,那时候还没到shell呢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP