IMX6ULL-开机启动ssh卡顿

1. 问题现象

i.MX6ULL平台,在调试过程中出现sshd在开机自启动的过程中卡顿现象(等待时间较久),观察打印信息发现,sshd一定等待直到以下代码出现才能正常启动。

random:nonblocking pool is initialized

在此过程中,nonblocking pool 的初始化要 2 分钟。而启动sshd并不需要等待nonblockingpool 初始化。

2. 问题解决

可以通过加速nonblockingpool的初始化速度从而解决sshd启动过慢的问题,具体做法修改内核代码。

在kernel_code/drivers/char/random.c 约 900 行处的voidadd_interrupt_randomness(int irq, int irq_flags) 中有一处判断。

if((fast_pool->count < 64) &&

!time_after(now, fast_pool->last + HZ))

return;

在此基础上加上nonblocking_pool.initialized判断。

if((fast_pool->count < 64) &&

!time_after(now, fast_pool->last + HZ)&&

nonblocking_pool.initialized)

return;

内核加上以上修改后重新编译内核并烧写,开机时sshd就可以正常启动了。

另外,记得在/etc/ssh/sshd_config 下打开PermitRootLogin yes 释放 root 权限登录。

相关推荐
枳实-叶2 分钟前
【Linux驱动开发】第16天:按键中断完整实战
linux·运维·驱动开发
杨云龙UP1 小时前
Oracle Recycle Bin 回收站详解:DROP TABLE 后还能找回吗?
linux·运维·数据库·sql·mysql·oracle
又熟了3 小时前
乌班图Ubuntu安装
linux·运维·ubuntu
Cat_Rocky3 小时前
Linux-ansible之Playbook简单应用
linux·网络·ansible
无情的西瓜皮3 小时前
MCP协议实战:从零搭建一个AI Agent工具服务器
运维·服务器·python
Do_GH3 小时前
【Linux】09.WSL+SVN部署操作说明
linux·运维·svn
dualven_in_csdn4 小时前
mqtt消息及日志查看
linux·运维·服务器
都在酒里4 小时前
Linux字符设备驱动开发(四):进入硬件世界——GPIO子系统与LED设备驱动
linux·运维·驱动开发
无足鸟ICT4 小时前
【RHCA+】fortune命令(输出一句话)
linux
Coin_learning4 小时前
Linux 基础命令完全教程:从入门到实战
linux