시스템 로그에 자꾸 아이피가 중복된다는 메시지가 뜨길래 이참에 아이피를 DHCP 로 자동 설정하기로 하였다. 그런데 DHCP 를 쓰기위해서는 bpf 가 설치되어 있어야 하고, 이걸 다시 설치하기 위해서는 커널을 재컴파일 해야한답니다.
그냥 다른 아이피 아무거나 쓸까하다가 또다시 아이피 중복 문제가 생길 수 있으니, 커널 컴파일도 해볼 겸해서 시작을 해보았습니다.
하는 법은 그리 어렵지 않더군요.
자세한 내용은 FreeBSD handbook 에 잘 설명되어 있습니다.
여기서는 제가 했던 방법에 대한 간략한 소개만 해보겠습니다.
처음에 시스템을 설치할 때 User 로 셋팅을 하다보니 커널 컴파일에 필요한 소스가 설치되어 있지 않았습니다.
그래서 FreeBSD Handbook 에서 일러준 대로 sysinstall 을 이용하였습니다.
choosing Configure, then Distributions, then src, then
base and sys
해당 항목을 설치하고 OK 를 하면 CD로 부터 소스 파일을 설치해줍니다.
그리고나서 계속해서 Handbook 에서 알려준 대로 합니다.
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL
이제 MYKERNEL 파일을 편집합니다. dmesg 를 이용해서 어떤 디바이스들이 있는지를 확인해보면서 편집하는 것이 좋을 것 같습니다.
[root /home/shinnara]# dmesg
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007
root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
mptable_probe: MP Config Table has bad signature: ed
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1400MHz (1413.96-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf0a Stepping = 10
Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
real memory = 536805376 (511 MB)
avail memory = 515883008 (491 MB)
Copyright (c) 1992-2007 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007
root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
mptable_probe: MP Config Table has bad signature: ed
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 1400MHz (1413.96-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0xf0a Stepping = 10
Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
real memory = 536805376 (511 MB)
avail memory = 515883008 (491 MB)
제 FreeBSD 시스템에서 dmesg 를 한 결과중의 일부입니다. 펜티엄 4 1.4G에 512 MB 임을 알 수 있습니다.
MYKERNEL 파일을 보면 인텔칩을 쓰는 경우 CPU 가 I486,I586,I686 이 있는데 저는 686 만 두고 나머지는 주석처리를 하였습니다. ident 에는 설정파일 이름을 적습니다.
machine i386
#cpu I486_CPU
#cpu I586_CPU
cpu I686_CPU
ident MYKERNEL
#cpu I486_CPU
#cpu I586_CPU
cpu I686_CPU
ident MYKERNEL
파일을 차분히 보면서 필요 없는 장치들은 모두 주석 처리를 합니다. 이를 위해 dmesg 에서의 장치를 확인하면 좋습니다.
파일 편집이 끝나면 이제 컴파일을 합니다.
cd /usr/src
make buildkernel KERNCONF=MYKERNEL
make buildkernel KERNCONF=MYKERNEL
시스템에 따라 다르겠지만 꽤나 오랜 시간이 걸립니다. 저 같은 경우는 파일에서 마구 지웠더니 중간에 에러가 나서 다시 컴파일을 했습니다.
수정후 재 컴파일은 약 30분 정도 걸렸습니다~
make installkernel KERNCONF=MYKERNEL
그리고는 reboot 을 합니다.
부팅 되는 시간을 따로 측정해보지는 않았지만 전보다는 조금 더 빨라진것 같기도 하네요~
댓글을 달아 주세요
님 너무 귀여워요 ㅎㅎㅎ 마구마구 지우다가에서 웃음 ㅎㅎㅎㅎ
2007/12/30 02:08pc통신 시절...
2008/02/12 17:15제일 보편적인 프로토콜 Z-MODEM
빠르다고 은근 알려졌던 J-MODEM
그리고 가장 인기가 없었던 방식 KERNEL...
글과는 상관없지만... 생각이 나서... ^^; 헤헤헤;;;