강좌 & 팁
안녕하세요.
유형석입니다.
이번에는 리눅스 자동 로그인 방법에 대해서 알려 드리겠습니다~
1. 자동 로그인
보드에서 작업을 하다보면 부팅을 여러번 하게 됩니다.
그때마다 로그인 프롬프트가 뜨면 root 라고 적어줘야 하죠.
"아~ 하지만 이것도 귀찮다!"
하시는 분들을 위해서 준비해 봤습니다.
일단 개발환경은 당욘 저희 회사 EZ 보드 기준으로 작성 되었습니다.
다른 회사 제품에서는 작동을 보장하지 않습니다.
1. autologin 을 만들자
몇가지 방법이 있다 들었지만 저는 간편하게
execlp 함수를 사용해서 로그인 하는 방법으로 설명 드리겠습니다.
일단 원하시는 에디터나 개발 환경을 여세요.
저는 간단한 프로그램이기 때문에 그냥 gedit로 열어 버렸습니다.
그리고 나서 아래와 같이 코딩을 해주고 저장을 꼭 해줍니다.
코드를 보시면 아시겠지만 단순 login에 root 라고 적어주는(유저대신) 프로그램이라고 보시면 됩니다.
그 다음에는 보드에 맞는 툴체인을 사용하여 컴파일을 합니다.
전 EZ-S3C6410 기준이기 때문에 arm-generic-linux-gnueabi-gcc를 이용했습니다.
그 다음에는 램디스크를 마운트 시켜야 합니다.
일단 전 6410용 램디스크를 포럼에서 다운로드 하여
mkdir 로 ramdisk 라는 폴더를 생성해 주었습니다.
그 다음 gz로 압축되어 있기때문에 gunzip으로 압축을 풀어 주었고
mount 명령으로 방금 생성한 폴더에 마운트 시켜주었습니다.
끝으로 방금 컴파일하여 생성된 autologin 바이너리 파일을 ./ramdisk/sbin 폴더에 복사 하였습니다.
그리고 초기 시작시 실행될 수 있게 하기 위해서 ./ramdisk/etc/inittab 파일을 수정해줄 필요가 있습니다.
적절한 에디터나 개발툴로 파일을 열어 줍니다.
56번 라인이 원본이지만 일단 주석 처리 해주었고
55번 라인에
T0:12345:respawn:/sbin/autologin /sbin/getty -L ttyFC 115200 vt100
이라고 추가하여 주었습니다.
마지막으로 마운트 했던 디렉토리를 umount 명령으로 해제 시키고
(램디스크 올리는 방법은 포럼에 자세히 나와있으니 따로 설명은 하지 않겠습니다.)
이번주에는 여기까지!
짧은 글 읽어 주셔서 감사합니다!