手把手教你在pcduino上实现uspip--USB网络重定向

来源:互联网 发布:双色球6保6旋转矩阵 编辑:程序博客网 时间:2024/06/07 06:51
我们经常碰到一种情况,我们需要往pcduino上拷贝东西,新手都用U盘,高手一般都用samba这样的高级玩意儿。拷贝一次倒也无所谓,关键是有些情况下,我们需要多次测试,多次拷贝。pcduino的USB插多了,可就难看了。这里教大家一种简单的方法,无需要多次插拔,每次一个命令即可。
首先,我们要需修改一下我们的内核,我们的内核还不支持USBIP,其实前面有一个帖子,我已经介绍了怎么修改和换内核,这里,我一图文并茂的形式教大家怎么玩。在pcduino上玩内核和驱动,主要的问题就是硬盘空间不足,这里教大家怎么把它扩展成几十个G,
1,现在我们电脑上用virtualbox建一个linux虚拟机,我建的是ubuntu,怎么安装ubuntu的虚拟机我就不阐述了,一直点下一步就可以了。
2,在虚拟机上搭建一个nfs服务器,具体步骤如下:
  1. sudo apt-get install nfs-kernel-server 
复制代码
  1. vim /etc/exports
复制代码
在里面添加内容home/pillar/pcduino *(rw,sync,no_root_squash)保存退出。
  1. sudo /etc/init.d/portmap restart
复制代码
  1. sudo /etc/init.d/nfs-kernel-server restart
复制代码
  1. showmount -e
复制代码
这样nfs就搭建好了,现在把内核下载到pcduino的文件夹里面
  1. sudo apt-get install git git-core
  2. sudo git clone [url]https://github.com/linux-sunxi/linux-sunxi[/url]
  3. sudo git clone [url]https://github.com/pcduino/kernel/blob/master/patch/linux-sunxi/arch/arm/configs/sun4i_defconfig[/url]
  4. cp sun4i_defconfig  .config
复制代码
好了,为了让编译生成文件和源码隔离,我们建一个build文件
  1. mkdir build
复制代码
下载后文件内容中的内容如下:
  
3,转移到pcduino上,先安装一个软件,要不然挂载不了
  1. sudo apt-get install nfs-common
复制代码
开始挂载nfs
  1. sudo su
复制代码
现在来看看我们pcduino的硬盘

够大了。

4,配置编译内核,先在pcduino安装一些依赖文件。
  1. sudo apt-get install  u-boot-tools libncurses5
复制代码
然后开始配置内核
  1. cd linux
  2. cp .config  ../build/
  3. make menuconfig O=../build
复制代码

进入
  1. General setup  --->  
复制代码
去掉里面的路径,要不然会编译不过的。

由于这个项目里面要把USBIP编译进去,这里告诉大家配置的办法。

  1. Device Drivers  ---> 
  2.          [*] Staging drivers  ---> 
  3.                        <M>   USB/IP support (EXPERIMENTAL) 
  4.                        <M>     VHCI hcd 
  5.                        <M>     Host driver
复制代码
然后退出,保存。
  1. make 
  2. make modules
  3. make modules_install
  4. make uImage
  5. mount  /dev/nanda     /boot
  6. cp arch/arm/boot/uImage   /boot   -f
  7. reboot
复制代码
make需要四个小时,中间不会报错的,重启完了之后,包含有usbip的内核已经加载到系统里面去了。
5,手动加载USBIP驱动。
  1. modprobe  usbip-core
  2. modprobe  usbip-host
  3. modprobe  vhci-hcd
  4. vim /etc/modules
复制代码
在modules文件里面添加
usbip-core
usbip-host
vhci-hcd

6,配置编译USBIP。配置编译USBIP依然需要内核源码,回到第3步再把源码挂载一遍。然后
  1. cd /lib/modules/3.4.29+/linux/drivers/staging/usbip/userspace
复制代码
查看里面的INSTALL的文件,里面有详细的安装方法。
  1. ./autogen.sh
  2. ./configure
  3. make
  4. make install
复制代码
安装完了之后,然后下载一个USBIP运行的依赖软件。
  1. sudo apt-get install hwdata libsysfs-dev
复制代码
具体的使用方法在README里面也有。下面还是给大家演示一遍。
先启动usbip进程
  1. sudo usbipd -D
复制代码
先说一下我pcduino上USB挂载情况,我的pcduino上现在挂载了一个U盘,一个摄像头,一个键盘
,一个鼠标,一个hub.
然后用usbip查看usb设备
  1. ubuntu@ubuntu:/lib/modules/3.4.29+/linux/drivers/staging/usbip/userspace$ usbip list -l
  2. Local USB devices
  3. =================
  4. - busid 3-1 (1c4f:0026)
  5.          3-1:1.0 -> usbhid
  6.          3-1:1.1 -> usbhid

  7. - busid 4-1 (1a40:0101)
  8.          4-1:1.0 -> hub

  9. - busid 4-1.1 (093a:2510)
  10.          4-1.1:1.0 -> usbhid

  11. - busid 4-1.2 (0951:1665)
  12.          4-1.2:1.0 -> usb-storage

  13. - busid 4-1.3 (0c45:62f1)
  14.          4-1.3:1.0 -> usb-stub-driver
  15.          4-1.3:1.1 -> usb-stub-driver
  16.          4-1.3:1.2 -> usb-stub-driver
  17.          4-1.3:1.3 -> usb-stub-driver
复制代码
看吧,都列出来了。现在我要把我U盘重定向到我的电脑上。输入一下命令:
  1. <blockquote>ubuntu@ubuntu:/lib/modules/3.4.29+/linux/drivers/staging/usbip/userspace$ sudo usbip bind -b 4-1.2
复制代码
6,好了现在到我电脑windows上。先把usbip的windows  驱动.rar (211.42 KB, 下载次数: 7, 售价: 30 金钱) 安装上,具体的安装方法如下:
打开我的电脑管理--》管理--》添加过时硬件。


然后选择从磁盘安装,把路径指到你解压的文件夹,就可以了。
打开cmd,输入的命令都在图片里


可以看出我已经成功的把USBIP重定向过来了。


转自:pcDuino.org

原创粉丝点击