1.問題現象
i.MX6ULL平臺,在調試過程中出現sshd在開機自啟動的過程中卡頓現象(等待時間較久),觀察打印信息發現,sshd一定等待直到以下代碼出現才能正常啟動。
random:nonblockingpoolisinitialized
在此過程中,nonblockingpool的初始化要2分鐘。而啟動sshd并不需要等待nonblockingpool 初始化。
2.問題解決
可以通過加速nonblockingpool的初始化速度從而解決sshd啟動過慢的問題,具體做法修改內核代碼。
在kernel_code/drivers/char/random.c約900行處的voidadd_interrupt_randomness(intirq,intirq_flags)中有一處判斷。
if((fast_pool->count64)?&&
!time_after(now,fast_pool->last+HZ))
return;
在此基礎上加上nonblocking_pool.initialized判斷。
if((fast_pool->count64)?&&
!time_after(now,fast_pool->last+HZ)&&
nonblocking_pool.initialized)
return;
內核加上以上修改后重新編譯內核并燒寫,開機時sshd就可以正常啟動了。
另外,記得在/etc/ssh/sshd_config下打開PermitRootLoginyes釋放root權限登錄。
-
內核
+關注
關注
3文章
1382瀏覽量
40375 -
SSH
+關注
關注
0文章
189瀏覽量
16378 -
IMX6ULL
+關注
關注
3文章
16瀏覽量
4063
發布評論請先 登錄
相關推薦
評論