리눅스 디바이스 드라이버를 공부하기 위해 제작했던 프린터 포트를 이용한 LED 제어 보드
LED를 너무 큰 것을 구입했더니 전구라는 말을 듣기도 했지만.. 만족 ^^
유영창님이 직접 이 보드를 보시고 열의가 대단하다며..
리눅스 디바이스 드라이버 2판을 저술하면 한권 보내주겠다는 약속을 하셨다.
(언제가 될 지는 모르지만~;;)
Target 커널 버전 linux-2.6.15.7
기존 OS
- Haansoft2006 Kernel Version 2.6.14-56hs
1. 커널 소스 얻기
# cd /usr/usr/
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.7.tar.bz2
2. 초기화
# make mrproper
기존의 의존성을 제거하는 미스터 프로퍼!
3. 압축 풀기
# bunzip2 linux-2.6.15.7.tar.bz2
# tar xvf linux-2.6.15.7.tar
# ln -s linux-2.6.15.7 linux
# cd linux
링크 만들고 경로 이동..
4. configuration
# cp /boot/conifg-2.6.14-56hs ./.config
기존 사용하던 설정 파일을 복사
# make menuconfig
가장 아래에서 두 번째 메뉴 기존 설정 파일(.config)을 로드한뒤 저장 & 종료
# make oldconfig
기존 설정 적용
5. 커널 이미지 만들기
# make bzImage
(./arch/i386/boot/bzImage 생성)
6. 모듈
# make modules
# make modules_install
7. initrd
# cd /usr/src/linux/arch/i386
# mkinitrd /boot/initrd-2.6.15.7.img 2.6.15.7
(/boot 디렉토리에 initrd 이미지 생성)
8. 부팅 환경 설정
<grub 부트로더>
# cd /usr/src/linux/
# cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.6.15.7
# cp System.map /boot/System.map-2.6.15.7
( /boot 디렉토리에 부팅에 필요한 이미지와 파일 준비)
# cd /boot
# vi grub/grub.conf
title 2.6 Kernel Test Version (2.6.15.7)
root (hd0,1)
kernel /boot/vmlinuz-2.6.15.7 ro root=LABEL=/
initrd /boot/initrd-2.6.15.7.img
위의 코드 추가하고 재부팅하고
부트로더의 2.6 Kernel Test Version (2.6.15.7) 선택하여 부팅
config 파일을 잘못 만들어서 우분투에서 컴파일 실패하고
한컴 리눅스로 성공..
이것때문에 얼마나 고생한건지 ㅠ.ㅠ
1.필요 라이브러리 다운 및 gcc 설치
apt-get install libqt3-headers libqt3-mt-dev (make xconfig을 위해 필요)
apt-get install build-essential bin86 kernel-package (gcc, make, g++)
2. http://www.kernel.org -> 커널 다운
mv 다운커널 /usr/src/
심볼릭 링크만들기 ln -s /usr/src/커널폴더명 linux
cd /usr/src/linux
3. defconfig (자신의 환경에 맞게 설정)
xconfig (추가 할부분 수정)
4. make > /dev/null (필요없는 화면 출력 null 로..)
5. make modules
6. make install
7. vi /boot/grup/menu.lst 설정
=====================================================================================
우분투는 root 계정도 안주고..
기본적인 컴파일도 되지 않는다.
"공부하세요!" 이 말인가...