1.問題現(xiàn)象
i.MX6ULL平臺(tái),在調(diào)試過程中出現(xiàn)sshd在開機(jī)自啟動(dòng)的過程中卡頓現(xiàn)象(等待時(shí)間較久),觀察打印信息發(fā)現(xiàn),sshd一定等待直到以下代碼出現(xiàn)才能正常啟動(dòng)。
random:nonblockingpoolisinitialized
在此過程中,nonblockingpool的初始化要2分鐘。而啟動(dòng)sshd并不需要等待nonblockingpool 初始化。
2.問題解決
可以通過加速nonblockingpool的初始化速度從而解決sshd啟動(dòng)過慢的問題,具體做法修改內(nèi)核代碼。
在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;
在此基礎(chǔ)上加上nonblocking_pool.initialized判斷。
if((fast_pool->count64)?&&
!time_after(now,fast_pool->last+HZ)&&
nonblocking_pool.initialized)
return;
內(nèi)核加上以上修改后重新編譯內(nèi)核并燒寫,開機(jī)時(shí)sshd就可以正常啟動(dòng)了。
另外,記得在/etc/ssh/sshd_config下打開PermitRootLoginyes釋放root權(quán)限登錄。
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40289 -
SSH
+關(guān)注
關(guān)注
0文章
189瀏覽量
16337 -
IMX6ULL
+關(guān)注
關(guān)注
3文章
16瀏覽量
4042
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論