缘由:由于硬件设计可能存在问题,导致sd 开启动失败,高速的时候,在建立VFS 时就会引起kernel 崩溃,官方的板子就正常,自己的板子第一版硬件可以,第二版就不行
思路:从emmc 启动 替代sd卡启动,在官方板子上用sd卡启动,挂载emmc ,把文件系统和 内核,uboot 复制进emmc 分区,然后通过拨码开关启动
- 官方sd卡烧写大于16G 小于16 会烧写失败,但是烧写过的卡依然可以正常用,如果想放到8G emmc 需要缩减,
解决方法:sd卡 在虚拟机下挂载,文件系统分区查看,其实没有那么大,而是空间分配显得那么大, 如果直接复制会产生某些异常,注意:不要随便修改文件系统的权限,不然可能导致 root 用户无法登录, 采用 压缩的方式,把sd卡文件系统压缩,到时候挂载到emmc ,直接解压到emmc 就可以,实测压缩后的文件系统 2.6G
2.emmc 分区 按照手册先把emmc 整体格式化为 ext4 : mkfs -t exit /dev/xxxxx
然后用 fdisk 分区 ,分区1为 放置 内核,uboot 的区域,分配 100M
剩下的为文件系统分区,文件系统分区为ext 4 格式
分区1 设置为FAT32
问题; 发现FAT 32这个分区无法挂载,提示一堆错误
解决: 执行 mkdosfs /dev/mmcblk0p1 —将/dev/mmcblk0p1格式化为FAT32格式
然后就可以挂载
3.不能ping 通外网的问题:
https://superuser.com/questions/1026291/linux-avahi-daemon-failed-to-find-user-avahi
4. ssh 不能登录,即使修改了 /etc/ssh/sshd_config perimtrootlogin = yes 还不行,这样处理
https://blog.csdn.net/lizheng2017/article/details/123141120,主要观察log 启动 ,看那些服务没启动然后根据提示查找解决方法
5.网络不能启动,eth 无法识别
在rc.local 里 配置网络ip 和 网关 就可以 ,注意 rc.local 里 启动失败的程序需要屏蔽 (观察启动log)
在网络启动服务和设置ip 服务直接增加 sleep 5