BSD 커널 대. 리눅스 커널? [닫은]


21

나는 기술적 인 용어로 알고 싶었다. 사이의 차이가 무엇인가 BSD Kernel하고 Linux Kernel.
리눅스에서, 우리는 소스 커널을 다운로드 할 수 있습니다 patch그것과 makemake modules그것을. 커널을 편집 할 수있는 여러 가지 도구 ( config예 : menuconfig, xconfig...)가 있습니다.
그러나 나는 BSD에서 그런 거대한 분야를 찾을 수 없었습니다. 먼저 다운로드 할 수 BSD kernel있습니까? 어떻게 구성 할 수 있습니까? 그리고 ...

그래서 내가 묻는 것은 (조상과 어원을 언급하지 않고)

  • Kernel분배의 의존 (에서) 각각의 경우에?
  • 작업 방법 각각 Kernel과 도구 를 구성하는 방법은 무엇입니까?
  • 각 경우에 패치 작업을 수행 할 수 있습니까?
  • kernel유통 영역 외부의 가용성 ? ( Kernel Sources)?
  • Kernels각각의 경우 에 사용 가능한 맛 ( X??BSD/ Linux) XEN/Vmware/GEN?

2
하나의 Linux 커널이 있기 때문에 하나의 BSD 커널이 없습니다 ... FreeBSD 커널, NetBSD 커널, OpenBSD 커널 등은 모두 다릅니다 (동일한 기준을 공유하지만). 그중 하나를 선택하고 다운로드 및 컴파일에 대한 문서를 읽으십시오.
lgeorget

답변:


16

우선, BSD는 마치 하나 인 것처럼 이야기합니다. 기술적으로, 그들이 모두 원래 유래 한 것이 있다고 생각합니다. 마지막 릴리스는 1995 년이었습니다. "4.4-Lite2"를 검색하면 여러 개의 사본을 찾을 수 있습니다. Wikipedia의 Berkeley Software Distribution 기사 에서 자세한 내용을 찾을 수 있습니다 .

많은 것들이 그것에서-중입니다 파생 * -FreeBSD, 오픈 BSD와 NetBSD의가. 세 가지 모두 오픈 소스이며 소스 코드를 얻을 수 있습니다. 요즘 BSD를 말하는 사람은 아마도 그들 중 하나를 언급하고있을 것입니다.

빠르게 탐색하려면 FreeBSD 및 Linux Kernel Cross-Reference가 있습니다. 이 사이트에는 다른 유닉스 계열 커널도 있습니다.

그러나 독립형 커널 프로젝트로 존재하는 Linux와는 달리 BSD 커널은 종종 더 큰 프로젝트의 일부이며 배포와 무관합니다. 예를 들어 FreeBSD 커널은 FreeBSD 프로젝트의 일부이며 나머지 배포판과 동일한 서브 버전 저장소에 유지됩니다 .

커널이 나머지 사용자 영역없이 사용되는 곳이 있습니다 (예 : 데비안의 kFreeBSD 포트) .


* : 원래 BSD의 일부는 실제로 멀었습니다. 예를 들어, 캘리포니아 대학의 저작권은 The Regents of the California입니다. 많은 것이 BSD입니다. 예를 들어 Windows에 포함 된 많은 페이지 알림을 읽으면 거기에 있습니다.


3
당신은 각각의 BSD배포판이 모두 같은 것을 갖는 배포판과는 반대로 소유 kernel하고 있다는 것을 의미 Linux합니까?
r004

2
@ r004 예, 각각 고유의 커널이 있습니다.
derobert

7

이것은 FreeBSD에만 해당되지만, 방법과 구성은 OpenBSD와 NetBSD에 대해 동일합니다. 이것은 주요 3 개의 무료 BSD 시스템을 다룹니다.

표준 설치 중에 필요한 모든 것을 설치할 수 있기 때문에 (전체 시스템의) 소스를 얻는 것은 매우 쉽습니다 ( FreeBSD install 참조 ). 여기에 이미지 설명을 입력하십시오

또한 Subversion을 통해 전체 시스템 소스를 얻을 수 있습니다 : svn을 통해 FreeBSD 얻기 .

그런 다음 커널 구성 파일 을 복사 / 편집하십시오 .

cd /usr/src/sys/<your_arch>/conf
cp GENERIC MYKERNEL

불행히도 menuconfigor 와 같은 멋진 도구는 없지만 xconfig구성이 짧고 읽기 / 수정하기 쉽습니다.

vi MYKERNEL

마지막으로 사용자 정의 커널을 만들고 설치할 수 있습니다.

make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL

더 많은 정보 :

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.