记一次服务器启动修复 - /etc/fstab错误至系统无法启动
- 更新:2018-11-24 23:36:59
- 首发:2018-11-24 23:35:41
- 救砖
- 14999
利用RK3399作为ARM微型服务器是非常有趣的事情。然而总有一些意外来得令人措手不及。
事情是这样的。我在服务器中挂载了三块SSD硬盘,其中两块是放于USB硬盘盒,通过Type-C和USB3.0接口连接。
开机自动挂载
我们先看一下开机自动挂载方案。
查询分区的Block ID:
blkid /dev/sda1
/dev/sda1: UUID="7f50f85e-783c-4d94-be37-d2c662504e58" TYPE="ext4"
然后把 Block ID 添加到/etc/fstab
文件中,这是我的fstab
文件:
UUID=a848d601-91ac-4b5c-8ce3-ffef674f5dd5 /nvme ext4 defaults 0 0
UUID=88eb8df2-1a8f-4f38-acc9-566deb1c8f40 /tf ext4 defaults 0 0
UUID=7f50f85e-783c-4d94-be37-d2c662504e58 /ssd0 ext4 defaults 0 0
UUID=e66307fc-2c33-406b-ae60-b27e2344d02a /ssd1 ext4 defaults 0 0
事情是这样开始的
我在检查硬盘状态的时候,发现其中一块硬盘没有进行4k对齐。然后我对该硬盘进行了重新分区。结果服务器就卡死了!?
当我重启服务器后,一直连不上SSH。
插入HDMI,显示器一片黑暗!
如果是X86架构的服务器,挂载/etc/fstab
失败后会进入高级模式,可以通过接入显示器解决,但是ARM架构(或者说我这块板子)的系统并没有提供这样的后悔药。
x86系统可以进入光盘Linux,然后挂载硬盘改写/etc/fstab
文件。但是我的系统烧写在eMMC,即便能在SD卡刷机,通过SD卡引导系统并挂载eMMC硬盘也是非常有挑战的事情。
感谢回复! Clang 在生成时沿用了 GCC 的版本号标识,我是不是可以理解为Clang 18.1.4生成时使用的就是GCC4.8,所以我后续使用gcc 9.4
gcov
就会有不兼容的问题抱歉,这块我也不太清楚,尝试寻求AI的帮助吧。
我在这个过程中遇到了各种问题- -,现在在UDC core: g_serial: couldn't find an available UDC卡住了,请问大佬有什么解决方案吗,还是说我前置的设置就错了呢,> 这个需求很特殊。是可以的,但是比较困难,需要修改驱动配置。
好思路呀!!
关于hex编辑器,网上没找到特别好用的(小白没办法),最后在vscode上扩展一搜hex,第一个安装一下就可以用vscode进行hex编译了