實現ARM-linux自動登入 一、前言在使用linux系統嵌入式開發時,往往需要裝置自動啟動,而繞過linux的登入系統。有很多方法,在這裡說我自己做的方法,直接修改登入的程式原始碼:二、更新mingetty1.到網站http://www.filewatcher.com/m/mingetty-1.07.tar.gz.13435-0.html下載mingetty-1.07.tar.gz2.解壓:tar -zxvf mingetty-1.07.tar.gz 。進入到解壓後的目錄3.修改mingetty.c中的代碼更改mingetty的代碼需要進行兩步操作。第352行的char *logname, *s;更改為char *logname = "root", *s;把第409-415行注釋/* if (autologin) { do_prompt (0); printf ("login: %s (automatic login)\n", autologin); logname = autologin; } else while ((logname = get_logname ()) == 0) /* do nothing */ /*; */(4)修改makefileCC=arm-none-linux-gnueabi-gcc(5)編譯產生mingetty[root@localhost mingetty-1.07]# make(6)更新mingetty將產生的mingetty程式拷貝到根檔案系統的/sbin目錄下mingetty的源碼更改就完成了。 三、更新login(1) 到網站http://www.filewatcher.com/_/?q=util-linux-2.13-pre7.tar.bz2下載原始碼(2)解壓源碼包tar -xf util-linux-2.13-pre7.tar.bz2解壓後的檔案夾為util-linux-2.13-pre7,進入到解壓縮的檔案夾內其中login的源碼的目錄為util-linux-2.13-pre7/login-utilslogin-utils檔案中不存在make檔案,因此,需要自己編寫編譯命令來產生login。(3)修改login.c中的代碼把344行的passwd_req = 1;更改為passwd_req = 0;在檔案中添加locale.h標頭檔#include <locale.h>(4)編譯產生login[root@localhost login-utils]# arm-none-linux-gnueabi-gcc -o login login.c ../lib/setproctitle.c checktty.c -Wall -lcrypt -I ../include/(6)更新login將產生的login 程式拷貝到根檔案系統的/bin目錄下,結束。 四、修改inittab檔案將跟檔案系統/etc/inittab檔案中的最後的登入語句#S2:2345:respawn:/sbin/getty 115200 ttyS2改為:S2:2345:respawn:/sbin/mingetty ttyS2將修改後的根檔案系統重新下載到系統中,系統啟動時就會直接登入。不需要輸入使用者名稱及密碼了。