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 权限登录。

相关推荐
Eternity∞12 分钟前
基于Linux系统vim编译器情况下的C语言学习
linux·c语言·开发语言·学习·vim
芝麻馅汤圆儿20 分钟前
cpu 大小核
linux·运维·centos
m0_7269659832 分钟前
玩转(坏)服务器【一】
运维·服务器
牛奶咖啡131 小时前
shell脚本编程(三)
linux·shell脚本编程·环境变量的设置与取消·位置参数变量与内部参数变量·返回与退出状态·让变量获取键盘输入内容·使用decalre声明变量
2401_890443021 小时前
Linux进程间通信
linux·服务器
Xの哲學1 小时前
Linux 实时调度机制深度解析
linux·服务器·网络·算法·边缘计算
张太行_1 小时前
Linux信号处理函数中断流程分析
linux
晚风吹人醒.1 小时前
iptables防火墙规则(一):iptables语法结构,netfilter功能详解及案例演示
linux·服务器·网络·iptables·防火墙··netfilter
学好statistics和DS2 小时前
两个子进程都sleep, `waitpid` 系统调用
linux·服务器·数据库
シ風箏2 小时前
AutoGen【部署 02】Linux环境安装部署AutoGenStudio并调用本地 qwen2.5:0.5b 大模型举例
linux·autogen·本地大模型·autogenstudio