- 1 grub
- 2 cpuflags
- 3 gnuls
- 4 send-pr
- 5 apm, poweroff
- 6 LOCALPATCHES
1 grub #
Yui는 caspar 장비에서 첫번째 하드에
?NetBSD, 두번째 하드에 Debian sid, 세번째 하드에 Windows 2000를 설치해서 사용중이다.
?NetBSD뿐 아니라 Debian이나 Windows로도 부팅를 하고 싶어 grub을 설치하였다.
- grub을 설치하자.
# cd /usr/pkgsrc/sysutils/grub
# make install
- grub-install을 한다. 아마 위의 명령을 수행하고 나면 맨 마지막에 grub-install을 하라고 나올 것이다. 똑같은 인자를 주고 실행한다. (설치한 파티션 위치에 따라 인자가 바뀔 수 있을 것 같다.)
- /grub/menu.lst 파일을 작성한다. 이 파일의 내용을 읽고 grub이 메뉴의 형태로 부팅 가능한 OS를 보여주게 된다. Yui의 설정은 다음과 같다.
default 0
timeout 10
title=NetBSD -current
rootnoverify (hd0,0)
chainloader +1
title=Debian sid
root (hd1,1)
kernel (hd1,1)/vmlinuz-2.4.22
title=Windows 2000
map (hd0) (hd2)
map (hd2) (hd0)
root (hd2,0)
chainloader +1
(참고: Windows는 첫번째 IDE 디스크가 아니면 부팅이 안된다고 한다. 이를 위한 옵션이 map이다.)
2 cpuflags #
- cpuflags 설치
# cd /usr/pkgsrc/devel/cpuflags
# make install
- mk.conf에 다음을 추가한다.
.sinclude "/usr/pkg/share/examples/gcc/mk.conf"
.sinclude "/usr/pkg/share/mk/cpuflags.mk"
COPTS+=-pipe
CFLAGS+=-pipe
- 이제 다른 패키지들을 설치해보면 컴파일 옵션으로 -march=athlon 등이 자동으로 추가되는 것을 확인할 수 있다. (Yui는 Athlon 1.2G를 사용중이다.)
3 gnuls #
리눅스에선 ls를 ls --color=auto와 같은 식으로 alias해서 사용한다. 디렉토리는 파란색, 실행퍼미션이 있으면 녹색, gz파일은 빨간색과 같은 식으로 구분되어 나온다. 여기에 익숙해지면 ls -F로는 불만 100%다.
?NetBSD에서도 이것을 쓸 수 있다. misc/gnuls 패키지를 설치하면 된다.
5 apm, poweroff #
OS를 종료할 때 PC 전원도 같이 꺼지면 편리하다. apm설정을 하면 된다.
- 커널 컴파일
- /usr/src/sys/arch/i386/conf/GENERIC파일을 열고 apm을 찾아 주석을 지운다.
- 커널을 다시 컴파일한다.
- apmd 설정
- 시작시 apmd가 실행되도록 /etc/rc.conf파일에 다음을 추가한다.
# echo "apmd=YES" >> /etc/rc.conf
6 LOCALPATCHES #
gaim 끝글자 패치와 같이 upstream이나 pkgsrc패치로 제공되지는 않지만 꼭 필요한 패치가 있을 수 있다. 하지만 잘 적어두지 않으면 자신이 무슨 패치를 했었나 기억하기가 쉽지 않고, 따라서 버전업할 때마다 고생을 하게 된다. LOCALPATCHES가 이의 해결책이 될 수 있다. 백문이 불여일견. gaim끝글자 패치를 한번 만들어보자.
- mk.conf
- LOCALPATCHES는 기본적으로 정의되어 있지 않다. 디렉토리는 원하는 곳으로 바꿔서 쓴다.
# echo "LOCALPATCHES=/usr/pkgsrc/local" >> /etc/mk.conf
- 해당 패키지 디렉토리 생성
- LOCALPATCHES 디렉토리 안의 구조는 pkgsrc와 똑같다. 따라서 gaim이라면 다음과 같이 한다
# cd /usr/pkgsrc/local
# mkdir -p /chat/gaim
- patch file 작성
- make install
# cd /usr/pkgsrc/chat/gaim
# make install
- 참고
- 모든 localpatch는 기본 patch파일들이 다 적용된 후에 적용된다. 따라서 localpatch를 만드실 때 make patch까지 하고 만들어야 한다.
CategoryTip