1. 자동로그인을 처리 하기 위하여 다음과 같은 소스코드를 작성 하여 컴파일 한다.

 

소스 작성
# vi falogin.c

----------- 본문 내용 ---------------
#include <unistd.h>

int main()   
{  
    execlp( "login", "login", "-f", "root", 0);  
    return 0;

----------- 본문 내용 ---------------

 

컴파일 하기
# arm-linux-gcc -o falogin falogin.c
# cp falogin /nfs/auto/.

 

2. 램디스크로 부팅되는 상태에서 플래쉬로 부팅되도록 바꾼다.

 

보드를 부팅하여 다음과 로그인 하고 ./mkflashroot  명령을 이용하여 플래쉬로 부팅 되도록 한다.

 

Welcome to FALinux (www.falinux.com)
Linux Kernel 2.6.21-falinux
falinux login: root
[root@falinux ~]$ ./mkflashroot
mkflashroot ver 1.1 (www.falinux.com)
wait about 20sec ...
backup app
mkdir: Cannot create directory `/tmp/': File exists
rm: unable to remove `/app/lost+found': Directory not empty
copy /bin
copy /dev
copy /etc
copy /home
copy /lib
copy /root
copy /sbin
copy /tmp
copy /usr
copy /var
mkdir ...done
restore app
 
please reboot system and enter EZBOOT->set
   Select >> LF
: will be changed [noinitrd root=/dev/mtdblock2]
 
[root@falinux ~]$ reboot -f
위의 리부팅 명령어로 재부팅을 하여 부트로더로 진입한다.

EZBOOT> set
   ... ( 생략 ) ...
  16) KCMD 1 : mem=64M
  17) KCMD 2 : initrd=0xA0800000,5M root=/dev/ram ramdisk=16384
  18) KCMD 3 : console=ttyPXA2,115200
  19) KCMD 4 : video=ezfb:panel:2
  20) KCMD 5 :
  21) KCMD 6 :

  L)  Load default
      LF) load KCMD2 root=flash
      LR) load KCMD2 root=ramdisk
  M)  generlate Mac address
  S)  Save to flash
  P)  aPply & exit
  Q)  Quit

  Select >> lf
  ...Loaded default

^^;
   ... ( 생략 ) ...
  16) KCMD 1 : mem=64M
  17) KCMD 2 : noinitrd root=/dev/mtdblock2 rootfstype=yaffs2
  18) KCMD 3 : console=ttyPXA2,115200
  19) KCMD 4 : video=ezfb:panel:2
  20) KCMD 5 :
  21) KCMD 6 :

  L)  Load default
      LF) load KCMD2 root=flash
      LR) load KCMD2 root=ramdisk
  M)  generlate Mac address
  S)  Save to flash
  P)  aPply & exit
  Q)  Quit

 ...write 32768  complete
 ...verify complete

  ...Saved

 

  ^^;

   ... ( 생략 ) ...
  17) KCMD 2 : noinitrd root=/dev/mtdblock2 rootfstype=yaffs2
  18) KCMD 3 : console=ttyPXA2,115200
  19) KCMD 4 : video=ezfb:panel:2
  20) KCMD 5 :
  21) KCMD 6 :

  L)  Load default
      LF) load KCMD2 root=flash
      LR) load KCMD2 root=ramdisk
  M)  generlate Mac address
  S)  Save to flash
  P)  aPply & exit
  Q)  Quit

  Select >> q

EZBOOT>

 

위와 같은 명령을 이용하여 부트로더에서 SET으로 진입 후 LF 명령을 이용하여 플래쉬로 부팅되도록 부트로더의 설정을 변경 한다.

 


생성된 falogin 바이너리파일을 /sbin 디렉토리에 복사 한다.
$ mount -t nfs -o nolock,rsize=1024,wsize=1024 [ServerIP]:/nfs /mnt/nfs
$ cp /mnt/nfs/auto/falogin /sbin/.

 

=================

/etc/inittab 파일에 아래와 같은 부분을 다음과 같이 수정함.

------- 수정전 ------------
#T0:12345:respawn:/sbin/getty -L ttySAC0 115200 vt100
------- 수정후 ------------
T0:12345:respawn:/sbin/getty -n -l /sbin/faautologin -L ttySAC0 115200 vt100

=================

 

수정이 끝나고 재부팅을 하여 자동로그인이 되는지 확인해 본다.

 

======================== 아래와 같이 자동 로그인이 잘 된다. ======================
Starting system logger: [  OK  ]
Starting INET services: [  OK  ]

[root@falinux ~]$

 


참고 만일 램디스크를 이용하여 자동로그인을 처리 하려면 램디스크에서 위에서 말한 부분을 바꾸어 주고 램디스크를 재작성 하면 됩니다.