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

相关推荐
Yengi8 分钟前
【test】gtkmm-环境搭建
linux
Lightning-py21 分钟前
SSH远程连接服务器耗时>10s
linux·服务器·网络
starvapour22 分钟前
基于端口转发部署seafile私人云盘服务器
linux·ubuntu·seafile
丿BAIKAL巛27 分钟前
如何解决CentOS启动时XFS 文件系统的元数据损坏问题
linux·运维·centos
胖好白35 分钟前
Linux内核设计与实现读书笔记—(二)从内核出发
linux
飞Link38 分钟前
Linux下的Docker安装教程
linux·运维·服务器·docker·容器
Better Bench44 分钟前
ubuntu 不同系统架构(aarch64\arm64\x86_64)安装miniconda以及配置pip镜像
linux·ubuntu·pip
代码游侠1 小时前
学习笔记——进程
linux·运维·笔记·学习·算法
北慕阳1 小时前
背诵-----------------------------
java·服务器·前端
Risk Actuary1 小时前
磁道优化分布的一道题
linux·运维·服务器