필자 : 이우중 (wjlee@debianusers.org)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
참고문헌: 커널문서 필자의 테스트환경: ---------------------- 목차 ------------------------- 1. 개요 -------------------------------------------------------
1. 개요 이 글에서는 프레임버퍼와 lpp 를 패치하여 커널을
컴파일하는 것을 다루고 있습니다.
2. 프레임버퍼란 무엇인가 먼저 프레임버퍼에 대한 내용을 한번 알아보도록
하겠습니다. [*] Support for frame buffer devices
(EXPERIMENTAL) ATI Rage 128 display support
(EXPERIMENTAL) 이중 vesafb 는 일반적인 vesa 2.0 호환 그래픽 카드를 지원하며 위의 목록에 없는 그래픽 카드를 가졌거나 또는 vesa 2.0 호환 그래픽 카드를 사용한다면 이것을 사용하면 됩니다. 또한 필자의 경우 nVidia RIVA TNT II 를 사용하고 있는데 이것 역시 vesafb 로 사용이 가능합니다. 대부분의 인텔플랫폼에서의 그래픽 카드들은 vesa 2.0 호환이므로 vesa 를 사용하는 것을 추천합니다. (아직 다른 드라이버들은 EXPERIMENTAL 상태임을 유의하기 바랍니다.) 실제적인 사용으로는 /dev/fb 를 통한 X Server
의 이용과(X86_FBdev) 또는 고해상도의 콘솔(그래픽콘솔: 필자의
경우는 800x600 에 65,536 색이 지원되는 콘솔을 사용하고 있다.
하지만 이 경우는 현재의 글에서 다룰 lpp 패치가 화면에 꽉차게
나오지 않기 때문에 미관상, 만약 이렇게 사용하려면 lpp 를 하지
않는 것이 좋다.)
3. LPP (Linux Progress Patch) 의 소개 (http://lpp.freelords.org) Linux Progress Patch 는 full-screen logo 를
progress bar (윈도우의 시작시에 bar 가 옆으로 채워지는 것을
생각하면 됩니다)와 text 로 된 정보를 부팅하는 동안에 제공하기
위한 커널패치입니다. 실제로 아래의 필자의 부팅시의 화면을 보면
좀더 이해가 빠를 것입니다. 즉 기존의 부팅시에 나오는 메시지들을
숨기고 그 내용을 단순화 해서 화면의 progress bar 밑에 출력하게
됩니다. 예를 들면..starting init... 이런 정도의 메시지들이 바뀌면서
나타나게 됩니다.
4. 전반적인 사항에 대한 정리 위에서 언급한 바와 같이 vesafb 는 인텔 플랫폼에서
비트맵 텍스트 콘솔을 이용해 그래픽 모드를 사용할 수 있게 해주는
디스플레이 장치입니다. 유용한점에 대한 정리 * 그것은 훌륭한 큰 콘솔을 제공합니다.(128
cols + 48 lines with 1024x768) 다음은 필자의 부트시 실행되는 LPP 에 의한 화면입니다. [그림1 : 데비안 테마를 사용한 필자의 부트화면]
5. Lpp 패치및 테마적용하여 리눅스 커널을 컴파일하기 그럼 실제적인 패치와 컴파일을 한번 해보도록 하겠습니다. 1) 커널에 LPP 패치 및 테마의 인스톨 일단 커널 소스를 ftp.kernel.org 나 기타 미러사이트로부터
받아옵니다. sid:/usr/src# tar zxvf ./linux-2.4.0.tar.gz 다음으로는 lpp 웹사이트에서 lpp 패치와 테마를
받아올 차례입니다. http://lpp.freelords.org 전체테마는 http://lpp.freelords.org/Themes.phtml 에서 확인하실 수 있습니다. 테마파일의 해상도는 640x480, 800x600, 1024x768,
1280x1024, 1400x1050 lpp-0.3.0-tar.bz2 - 커널 패치 파일 두개의 파일을 /usr/src 디렉토리에 다운을 받아서 저장합니다. 먼저 lpp-0.3.0-tar.bz2를 압축을 풀어 놓습니다. sid:/usr/src# tar jxvf lpp-0.3.0-tar.bz2 압축을 풀면 lpp-0.3.0 디렉토리가 생성됩니다. sid:/usr/src/lpp-0.3.0# ls 자세한 활용방법은 README 파일을 읽어보시면 됩니다. 일단 커널소스 디렉토리로 버전에 맞는 패치를 합니다. sid:/usr/src/lpp-0.3.0# cd /usr/src/linux-2.4.0 sid:/usr/src/linux-2.4.0# bzip2 -cd /usr/src/lpp-0.3.0/lpp-2.4.0-3.bz2 다음으로는 받아놓은 테마파일을 설치합니다. sid:/usr/src/linux-2.4.0# /usr/src/lpp-0.3.0/theme_install /usr/src/debian.tar.gz /usr/src/linux-2.4.0 theme_install 스크립트의 첫번째 인자는 테마파일이며 두번째 인자는 커널소스 디렉토리입니다. 여기까지 해서 패치를 적용하였습니다. 2) 커널컴파일 LPP와 관련된 사항 다음으로는 컴파일 과정입니다. Console Drivers -> Video mode selection
support 이 문서에서는 간략하게 데비안 패키지로 커널을 빌드하는 방식으로 소개를 할까 합니다. 3) 데비안에서의 패키지로 커널 빌드하기 데비안에서의 패키징은 다음과 같은 패키지가
기본적으로 설치되어 있어야 합니다. kernel-package 가 설치되어 있는 경우 그 설정
파일은 /etc/kernel-pkg.conf입니다.
[그림2: kernel-pkg.conf] 자세한 설정에 대해서는 콘솔에서 다음과 같이 하면 맨페이지를 볼 수 있습니다. #man kernel-pkg.conf 그럼 파일을 열어서 다음과 같이 설정하여 보겠습니다. maintainer
:= WooJoong-Lee 첫 항의 maintainer 는 패키지의 제작자를 적어놓습니다.
patch_the_kernel 에는 현재 커널을 패치하였으므로
YES 값으로 해줍니다. 다음으로 make-kpkg 에 의한 설정을 하려면 .config 파일이 리눅스 소스디렉토리에 있어야 한다. /boot 에보면 config-version 파일이 있다. 이것을 소스디렉토리에 .config 파일로 카피한다. #cp /boot/config-2.2.17 /usr/src/linux-2.4.0/.config 여기까지 설정하여 주셨다면 다음과 같은 명령으로 설정을 시작합니다. sid:/usr/src/linux-2.4.0# make-kpkg configure 그러면 설정해 놓은 대로 menuconfig 화면이 뜹니다. 아래는 lpp 패치관련 옵션을 설정하는 부분을 캡쳐 한 그림입니다.
[그림3: 커널 설정부분에서 lpp를 가능하도록 설정] 설정이 끝나면 패키지를 빌드합니다. sid:/usr/src/linux-2.4.0# make-kpkg kernel_image 컴파일이 끝나면 상위 디렉토리에 kernel-image-2.4.0_wjlee0.4_i386.deb
파일이 생성된 것을 확인할 수 있습니다. sid:/usr/src/linux-2.4.0# make-kpkg kernel_headers 아래는 make-kpkg 의 옵션입니다. 참고 하시기
바랍니다.
#dpkg -i kernel-image-2.4.0_wjlee0.4_i386.deb
6. lilo 의 설정 먼저 프레임버퍼 장치를 통해 생성될 그래픽 콘솔의 해상도를 정의하여야 합니다. /etc/lilo.conf 파일을 열고 vga 옵션을 주어
아래의 표에서 원하는 해상도와 색상을 결정하시기 바랍니다.
다음으로는 append=”console=/dev/tty2 CONSOLE=/dev/tty2”를 추가합니다. 아래는 필자의 lilo.conf 의 예입니다. ----------------------- /etc/lilo.conf --------------------------- boot=/dev/hda --------------------------------------------------------------- 설정을 마치고 나와서 콘솔에서 다음과 같이 입력하여 mbr 의 내용을 변경합니다. #lilo
7. 마치며 이것으로 모든 사항이 끝났습니다. 참고: 데비안에서의 modconf 는 아직까지 커널
2.4를 완전하게 지원하지 않고 있습니다. |