第3章 系统初始化

拿到一台全新的 Atlas 500,第一件事是什么?不是跑模型,不是搭环境,而是先把系统「立」起来。说白了,就是让设备能联网、能登录、时间准、密码安全。这一步要是没做好,后面所有操作都像在沙子上盖楼。

我个人习惯,每次初始化都按固定流程走一遍:改密码 → 配IP → 设DNS → 校时区 → 同步NTP。顺序别乱,尤其是密码,必须第一个改。为什么?你想想看,设备一旦接入网络,默认密码就等于把大门敞开了。

系统初始化核心流程 首次登录 修改默认密码 配置网络参数 设置时区 NTP 每个步骤都有依赖关系,密码安全是前提,网络连通是基础 时区和NTP影响日志时间戳与证书校验 建议顺序执行,不要跳步

3.1 首次登录:串口还是SSH?

Atlas 500 出厂默认开启 SSH,但第一次我建议你用串口。为什么?因为网络还没配好,万一IP不对,SSH连不上就尴尬了。串口是「铁线连接」,只要线没接错,一定能看到登录提示。

串口参数:115200 8N1,没有流控。用 PuTTY 或 screen 都行。我习惯用 screen /dev/ttyUSB0 115200,简单直接。

💡 我的小习惯: 第一次登录前,先把串口线插好,上电后狂按 Enter,确保不错过 U-Boot 阶段。虽然我们不改启动参数,但能看到启动日志,心里踏实。

登录后你会看到 Huawei Atlas 500 的欢迎界面,默认用户名 root,密码 Huawei@123(注意大小写)。嗯,这里要提醒你:不同批次可能密码有微调,以设备标签为准。

3.2 修改默认密码——第一道防线

登录后第一件事,立刻改密码。我在项目中遇到过,有人把设备直接丢到公网,半小时就被扫描了。默认密码太常见,黑客字典里排前几。

执行 passwd 命令,按提示输入新密码。我建议至少12位,包含大小写、数字和特殊字符。比如 Atlas@2025Edge! 这种。

# 修改 root 密码
[root@atlas500 ~]# passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
⚠️ 我曾经踩过的坑: 密码里不要包含 &、|、; 这些 shell 特殊字符,否则某些脚本解析会出问题。用 !、@、# 相对安全。

改完密码后,建议退出登录再重新登一次,确认新密码生效。别问我为什么强调这个——有一次我改完密码忘了保存,结果第二天怎么都登不上去,最后只能恢复出厂设置。

3.3 配置网络参数(IP & DNS)

Atlas 500 默认使用 DHCP 获取 IP。但在生产环境,我几乎不用 DHCP——设备重启后IP一变,远程运维就断了。所以我会手动配静态IP。

网络配置文件在 /etc/sysconfig/network-scripts/ 下,接口名一般是 eth0。用 vim 直接改:

# 编辑网络接口配置
[root@atlas500 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

# 内容示例
TYPE=Ethernet
BOOTPROTO=static          # 静态IP
IPADDR=192.168.1.100      # 你想要的IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
ONBOOT=yes

保存后重启网络服务:systemctl restart network。然后 ping 8.8.8.8 测试连通性。如果 ping 不通,先检查网线,再检查网关。

🔑 关键点: DNS 一定要配。我见过有人只配了IP,结果域名解析失败,apt-get、wget 全用不了。至少配一个公共DNS,比如 8.8.8.8 或 114.114.114.114。

另外,如果你需要配置多个网卡(比如 eth0 连内网,eth1 连外网),记得调整路由表。用 ip route 查看,必要时加静态路由。

3.4 设置时区与NTP同步

边缘设备的时间不准,会引发一堆怪问题:日志时间错乱、证书验证失败、甚至模型推理结果异常。我遇到过因为时间差导致 OTA 升级签名校验失败的情况,折腾了一下午才发现是时区没设对。

先看当前时区:timedatectl。中国地区设为 Asia/Shanghai:

# 设置时区
[root@atlas500 ~]# timedatectl set-timezone Asia/Shanghai

# 查看时间状态
[root@atlas500 ~]# timedatectl
               Local time: 五 2025-03-21 14:32:18 CST
           Universal time: 五 2025-03-21 06:32:18 UTC
                 RTC time: 五 2025-03-21 06:32:18
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

然后开启 NTP 同步。Atlas 500 默认使用 chrony 或 ntpd。我推荐 chrony,轻量且同步快:

# 安装 chrony(如果未安装)
[root@atlas500 ~]# yum install -y chrony

# 编辑配置文件 /etc/chrony.conf,添加国内NTP服务器
server ntp.aliyun.com iburst
server ntp.tencent.com iburst
server cn.pool.ntp.org iburst

# 启动并设置开机自启
[root@atlas500 ~]# systemctl enable chronyd --now

# 手动同步一次
[root@atlas500 ~]# chronyc -a makestep
⏱ 实测建议: 如果设备在局域网内且无法访问外网,可以自建 NTP 服务器。把 server 指向内网 NTP 即可。我一般在内网搭一台树莓派做 NTP 源,所有边缘设备都指向它。

验证同步状态:chronyc sources -v,看到 ^* 开头的行表示已同步。如果显示 ^?,说明没连上,检查防火墙或网络。

3.5 初始化后的自检清单

全部配置完后,我习惯跑一遍快速自检。下面这个表格是我自己整理的,每次初始化完都逐项打勾:

检查项 命令/方法 预期结果
密码已修改 尝试用旧密码登录 旧密码被拒绝
IP 连通性 ping 网关 丢包率 0%
DNS 解析 nslookup baidu.com 返回 IP 地址
时区正确 timedatectl Asia/Shanghai
NTP 同步 chronyc tracking Last offset < 100ms

每一项都过了,系统初始化才算真正完成。这时候你可以放心地关机、装箱、部署到现场了。

📌 最后说一句: 初始化不是一次性工作。设备在运行过程中,IP 可能被 DHCP 覆盖,NTP 可能因为网络抖动失步。我建议每季度巡检一次,用脚本自动检查这几项。后面章节我会讲如何用 Ansible 做批量巡检,这里先留个悬念。