遇到的问题:

1.开机报错:

在做完整个系统之后重启出现了这个报错

VFS: Cannot open root device "sda2" or unknown-block(0,0)
Please append a correct "root=" boot option;here are the available partition 0b00 1048575 sr0 driver: sr
kernal panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

搞了好几天最后终于找到原因:

找到虚拟机配置文件的“.vmx",vmware默认的是LSI Logic,找到 ".vmx" 文件 里的scsi0.virtualDev = "lsilogic" 
改为 scsi0.virtualDev = "buslogic“

详情参照一下摘抄:

这两天一直在安装lfs6.2,安装到最后编译完内核,修改完fstab,最后安装grub后,启动lfs报错提示
VFS:Cannot open root device "sda" or unknow-block(0,0)
Please append a correct "root=" boot option
kernel panic:VFS:Unable to mount root fs on unknown-block(0,0)
看到这个错误的时候,我快崩溃了,我等了这么久,到最后一步出现了这个错误。大概意思是没有把root文件系统所在的硬盘控制器的驱动编译到内核中去,编译的时候我选择了scsi驱动了很奇怪,于是开始goole,baidu得到结果,大多都是集中在:
Device Drivers--->SCSI device support--->SCSI disk support
Device Drivers--->SCSI device support--->SCSI low-level drivers--->BusLogic SCSI support 一、磁盘(!!!)
在选择模块前,要先弄清楚VMware虚拟机的硬件类型,下面这个表是VMware6中自定义虚拟机配置时给出的配置,不难发现当您使用 VMware推荐向导给出的配置时,实际使用的是SCSI类型设备中的LSI Logic设备。这里要注意的一个地方是,既然有两个SCSI设备能够供其选择,那么该如何判断呢?很简单,因为他是通过内核主版本号来划分的。感兴趣的 朋友能够通过新建虚拟机Custom-Linux下Version列表中Other Linux2.6.X kernel 和 Other Linux2.4.X kernel来比较。2.4内核之前使用BusLogic,2.6内核使用的是 LSI Logic 。
VMware 6.0:
I/O ADapter Types
IDE adapter: ATAPI
SCSI adapter: BusLogic
LSI Logic
这是Other Linux2.6.X kernel配置系统信息
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01) 这是Other Linux2.4.X kernel配置系统信息
00:10.0 SCSI storage controller: BusLogic BT-946C (BA80C30) [MultiMaster 10] (rev 01)
现在分别介绍模块选择路径
这个是SCSI磁盘设备模块,必须选择。
Linux Kernel Configuration
-> Device Drivers
-> SCSI device support
- > SCSI disk support
这个是BusLogic设备驱动模块。使用这个设备的的朋友需要选取。
Linux Kernel Configuration
-> Device Drivers
-> SCSI device support
-> SCSI low-level drivers
-> BusLogic SCSI support (这里一定要选上)
这个是LSI Logic设备驱动模块。使用这个设备的的朋友需要选取。
Linux Kernel Configuration
-> Device Drivers
-> Fusion MPT device support
-> Fusion MPT (base + ScsiHost) drivers 我的内核是kernel-2.6.16.27,但是安装了上面提示的Fusion MPT (base + ScsiHost) drivers。问题依旧存在.所以我修改虚拟机的“.vmx",vmware默认的是LSI Logic,找到 ".vmx" 文件 里的scsi0.virtualDev = "lsilogic"
改为 scsi0.virtualDev = "buslogic
从新编译内核,启动系统`终于跳过了

 2.网卡不能识别:

另一个问题是关于网卡的:

  这个设备和内核版本没有关系,下面是系统信息参考:

02:00.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
  
  Linux Kernel Configuration
  -> Device Drivers
    -> Networking support
       -> Ethernet (10 or 100Mbit) -> [*] EISA, VLB, PCI and on board controllers
-> <*> AMD PCnet32 PCI support -> <*> AMD 8111 (new PCI lance) support VMWare 所支持的网卡类型
它默认是虚拟的AMD PCNet AM79C970A网卡,但也可以改变网卡配置,虚拟出Intel(R) PRO/1000和VMware PCI Ethernet Adapter网卡。 如果在.vmx文件中用如下语句指定: ethernet0.virtualDev = "e1000" 其值为e1000指定网卡类型为Intel(R) PRO/1000 其值为vlance指定网卡类型为AMD PCNet AM79C970A(默认为此项) 其值为vmxnet指定网卡类型为VMware PCI Ethernet Adapter

我的网卡就是没有识别,在vm配置文件中加上

ethernet0.virtualDev = "e1000"
就可以识别到网卡了。 3.用户添加和验证问题
如果直接复制系统或自己手写这些配置文件的话往往会出现问题,有时候导致root不能远程登录,
我发现了一个更加简单的方式来利用busybox自带的adduser来添加用户并且验证,而且不用自己手动去改配置文件因为他会自动生成。。。。。。

4.添加telnet功能


 5.通过udhcpc自动获取ip和dns

busybox中udhcpc的默认script脚本地址为
#define DEFAULT_SCRIPT   CONFIG_UDHCPC_DEFAULT_SCRIPT
#define CONFIG_UDHCPC_DEFAULT_SCRIPT "/usr/share/udhcpc/default.script"
我想之所以以它作为默认地址,肯定有他的道理,所以在这个地址上创建它[luther.gliethttp]

luther@gliethttp:/vobs/initramfs$ mkdir usr/share/udhcpc/ -p
luther@gliethttp:/vobs/initramfs$ cp ~/busybox-1.14.3/examples/udhcp/simple.script usr/share/udhcpc/default.script
luther@gliethttp:/vobs/initramfs$ chmod +x usr/share/udhcpc/default.script
在/etc/inittab中加入下面一行语句:
::once:"/sbin/udhcpc >/dev/null 2>&1" # udhcpc会退出,所以不能使用respawn,必须为once,1次,否则将一直出现udhcpc重启log信息
就这样简单的几行ip和dns就能自动获取了

也可以用脚本,详情参考:http://blog.chinaunix.net/uid-20564848-id-73955.html

6.手动设置IP的方法 

参考:http://wenku.baidu.com/link?url=sHx_Oyro5fi6Exb09aF0-pKmzC0Cktzh-ilz6DQGYI6CpsdOfH6HLZWesJYWHubihRptBdsp8tnpLaNj6c-i8-duvN7kuUzLLIZTAPGYv4W

7.关于虚拟终端登录的问题

要设置成下面这样才能让6个终端正常登录在inttab文件中

::sysinit:/etc/init.d/rcS

tty1::respawn:/sbin/getty  tty1
tty2::respawn:/sbin/getty tty2
tty3::respawn:/sbin/getty tty3
tty4::respawn:/sbin/getty tty4
tty5::respawn:/sbin/getty tty5
tty6::respawn:/sbin/getty tty6 ::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

8.关于能ping通IP不能ping通域名的解决方法

这个问题一度弄得我几乎崩溃!!!!

网上找资料大部分说是busybox的源码问题

后来经过要死要活之后我终于发现了

要将宿主机的lib64目录下和usr/lib64下面所有以libresolv*开头的库文件复制到宿主机!!!

在用busybox制作系统过程中遇到的问题的更多相关文章

  1. 嵌入式Linux启动过程中的问题积累

    嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...

  2. Linux内核,文件系统移植过程中出现的一些问题与解决办法

    1.bootm地址和load address一样 此种情况下,bootm不会对uImage header后的zImage进行memory move的动作,而会直接go到entry point开始执行. ...

  3. RT3070 USB WIFI 在连接socket编程过程中问题总结

    最近耗时多天,成功的将RT3070驱动.并解决了socket的网络编程,成功的在BA9G10上面实现了USB wif.连上家里的无线路由器,通过ubuntu下面建立的服务端程序,将BA9G10中的数据 ...

  4. WINDOWS系统下MYSQL安装过程中的注意事项

    1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...

  5. 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

    SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...

  6. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  7. C语言调试过程中duplicate symbol错误分析

    说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...

  8. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  9. Atomikos的使用过程中要注意的事

    在使用Atomikos过程中遇到的一些问题,以作记录: MySQL does not support TMJOIN MySQL does not allow for joining an existi ...

随机推荐

  1. boostrap折叠,jquery ui accordion同时打开多个标签

    http://caibaojian.com/bootstrap/javascript.html http://www.w3cschool.cc/jqueryui/example-accordion.h ...

  2. springmvc4+hibernate4+spring4注解一对多级联保存

    package com.h3c.zgc.user.entity; import java.util.HashSet; import java.util.Set; import javax.persis ...

  3. Mongodb数据库加密存储(python)

     需求: 不知道大家有没有遇到过这样的需求:自己的服务器出于对数据库安全的保护,需要对存储的数据进行加密保护.这样万一数据库被人拿到,别人也不能拿到数据库里面的内容.这里还有一个前提:前端的展示页面是 ...

  4. 基于php5.6 php.ini详解

    PHP中auto_prepend_file与auto_append_file的用法 第一种方法:在所有页面的顶部与底部都加入require语句.例如:?123require('header.php') ...

  5. PHP的排序函数的总结

    Sort     破坏索引 升序    值排序 Rsort    破坏索引 降序    值排序 Asort    保持索引 升序     值排序 Arsort   保持索引 降序     值排序 Ks ...

  6. php5-fpm.sock failed (13: Permission denied) error

    In order to fix the php5-fpm.sock failed error follow these instructions 1) Make sure your virtual h ...

  7. phpcmsv9的评论分表策略

    comment_table表 comment表 comment_data_x表 我们留意到: comment_table表统计每个comment_data_x表里面有多少条记录, comment表只是 ...

  8. JS中的混合模式

    function Animation(list) { this.box = document.getElementById(list.id); this.size = list.size; this. ...

  9. Python之编写函数

    Python之编写函数 在Python中,定义一个函数要使用 def 语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回. 我们以自定 ...

  10. ASCII字符对照表 不时之需

    ASCII可显示字符 二进制 十进制 十六进制 图形 0010 0000 32 20 (空格)(␠) 0010 0001 33 21 ! 0010 0010 34 22 " 0010 001 ...