Uboot通过bootargs给Kernel传递自定义MAC

本文介绍如何在Rockchip PX30平台上通过自定义bootargs参数传递自定义MAC地址给USB转以太网口芯片,实现网卡MAC地址的固定设置。

前言

本文以 PX30 USB网卡设置自定义MAC为例,分享如何在bootargs参数基础上添加自定义字段,实现uboot向kernel传递参数。

一、关于bootargs

bootargs 是 uboot 在启动 Linux 内核时传递给内核的引导参数,参数中一般包含启动存储介质、文件系统分区及挂载方式和终端串口等参数。

在系统中我们可以通过 /proc/cmdline 来查看 uboot 给 kernel 传递的 bootargs 参数内容。

# cat /proc/cmdline 
storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal  
androidboot.slot_suffix= androidboot.serialno=c3d9b8674f4b94f6  rw rootwait 
earlycon=uart8250,mmio32,0xff160000 swiotlb=1 console=ttyFIQ0 root=PARTUUID=614e0000-0000

二、网卡自定义MAC

Rockchip PX30芯片只有一路以太网,为了满足一些多网口的应用场景,会使用 USB 转以太网口芯片来扩展以太网接口。以Realtek r8152芯片为例,转换芯片自身不带硬件MAC地址,这将导致每次系统启动,网卡的MAC也会随机变化而非固定;可以在驱动加载时将固定的自定义的MAC地址设置给网卡,以解决MAC地址不固定的问题。

Rockchip在eMMC的首部保留了一块用于存储序列号、MAC等自定义内容的Vendor Storage存储空间。

Vendor Storage在eMMC中的位置:

Vendor Storage 结构

Vendors Storage 各ID内容序号如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Industio_触觉智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值