本文主要是介绍Linux下读取默认MAC地址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、适用范围
这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号。
二、原理介绍
MAC(Media Access Control,介质访问控制)是用来定义网络设备的位置。用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符。MAC具有全球唯一性。
“网卡的默认MAC”是广州致远电子股份有限公司针对Awork开发套件和M283、M287工控核心板开发的一项功能,通过芯片的OTP来存储网卡MAC地址,我公司出厂的核心板和开发套件的MAC地址的前两个字节固定为“0x00”,“0x04”,后四个字节保存在OTP中,本文档主要描述了如何通过操作OTP来读取网卡MAC地址。
在内核配置OTP选项,编译出的内核启动后,在文件系统中会导出OTP设备文件,通过操作这些设备文件来读取信息。可以将已经注册的网卡MAC信息首先固化到OTP中,在应用层就可以读取。MAC0地址的低4位可以通过设备文件“/sys/fsl_otg/SBK0”读取,MAC1地址的低4位可以通过设备文件“/sys/fsl_otg/SBK1”读取。
注意:如果使用的是M287、M283工控板,不需要配置内核。
三、技术实现
内核编译
1.配置内核
进入linux-2.6.35.3目录。执行make menuconfig配置内核。配置步骤如下:
sok@zlgmcu:~$ cd linux-2.6.35.3/
sok@zlgmcu:~/linux-2.6.35.3$ make menuconfig
按回车键,进入Device Drivers选项,如下图1所示。
图1内核配置
按回车键,进入Chracter devices选项。如下图2所示。
图2内核配置
按空格键,选择<*> Freescale On-Chip OTP Memory Support选项,如图3 内核配置图3所示。
图3内核配置
按回车键,保存退出。
2.编译内核
在当前目录下执行如下命令编译内核,参考命令如下:
vmuser@Linux-host:~/ linux-2.6.35.3$ make clean
vmuser@Linux-host:~/ linux-2.6.35.3$ make uImage
内核固件位于“arch/arm/boot/uImage”,将生成的内核固件通过TF卡烧写到NANDFlash。
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 174 道运维工程师面试题
- 128道k8s面试题
- 108道shell脚本面试题
- 200道Linux面试题
- 51道docker面试题
- 35道Jenkis面试题
- 78道MongoDB面试题
- 17道ansible面试题
- 60道dubbo面试题
- 53道kafka面试
- 18道mysql面试题
- 40道nginx面试题
- 77道redis面试题
- 28道zookeeper
总计 1000+ 道面试题, 内容 又全含金量又高
- 174道运维工程师面试题
1、什么是运维?
2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
3、现在给你三百台服务器,你怎么对他们进行管理?
4、简述raid0 raid1raid5二种工作模式的工作原理及特点
5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
7、Tomcat和Resin有什么区别,工作中你怎么选择?
8、什么是中间件?什么是jdk?
9、讲述一下Tomcat8005、8009、8080三个端口的含义?
10、什么叫CDN?
11、什么叫网站灰度发布?
12、简述DNS进行域名解析的过程?
13、RabbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
这篇关于Linux下读取默认MAC地址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!