在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

内核编译和嵌入式产品的设计与开发
回复
头像
rzr
帖子: 29
注册时间: 2011-03-12 17:53

在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

#1

帖子 rzr » 2013-08-03 22:55

之前一直是在虚拟机上的ubuntu11.04系统上进行学习,因为感觉windows系统其他功能使用得比较少,想直接切换到本机的linux系统上进行学习,系统是ubuntu12.04。
要用到的软件都搭建好后,打开开发板,发现宿主机上的有线连接(eth0)始终没有自动连上。在虚拟机上开发的时候本地的有线连接都是进入系统的时候就直接连接上的状态。但是在本机系统上就没有这样显示,但在开发板uboot命令行下使用ping或者tftp等指令连接宿主机时,开发板网卡灯会亮,宿主机的ubuntu12.04也会暂时显示说有线连接已连接上,ping提示说宿主机ip是alive状态,但tftp也始终没能下载下来东西,一直是check sum bad。
而宿主机ping开发板的ip泽是ping不通的状态,ping的时候开发板的网卡灯也没有亮。
开发板进入文件系统后,想mount主机上的文件夹也没能成功。
希望大家可以指点一下小弟,谢谢~
上次由 rzr 在 2013-08-06 7:00,总共编辑 1 次。
头像
rzr
帖子: 29
注册时间: 2011-03-12 17:53

Re: 在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

#2

帖子 rzr » 2013-08-04 12:33

经过一些修改之后,在uboot下可以用tftp下载内核了。如果是进入烧录的ubi文件系统下,再mount宿主机上设定的NFS文件夹也是成功的(进入文件系统后开发板的网卡就上电了,宿主机上也会显示有线链接已连接)。
但是如果直接挂载NFS文件系统作为根文件系统还是不能成功。
下面是在虚拟机(ubuntu11.04)下开发板以NFS文件系统作为根文件系统时输出的部分信息:

代码: 全选

s3c-sdhci s3c-sdhci.1: clock source 2: mmc_bus (24000000 Hz)
mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
asoc: wm9713-hifi <-> samsung-ac97 mapping ok
ALSA device list:
  #0: MINI6410
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
s3c-rtc s3c64xx-rtc: setting system clock to 2000-01-02 18:29:41 UTC (946837781)
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.70 GiB 
 mmcblk0: p1
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
IP-Config: Complete:
     device=eth0, addr=169.254.213.154, mask=255.255.255.0, gw=255.255.255.255,
     host=169.254.213.154, domain=, nis-domain=(none),
     bootserver=169.254.213.55, rootserver=169.254.213.55, rootpath=
VFS: Mounted root (nfs filesystem) on device 0:12.
Freeing init memory: 136K
下面是从本地的ubuntu12.04作为宿主机系统,开发板打开试图进入NFS文件系统的输出信息

代码: 全选

s3c-sdhci s3c-sdhci.1: clock source 2: mmc_bus (24000000 Hz)
mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
asoc: wm9713-hifi <-> samsung-ac97 mapping ok
ALSA device list:
  #0: MINI6410
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
s3c-rtc s3c64xx-rtc: setting system clock to 2000-01-02 18:41:57 UTC (946838517)
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.70 GiB 
 mmcblk0: p1
eth0: link down
IP-Config: Complete:
     device=eth0, addr=169.254.213.154, mask=255.255.255.0, gw=255.255.255.255,
     host=CR, domain=, nis-domain=(none),
     bootserver=169.254.213.55, rootserver=169.254.213.55, rootpath=
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00            4096 mtdblock0  (driver?)
1f01            8192 mtdblock1  (driver?)
one_wire_status: 4
1f02         2084864 mtdblock2  (driver?)
b300         3887104 mmcblk0  driver: mmcblk
  b301         3753984 mmcblk0p1 00000000-0000-0000-0000-000000000000mmcblk0p1
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
one_wire_status: 4
[<c0039c58>] (unwind_backtrace+0x0/0xe4) from [<c04293e4>] (panic+0x58/0x174)
[<c04293e4>] (panic+0x58/0x174) from [<c0008ea0>] (mount_block_root+0x1b8/0x1f8)
[<c0008ea0>] (mount_block_root+0x1b8/0x1f8) from [<c0008f80>] (mount_root+0xa0/0xc0)
[<c0008f80>] (mount_root+0xa0/0xc0) from [<c00090bc>] (prepare_namespace+0x11c/0x170)
[<c00090bc>] (prepare_namespace+0x11c/0x170) from [<c0008afc>] (kernel_init+0x108/0x148)
one_wire_status: 2
[<c0008afc>] (kernel_init+0x108/0x148) from [<c0035668>] (kernel_thread_exit+0x0/0x8)
头像
rzr
帖子: 29
注册时间: 2011-03-12 17:53

Re: 在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

#3

帖子 rzr » 2013-08-05 22:31

使用的内核和文件系统都是一样的,NFS配置文件感觉也没有写错。为什么就是进入不了呢。。。
虚拟机上和本机上的一个区别就是,虚拟机上的NFS服务器的版本可能低一点,都是用apt-get install安装的,虚拟机上安装的时候portmap还可以安装。现在在本机系统上搭建时,portmap已经改为rpcbind了。。。想不懂,忧伤。。。
头像
rzr
帖子: 29
注册时间: 2011-03-12 17:53

Re: 在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

#4

帖子 rzr » 2013-08-05 23:01

这是uboot里设置的环境变量:

代码: 全选

bootcmd=nand read.i c0008000 400000 500000;bootm c0008000
baudrate=115200
ethaddr=08:90:90:90:90:90
filesize=696444
fileaddr=C0008000
netmask=255.255.255.0
ipaddr=169.254.213.154
serverip=169.254.213.55
gatewayip=169.254.213.1
bootargs=console=ttySAC0 root=/dev/nfs nfsroot=169.254.213.55:/home/CR/armrootfs ip=169.254.213.154:169.254.213.55:169.254.213.1:255.255.255.0:CR:eth0:off
bootdelay=3
stdin=serial
stdout=serial
stderr=serial
在本机系统里执行过mount -t nfs 169.254.213.55:/home/CR/armrootfs /mnt 指令,可以成功执行。
头像
rzr
帖子: 29
注册时间: 2011-03-12 17:53

Re: 在ubuntu12.04(非虚拟机)上搭建开发平台时遇到的困难

#5

帖子 rzr » 2013-08-05 23:07

这是本机系统/etc/exports文件的设置:

代码: 全选

/home/CR/armrootfs *(sync,rw,no_root_squash,no_subtree_check)
这是本机系统/etc/hosts.deny文件的设置:

代码: 全选

rpcbind:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
nfsd:ALL
portmap:ALL
这是本机系统/etc/hosts.allow文件的设置:

代码: 全选

rpcbind: 169.254.213.*
lockd: 169.254.213.*
rquotad: 169.254.213.*
mountd: 169.254.213.*
statd: 169.254.213.*
nfsd: 169.254.213.*
portmap: 169.254.213.*
回复