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

~ #
相关推荐
我叫张小白。1 小时前
CentOS 7 安装 Docker并配置镜像加速(完整指南)
linux·docker·centos
源图客2 小时前
Minio配置HTTPS服务
服务器·网络协议·https
Titan20242 小时前
Linux动静态库
linux·服务器·c++
赵民勇3 小时前
Linux file命令详解
linux·运维
li-xun3 小时前
LINUX DO 社区注册机制调整与公益 AI 服务动态
linux·运维·人工智能
ba_pi3 小时前
k8s删除pod
linux·容器·kubernetes
AskHarries3 小时前
权限模型:Shell、Browser、文件读写的安全边界
服务器·前端·网络
wuminyu3 小时前
Java锁机制之park和unpark源码剖析
java·linux·c语言·jvm·c++
咖啡星人k3 小时前
MonkeyCode 网络架构:WebSocket、SSE与实时协作的技术选型
网络·websocket·架构·monkeycode