B001_01.jpg               



안녕하세요.

 

유형석입니다.


이번에는 리눅스 자동 로그인 방법에 대해서 알려 드리겠습니다~


1. 자동 로그인

    

    보드에서 작업을 하다보면 부팅을 여러번 하게 됩니다.

    그때마다 로그인 프롬프트가 뜨면 root 라고 적어줘야 하죠.


    "아~ 하지만 이것도 귀찮다!"


    하시는 분들을 위해서 준비해 봤습니다.

    일단 개발환경은 당욘 저희 회사 EZ 보드 기준으로 작성 되었습니다.

    다른 회사 제품에서는 작동을 보장하지 않습니다.


1. autologin 을 만들자

    

    몇가지 방법이 있다 들었지만 저는 간편하게

    execlp 함수를 사용해서 로그인 하는 방법으로 설명 드리겠습니다.


    일단 원하시는 에디터나 개발 환경을 여세요.

    저는 간단한 프로그램이기 때문에 그냥 gedit로 열어 버렸습니다.


     autologin_01.png


    그리고 나서 아래와 같이 코딩을 해주고 저장을 해줍니다.

    코드를 보시면 아시겠지만 단순 login에 root 라고 적어주는(유저대신) 프로그램이라고 보시면 됩니다.


    autologin_02.png 


    그 다음에는 보드에 맞는 툴체인을 사용하여 컴파일을 합니다.

    전 EZ-S3C6410 기준이기 때문에 arm-generic-linux-gnueabi-gcc를 이용했습니다.


     autologin_03.png


    그 다음에는 램디스크를 마운트 시켜야 합니다.

    일단 전 6410용 램디스크를 포럼에서 다운로드 하여

    mkdir 로 ramdisk 라는 폴더를 생성해 주었습니다.

    그 다음 gz로 압축되어 있기때문에 gunzip으로 압축을 풀어 주었고

    mount 명령으로 방금 생성한 폴더에 마운트 시켜주었습니다.

    끝으로 방금 컴파일하여 생성된 autologin 바이너리 파일을 ./ramdisk/sbin 폴더에 복사 하였습니다.


    autologin_04.png


    그리고 초기 시작시 실행될 수 있게 하기 위해서 ./ramdisk/etc/inittab 파일을 수정해줄 필요가 있습니다.

    적절한 에디터나 개발툴로 파일을 열어 줍니다.


      autologin_05.png


    56번 라인이 원본이지만 일단 주석 처리 해주었고

    55번 라인에


    T0:12345:respawn:/sbin/autologin /sbin/getty -L ttyFC 115200 vt100


    이라고 추가하여 주었습니다.


autologin_06.png


    마지막으로 마운트 했던 디렉토리를 umount 명령으로 해제 시키고


     autologin_07.png


    gzip 명령어를 사용해서 다시 .gz로 압축해 주었습니다.


    autologin_08.png


    그 뒤에는 부트로더에서 램디스크를 다시 올리고 부팅 하면 login에 root를 안적어도 바로 로그인 되는걸 보실수 있습니다.
    (램디스크 올리는 방법은 포럼에 자세히 나와있으니 따로 설명은 하지 않겠습니다.)


    이번주에는 여기까지!


    짧은 글 읽어 주셔서 감사합니다!