buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

内核编译和嵌入式产品的设计与开发
回复
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#1

帖子 wuyangbuaa » 2014-08-15 11:14

各位大咖,小弟初次接触嵌入式,由于头儿给了安排:自己编译一个linux内核(arm架构的),使其支持usb摄像头,但由于现在手头上并没有相应的实体板子,因此需要将编译出来的系统在qemu中虚拟运行。这活都很长时间了,因此十分的头疼,自己也查了相关的资料,但都没有遇到合适的解决方案,在配置buildroot的时候经常遇到各种各样的错误,因此在论坛里求助,还希望能遇到帮组解决的高手,十分的感激!大家共同进步,谢谢了啊!
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#2

帖子 zhw2101024 » 2014-08-15 12:22

qemu用的驱动应该跟实体驱动是一样的,配置内核的时候定制一下USB和Camera相关的配置项应该就可以。
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#3

帖子 wuyangbuaa » 2014-08-18 10:10

zhw2101024 写了:qemu用的驱动应该跟实体驱动是一样的,配置内核的时候定制一下USB和Camera相关的配置项应该就可以。
你好啊,我在配置buildroot的时候应该是配置了相关选项的,我把我的具体配置贴上来,麻烦你帮我看下吧,行么?谢谢了啊

我的buildroot(最新版2014.05)配置如下:
Target options ->Target Architecture:ARM(big endian)
->Target Architecture Variant(arm926t)
->Target ABI(EABI)
->Floating point strategy(Soft float)
->ARM instruction set(ARM)

Toolchain ->Enable large file(files>2GB) support
->Enable WCHAR support
GCC compiler Version(gcc 4.7.x)
->Enable C++ support

Kernel ->Linux Kernel
->Kernel version(Same as toolchain kernel headers)
->Defconfig name(versatile)

Target packages ->Development tools
->binutils
->libtool
->make
->pkgconf
->Graphic libraries and applications
->X.org X Window System
->Hardware handling
->media-ctl
->usbutils
->Libraries
->Compression and decompression
->zlib
->Graphics
->jpeg support
->libpng
->Hardware handling
->libusb
->libusb-compat
->libv4l
->v4l2-compliance
->v4l2-ctl
->v4l2-dbg


Filesystem packages ->cpio the root filesystem(for use as an initial RAM filesystem)
->ext2/3/4 root filesystem
->tar the root filesystem
->Compression method(gzip)
也成功编译完成了,其余的都是默认选项。
output目录下有以下文件 :rootfs.cpio,rootfs.ext2,rootfs.tar,rootfs.tar.gz,uImage
然后试着运行qemu,命令如下:
qemu-system-arm -M versatilepb -m 128M -kernel uImage -initrd rootfs.tar.gz -append "root=/dev/ram"
则出错。错误代码如下:
No filesystem could mount root,tried: ext2 cramfs minix romfs
Kernel panic - not syncing: VFS; Unable to mount root fs on unknown-block(1,0)

请问这是什么原因导致的呢?谢谢帮忙了啊?
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#4

帖子 wuyangbuaa » 2014-08-18 10:13

zhw2101024 写了:qemu用的驱动应该跟实体驱动是一样的,配置内核的时候定制一下USB和Camera相关的配置项应该就可以。
另外附上qemu运行结果图

能帮我分析下这是什么原因么?是不是还得用make linux-menuconfig来重新编译根文件系统,如果是的话,又如何制作根文件系统呢?
附件
Selection_001.png
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#5

帖子 zhw2101024 » 2014-08-18 10:42

虽然编译过几次内核,但……都是x86到x86,交叉编译没搞过
编译配置最好是把源码根目录的.config文件作为附件上传,那样的话一目了然。你贴的这个不全面,也不好看懂。
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#6

帖子 wuyangbuaa » 2014-08-18 10:54

zhw2101024 写了:虽然编译过几次内核,但……都是x86到x86,交叉编译没搞过
编译配置最好是把源码根目录的.config文件作为附件上传,那样的话一目了然。你贴的这个不全面,也不好看懂。
我把配置文件上传上来,麻烦你帮我分析下啊(可以试着用notepad++打开,不会产生乱码的),谢谢了!
附件
config.txt
(50.13 KiB) 已下载 132 次
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#7

帖子 zhw2101024 » 2014-08-18 11:44

我的错,qemu属于半虚拟化,需要virtio驱动的。但是你那个配置文件里面完全没有相关的选项,是从哪来的内核啊。
你那边还有其他同事吗?他们也用qemu运行arm内核?
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#8

帖子 wuyangbuaa » 2014-08-18 12:00

zhw2101024 写了:我的错,qemu属于半虚拟化,需要virtio驱动的。但是你那个配置文件里面完全没有相关的选项,是从哪来的内核啊。
你那边还有其他同事吗?他们也用qemu运行arm内核?
是直接在buildroot中选择的,kernel选项,然后选择linux内核就完事了!我们这边没有人在用这个,只有我一个人做,烦躁啊!
那现在应该怎么修改呢?修改buildroot配置还是再次进行make linux-menuconfig的相关配置后重新make buildroot亦或者如何修改呢?
wuyangbuaa
帖子: 6
注册时间: 2012-01-04 16:58

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#9

帖子 wuyangbuaa » 2014-08-18 12:04

配置文件中kernel选项下面的BR2_LINUX_KERNEL_VERSION="3.14.4"是指的什么呢?
BR2_LINUX_KERNEL_USE_DEFCONFIG=y
# BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG is not set
BR2_LINUX_KERNEL_DEFCONFIG="versatile"
还有这两个又是什么意思呢?求教啊
我之前看的资料中说是因为我没有真正的实体板,所以才选择versatile的,是不是这样理解的呢?
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: buildroot编译嵌入式arm开发环境使其支持usb摄像头,并用qemu虚拟运行

#10

帖子 zhw2101024 » 2014-08-20 3:44

我都是make menuconfig,然后遇到不理解的选项就按?看帮助……
回复