海思视觉Hi3516CV610--开机自动设置ip

目录

方法一

uboot设置

脚本设置

方法二


方法一

uboot设置

在ubootline执行以下命令:

  • 只要用 双引号 " " → 不管加不加括号,U-Boot 都能解析变量!

  • 只要用 单引号 ' ' → 不管加不加括号,U-Boot 全都不解析!

    setenv bootargs "mem=32m console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=3 mtdparts=nand:512k(boot),512k(env),4M(kernel),32M(rootfs)"

    设置eth0

    setenv serverip 192.168.18.200
    setenv ethaddr 00:15:00:01:41:27
    setenv ipaddr 192.168.18.100
    setenv netmask 255.255.255.0
    setenv gatewayip 192.168.18.1

    方式一

    setenv bootargs "{bootargs} ip={ipaddr}:{serverip}:{gatewayip}:{netmask}:{board_name}:eth0:off"
    saveenv
    reset

    方式二

    setenv bootargs "mem=32m console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=3 mtdparts=nand:512k(boot),512k(env),4M(kernel),32M(rootfs) ip=ipaddr:serverip:gatewayip:netmask:$board_name:eth0:off"
    saveenv
    reset

脚本设置

复制代码
~ # cat /etc/init.d/S80network
#!/bin/sh

ipaddr=
bootp=
gateway=
netmask=
hostname=
netdev=
autoconf=

for ipinfo in `cat /proc/cmdline`
do
        case "$ipinfo" in
        ip=*)
                for var in  ipaddr bootp gateway netmask hostname netdev autoconf
                do
                        eval read $var
                done << EOF
                `echo "$ipinfo" | sed "s/:/\n/g" | sed "s/^[    ]*$/-/g"`
EOF
                ipaddr=`echo "$ipaddr" | cut -d = -f 2`
                [ x$ipaddr == x ] && ipaddr=x
                ;;
        esac
done

[ -z "$ipaddr" ] && exit 0

echo "      IP: $ipaddr"
echo "   BOOTP: $bootp"
echo " GATEWAY: $gateway"
echo " NETMASK: $netmask"
echo "HOSTNAME: $hostname"
echo "  NETDEV: $netdev"
echo "AUTOCONF: $autoconf"

if [ x$ipaddr == x- ] ; then
        # use DHCP
        :
else
        cmd="ifconfig $netdev $ipaddr"
        [ x$netmask != x- ] && cmd="$cmd netmask $netmask"
        eval $cmd
        [ x$gateway != x- ] && route add default gw $gateway
fi

ifconfig lo 127.0.0.1

~ #

方法二

复制代码
~ # cat /etc/init.d/S85network_eth0
#!/bin/sh

NETDEV="eth0"
ETHADDR="00:15:00:01:41:27"
IPADDR="192.168.18.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.18.1"
SERVERIP="192.168.18.200"

echo "==== 配置静态网络:$NETDEV ===="

# 等待网卡出现
i=0
while [ "$i" -lt 10 ]; do
    if ifconfig "$NETDEV" >/dev/null 2>&1; then
        break
    fi
    i=$((i + 1))
    sleep 1
done

if ! ifconfig "$NETDEV" >/dev/null 2>&1; then
    echo "错误:未找到网卡 $NETDEV"
    exit 1
fi

# 配置回环接口
ifconfig lo 127.0.0.1 up

# 配置网卡
ifconfig "$NETDEV" down
ifconfig "$NETDEV" hw ether "$ETHADDR" 2>/dev/null
ifconfig "$NETDEV" "$IPADDR" netmask "$NETMASK" up

# 删除旧默认路由,避免重复执行时报错
route del default 2>/dev/null

# 添加默认网关
route add default gw "$GATEWAY" "$NETDEV"

echo "==== 网络配置完成 ===="
echo "NETDEV:  $NETDEV"
echo "MAC:     $ETHADDR"
echo "IP:      $IPADDR"
echo "NETMASK: $NETMASK"
echo "GATEWAY: $GATEWAY"
echo "SERVER:  $SERVERIP"

exit 0

~ #
相关推荐
码农学院2 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
GitLqr9 小时前
玩转 WebSocket:从原理到 Flutter 实战
websocket·网络协议·flutter
REDcker9 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
ANSIOT11 小时前
安朔科技蓝牙无感开锁方案,靠近自动解锁
网络·科技·物联网
微硬创新11 小时前
耐达讯自动化 CC-Link IE 转 PROFINET网关在污水厂智能化升级实战
人工智能·物联网·网络协议·自动化·信息与通信
晏宁科技YaningAI11 小时前
VoIP系统的工程实现模型:从信令控制到媒体传输的完整架构解析
网络·人工智能·架构·系统架构·信息与通信
HLC++11 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室13 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
神奇霸王龙14 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
groundhappy15 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python