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

相关推荐
tntxia8 小时前
linux curl命令详解_curl详解
linux
扛枪的书生11 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸14 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode20 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux