Tip/NetBSD Tip


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-install /dev/wd0d
    

  • /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 패키지를 설치하면 된다.

  • gnuls 설치
    # cd /usr/pkgsrc/misc/gnuls
    # make install
    

  • alias 편집
    사용하는 쉘에 맞게 alias로 ls를 'gls --color=auto'로 정의한다.

4 send-pr #

sendmail으로 양식 갖춰서 메일을 보내는 거 같은데, sendmail설정을 잘 모르니... 일단 http://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd 를 이용하자. (나중에 정리할 것.)

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 작성
    • 만든 디렉토리 안에 패치파일을 복사한다. 기본 패치파일과는 달리 이름은 꼭 patch-?a-z?a-z일 필요는 없다. [http]http://yui.pe.kr/distfiles/gaim_final_letter.diff 파일을 (gaim-0.78에 해당하는 패치파일.) $(LOCALPATCHES)/chat/gaim/ 에 넣어둔다.
  • make install
    # cd /usr/pkgsrc/chat/gaim
    # make install
    

  • 참고
    • 모든 localpatch는 기본 patch파일들이 다 적용된 후에 적용된다. 따라서 localpatch를 만드실 때 make patch까지 하고 만들어야 한다.

CategoryTip

last modified 2004-07-10 18:31:12
고치기|찾기|쪽 지우기|비슷한 쪽|
0.3233 sec