Firefly开源社区

标题: Debian Rootfs制作方法,以及驱动模块的问题 [打印本页]

作者: xsser    时间: 2015-1-20 21:52
标题: Debian Rootfs制作方法,以及驱动模块的问题
以下是制作流程

  1. $sudo -s

  2. #cd /

  3. #mkdir /linuxroot

  4. #cd /linuxroot

  5. #apt-get -y install debootstrap qemu-user-static

  6. #dd if=/dev/zero of=linux-rootfs.img bs=1M count=1024

  7. #mkfs.ext4 -F -L linuxroot linux-rootfs.img

  8. #mount linux-rootfs.img /linuxroot

  9. #debootstrap --foreign --arch armhf wheezy . http://ftp.cn.debian.org/debian

  10. #cp /usr/bin/qemu-arm-static usr/bin/

  11. #LC_ALL=C LANGUAGE=C LANG=C chroot . /debootstrap/debootstrap --second-stage

  12. #LC_ALL=C LANGUAGE=C LANG=C chroot . dpkg --configure -a

  13. #chroot . passwd
复制代码

按照官方说明
在SDK的kernel目录下编译内核
make firefly-rk3288-linux_defconfig
make -j8 firefly-rk3288.img

make modules
make modules_install
make INSTALL_MOD_PATH=./modules_install modules_install

然后

rsync -av ./modules_install/ /linuxroot/

之后将系统刷入板子正常启动

有线网卡及其他都正常工作,唯独板载的AP6330无法工作,和解?

我的板子是MK802V5的,默认刷的是xubuntu,我看了下,驱动都在/system/etc/firmware下

而我以前在cubietruck上搞Debian的时候驱动都在/lib/firmware下

求解答,如何才能让板载无线网卡正常工作




作者: pqy    时间: 2015-1-20 22:32
把固件/system/etc/firmware复制到根文件系统。
开启无线网卡echo 1 > /sys/class/rkwifi/driver
刚好我之前搞过:lol
作者: xsser    时间: 2015-1-20 22:35
/system/etc/firmware

在哪啊,可自定义么?
作者: pqy    时间: 2015-1-20 23:08
xsser 发表于 2015-1-20 22:35
/system/etc/firmware

在哪啊,可自定义么?

路径在驱动代码中写死了,你要改可以改kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c文件,开头就是。
作者: xsser    时间: 2015-1-20 23:21
意思是所有的驱动都从/system/etc/firmware读取?

我在Debian里安装AR9271的无线网卡驱动,一般apt-get install firmware-atheros后安装到/lib/firmware 能起作用么?

还有,你所说的"把固件/system/etc/firmware复制到根文件系统。",只能从现有的固件剥离?如何自己构建?
作者: 暴走的阿Sai    时间: 2015-1-21 16:52
支持一个
作者: xsser    时间: 2015-1-22 13:02
pqy 发表于 2015-1-20 23:08
路径在驱动代码中写死了,你要改可以改kernel/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_confi ...

这句是关键啊
echo 1 > /sys/class/rkwifi/driver

你所说的"把固件/system/etc/firmware复制到根文件系统。",只能从现有的固件剥离?如何自己构建?
作者: connet    时间: 2015-1-22 13:54
kernel 中有 make firmware_install
作者: xsser    时间: 2015-1-23 17:28
connet 发表于 2015-1-22 13:54
kernel 中有 make firmware_install

首先,驱动里包含的bin文件都在rk3288sdk/external/wlan_loader目录下
而在rk3288sdk/kernel/目录下 make firmware再make ........ firmware_install之后,压根就不会涉及到bin文件
不把bin文件考到板子上网卡驱动不起来


其次,我自己希望板载无线网卡和我的USB ATHERO_9271无线网卡同时工作

USB ATHERO_9271插入板子lsusb可以识别,但是ifconfig -a无法看到

我驱动安装是按照如下方式进行的

apt-get -y install firmware-atheros iw wpasupplicant wireless-tools

安装完之后,在/lib/firmware下可以看到相应的fw文件,但就是ifconfig -a无法看到

难道说要修改内核的.config加入ath的驱动模块?
作者: connet    时间: 2015-1-26 09:29
当然必须有 驱动模块, firmware 不是驱动, 是网卡的rom.
作者: xsser    时间: 2015-1-27 11:13
connet 发表于 2015-1-26 09:29
当然必须有 驱动模块, firmware 不是驱动, 是网卡的rom.

现在就是想搞清楚/system/etc/firmware这个目录是从何而来?
我在网上下载的很多别人做好的rootfs都有这个目录。

而我自己在构建rootfs的时候默认是没有/system这个目录的。

同时,别人的/system目录下还有lib目录,里面有ko文件
/system/etc目录下除了firmware目录,还有很多其他目录和文件,这些都是从哪来的?


我的目的是构建自己的 内核 和 Debian rootfs刷入板子,使板载的AP6330和Athero 9271的USB无线网卡可以通过hostapd实现无线热点。

作者: pqy    时间: 2015-1-27 14:04
xsser 发表于 2015-1-27 11:13
现在就是想搞清楚/system/etc/firmware这个目录是从何而来?
我在网上下载的很多别人做好的rootfs都有这 ...

/system/etc/firmware是ap6335内核驱动定义的路径,考虑到安卓的缘故,所以放到这个路径。你想放到其他地方也行啊。自己改内核驱动代码,具体文件我已经说过了。至于/lib/firmware,这是GNU/Linux常用的放置固件的地方,所以一般的网卡驱动代码肯定到这里寻找相应的固件。但是不管放到哪里,只要网卡驱动找得到就行。
至于你的USB网卡,你没重新配置内核,把网卡驱动编译进去,光下载固件有什么用?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1