stm32转向imx6ull 嵌入式Linux开发(1)
1.准备工作
购买了野火的imx6ull核心板,下载了其云盘的资料,按其pro底板制作了底板并进行了焊接。现在开始软件调试。
2.由于硬件调试时多次上电,所以使得自带的nand无法启动,所以按照手册设置为SD卡启动。
3.烧录

进行了烧写,使用

这个镜像进行烧写。

显示烧录成功。
把sd卡插入,usb转串口接入,并使用MobaXterm创建串口。因为野火默认使用uart1输出log信息。输出内容如下:

4.常规配置
4.1配置密码

打开issue,内容如下,

但是/etc/issue是一个纯文本文件,它的作用是在你输入用户名和密码之前,在登录界面显示一段欢迎信息或系统标识。你可以把它理解为一个“电子欢迎牌”。
Linux系统的用户密码,其实存放在 /etc/shadow 这个文件里。这是一个权限极高的系统文件,只有root用户才能读取,安全性远高于过去的/etc/passwd文件。
✅ 正确修改密码的方法
要修改密码,应该使用 passwd 命令,而不是编辑任何文件。
-
修改当前用户密码:直接在终端输入
passwd,然后根据提示输入当前密码和新密码即可。
nano下Ctrl+O为保存,Ctrl+X为退出,Ctrl+k为剪切,ctrl+u为粘贴。
4.2 修改静态IP
当前默认的网络配置如下:
eth1:物理网卡
lo:回环测试
usb0:系统usb虚拟的

先用:
(1)sudo mv /etc/network/interfaces /etc/network/interfaces.save 将原来的interfaces文件保存为save文件;
(2)systemctl enable systemd-networkd,,使能systemd-networkd
(3)在/etc/systemd/network下,修改network文件:

在这个目录下新建eth1.network文件,内容如下:

修改完毕后重启 systemd-networkd 服务:
sudo ip addr flush dev eth1 // 刷新网卡
sudo systemctl restart systemd-networkd // 重启服务
但是如果重启系统,会出现一个问题:networkd服务启动早于网卡,使得服务没有找到可用的网卡,使得停止服务。
🛠️ 解决方案
既然已经确定是启动顺序问题,请采用我之前建议的方案,让 systemd-networkd 等待网卡设备出现后再启动:
sudo systemctl edit systemd-networkd
粘贴以下内容并保存:
[Unit] After=sys-subsystem-net-devices-eth1.device
然后执行:
sudo systemctl daemon-reload
下次重启时,systemd-networkd 会等到 eth1 设备被内核创建完毕才启动,静态 IP 配置就能自动生效,无需再手动重启服务。

![]()
重启进行测试:发现还是无法在boot时启动网卡。所以采用以下方案:
1. 创建一个修复服务
sudo nano /etc/systemd/system/fix-eth1.service
2. 粘贴以下内容
[Unit] Description=Reconfigure eth1 after link is ready After=network-online.target systemd-networkd.service Wants=systemd-networkd.service [Service] Type=oneshot ExecStart=/usr/bin/networkctl reconfigure eth1 RemainAfterExit=yes [Install] WantedBy=multi-user.target
保存并退出(Ctrl+O, Enter, Ctrl+X)。
3. 启用这个服务
sudo systemctl daemon-reload sudo systemctl enable fix-eth1.service
4. 重启系统验证
sudo reboot

使用windows的cmd进行ping,就正常了:


使用ssh登录正常:

至此,可连接上位机,且可以上网了。
更多推荐

所有评论(0)