海思视觉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

~ #
相关推荐
EasyDSS6 小时前
连锁扩张管控难?一套视频会议/直播/点播/集群对讲EasyDSS音视频云平台打通门店全流程数字化
网络·音视频·easydss
曦夜日长7 小时前
Git系统篇,Git本地使用(一):从“究极进化版“到三个区域的底层原理
大数据·linux·git·elasticsearch
shimly1234567 小时前
给断网无 sudo ubuntu22.04 机器安装 nodejs
linux
比兔代理8 小时前
游戏、直播、远程办公遇到动态IP怎么办?
网络
Lzg_na8 小时前
ARP 地址解析协议详解
网络·网络协议
北京盛世宏博9 小时前
通信异常深度排查:以太网温湿度设备 TCP 粘包、UDP 丢包根治方案
单片机·网络协议·tcp/ip·udp·以太网·传感器·温湿度
上海广测检测科技有限公司9 小时前
消费类智能联网设备安全分级国标征求意见要点解析:三级五维框架与跨境对标逻辑
网络·经验分享
别动我齐刘海9 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
Lsetea9 小时前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链
QZ1665609515910 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融