【转】用串口登录Beaglebone Black、用usb共享电脑网络、内核模块的本地编译
原文网址:http://bbs.eeworld.com.cn/thread-431507-1-1.html
串口连接BBB
使用usb线可以连接BBB和电脑,用ssh就可以登录BBB来进行操作。但有时候万一系统配置出现故障,或ssh用不了了,那就只能用串口连接了。首先要有一个串口转USB模块,用GND, TXD, RXD这三根线连接到板子上。具体连接方法见下图。
<ignore_js_op>
理论上串口是随时都可以连接的,但我为了看到更全的输出信息,我在给BBB上电之前就先把它和电脑连好,在电脑端打开串口调试助手(用linux或mac的话可以打开终端的screen)然后用5V电源供电或者用usb连到电脑上供电。
mac打开screen的命令:screen /dev/cu.usbserial 115200
linux打开screen的命令:sudo screen /dev/ttyUSB0 115200
供电以后,串口马上就会开始输出启动信息。过了一会就会出现一个Angstrom的字符画logo,并要求登录,输入用户名和密码(用户名是root,如果你没改过的话)回车就登录了。
- .---O---.
- | | .-. o o
- | | |-----.-----.-----.| | .----..-----.-----.
- | | | __ | ---'| '--.| .-'| | |
- | | | | | |--- || --'| | | ' | | | |
- '---'---'--'--'--. |-----''----''--' '-----'-'-'-'
- -' |
- '---'
- The Angstrom Distribution beaglebone ttyO0
- Angstrom v2012.12 - Kernel 3.8.13
- beaglebone login:
复制代码
启动完成以后,在这里可以像之前用ssh连接一样直接输入shell命令。可见串口是比usb+ssh更可靠的连接方式,但是因为串口的传输速度比usb线还是要慢很多的(你可以输入dmesg感受一下),所以如果能用ssh的话,一般我们还是用ssh。
这里有一篇文章可以参考《用串口连接BBB的2.5种方法》http://dave.cheney.net/2013/09/2 ... ur-beaglebone-black
用usb联网
beaglebone如果用usb连接到了可以上网的电脑,可以利用分享电脑网络的办法让BBB也联网。
Windows7下的配置方法可以参考http://lanceme.blogspot.com/2013 ... et-sharing-for.html
电脑系统是Ubuntu的话:
BBB上的操作:
- route add default gw 192.168.7.1
- vim /etc/resolv.conf
复制代码
在最后添加一行nameserver 8.8.8.8
在Ubuntu上:
通过ifconfig命令得知eth0是本机连接网络的接口,eth1是usb连接BBB的接口
- sudo su
- iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
- iptables --append FORWARD --in-interface eth1 -j ACCEPT
- echo 1 > /proc/sys/net/ipv4/ip_forward
复制代码
然后在BBB上ping www.baidu.com检测一下。
但重启电脑或BBB就无效了,须重新配置。
若是mac OS X系统:插上usb以后,网络连接里会出现一个到BBB的连接,记住这个连接的名字。
然后打开系统设置里的“共享”,先取消勾选左边的“互联网共享”,然后在右边勾选刚才的连接名字,再重新勾选左边的互联网共享,电脑端就好了。然后保持usb线连接,再插上串口线,用串口连接到BBB(此时ssh是连接不通的),输入 udhcpc -i usb0,就完成配置了。然后就可以拔掉串口线了,如果本次开机过程中断开了usb线(比如同时使用5v电源在供电)也没关系,重新插上还可以恢复网络连接。
<ignore_js_op>![]()
联网以后第一件事就是 opkg update。
本地编译内核模块
因为买来的BBB里没有内核源文件,所以没法编译。现在联网了,可以不必重新交叉编译内核,直接在BBB上下载配置一下内核源文件。
- opkg update
- opkg install kernel-headers
- opkg install kernel-dev
- cd /usr/src/kernel
- make scripts
复制代码
就配置完成了。这要耗费约200M空间,可以先输入 df -h 看看eMMC剩余空间够不够。
测试一下。
源文件mykernelmod.c
- #include <linux/module.h>
- #include <linux/kernel.h>
- static int __init enable_usermode(void)
- {
- printk(KERN_INFO "Usermode enabled.\n");
- return 0;
- }
- static void __exit disable_usermode(void)
- {
- printk(KERN_INFO "Usermode disabled.\n");
- }
- module_init(enable_usermode);
- module_exit(disable_usermode);
复制代码
Makefile(M必须大写,注意make语句前面必须是tab键,直接从网页上复制过去可能会变成空格)
- obj-m += mykernelmod.o
- KDIR = /usr/src/kernel
- PWD := $(shell pwd)
- all:
- make -C $(KDIR) M=$(PWD) ARCH=arm modules
- clean:
- make -C $(KDIR) M=$(PWD) ARCH=arm clean
复制代码
然后执行make,成功生成mykernelmod.ko
insmod mykernelmod.ko 之后 dmesg | tail 可以看到输出了 “Usermode enabled.” 然后 rmmod mykernelmod,再dmesg | tail,看到输出了"Usermode disabled."
参考资料:http://elene.dahners.com/blog/20 ... ule-for-beaglebone/
(转自我自己的博客http://blog.csdn.net/wyt2013)
【转】用串口登录Beaglebone Black、用usb共享电脑网络、内核模块的本地编译的更多相关文章
- openwrt增加串口登录需要密码
https://wiki.openwrt.org/doc/howto/serial.console.password Openwrt 串口默认是没有密码的.Openwrt启动后,一个默认的密码将被启用 ...
- Android手机如何通过USB共享网络给Mac?
最近网络挂了,mac不能上网查资料,心情非常毛躁,急切寻求用mac蹭WiFi的方法. 没有找到电脑端破解WiFi密码的软件,手头的Android手机没有root,也无法查看WiFi密码--->破 ...
- 手机USB共享网络是个啥
智能手机一般都提供了USB共享网络的功能,将手机通过USB线与电脑连接,手机端开启『USB共享网络』,电脑就能通过手机上网. 手机端开启『USB共享网络』: 电脑端出现新的网络连接: 通过设备管理器看 ...
- 不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)
使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的.随时可能变动的.所以当程序员们离开家之后,是很难直接和家里的设备进行交互的.但是通过TPLINK路 ...
- Beaglebone板子修改usb连接时的默认IP192.168.0.2
首先除了有个USB线外,你还需要一个USB转串口的线(目的是防止修改错误,无法使用原来的usb的IP地址登陆,心大的可以跳过这步直接进入重点),串口线连接方法如下图: 将USB以及串口和PC机相连 ...
- 树莓派zero_w 串口的使用(解决usb可用rxtx不可用的问题)
2018-06-0212:10:14 查了很多资料,搞了一上午,终于解决了,之前看教程做了树莓派与arduino的通信,GPIO的RXTX测试失败,无奈只能用USB,效果还可以,可是今天我想用RXTX ...
- ubuntu里设置从串口登录
1) Create a file called /etc/init/ttyS0.conf containing the following: # ttySAC0 - getty # # This se ...
- ubuntu12.04 串口登录系统配置
原文转自:http://blog.csdn.net/g__gle/article/details/8663239 1) Create a file called /etc/init/ttyS0.con ...
- 使用WIF实现单点登录Part III —— 正式实战 -摘自网络
经过前两篇文章,估计大家对WIF已经有比较充分的认识了,估计大家在经过了枯燥的理论以后,肯定是摩拳擦掌赶紧付诸于行动了.没办法,咱们程序员就是这个毛病.那好吧,我也不那么多废话了,直接进入正题吧. 我 ...
随机推荐
- Install Oracle 10g on Red Hat Linux 5.3 Step by Step
一.虚拟机配置 1. 虚拟机(VBox 4.3.12) 2. 配置虚拟机网卡网络.选择host-only.VirtualBox Host-Only Network网卡IP为设置为192.168.1.1 ...
- 将activity设置成dialog样式如何设置窗口大小
具体做法和dialog窗口的设置类似,只需要在onCreate方法中,加入下列代码,既可以控制大小! // 设置窗体大小 ScreenUtil.getScreenWidth(LoadActivity ...
- 《UNIX网络编程》之多客户连接服务端,可重用套接字对
该网络编程之客户端与服务端程序模板支持: 1. 多客户端同时连接服务端,即服务程序可以同时为多个客户端服务: 2. 服务端支持套接字对重用,即即使处于TIME_WAIT状态,仍可支持服务端重启: 3. ...
- 组合控件 圆环 ring
使用 可以设置内部填充样式及大小 可以设置边框颜色及宽度 这里只是介绍了其中一种实现方式,其实这种类型的东西完全可以用自定义View去实现,他就是一个空中的大圆+一个空中或实心的小圆,实现起来也是非常 ...
- Remoting 的“传递的引用”理解
WCf是集大成者,具有其他微软的很多技术,其中分布式上很多借助于Remoting,所以研究一下Remoting有助于理解WCF 提到Remoting就不得不涉及到MarshalByRefObject这 ...
- asp.net微信开发第二篇----消息应答
当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上. 请注意: 1.关于重试的消息排重,推荐使用msgid排重. 2.微信服务器在五秒内收不到响应会断掉连接 ...
- Winamp传统外观皮肤MusicRio发放
这款皮肤是我在2002年自己弄的,如果能给还在使用Winamp的朋友使用那就最好了. 下载地址:http://files.cnblogs.com/lzhdim/MusicRio.rar
- DirectX Graphics Infrastructure (DXGI) 全屏设置相关问题
原文地址: https://msdn.microsoft.com/en-us/library/windows/desktop/ee417025(v=vs.85).aspx 未完待续... DXGI是在 ...
- wsdl和wadl区别
[转]http://blog.csdn.net/liuxiao723846/article/details/51611183 1.Java开发WebService最重要的两个规范: JSR-224 ( ...
- [欢度国庆]为什么我们今天还要学习和使用C++?(转载)
在各种新的开发语言层出不穷的今天,在Java和C#大行其道今天,我们为什么还要学习和使用C++?现在学习C++将来有用吗?学习C++要花费那么多时间和精力,这一切都值得吗?现在学习C++有钱途吗? 这 ...