2. XFS 설치를 위한 준비

2.1. Linux 2.4.x-XFS 커널 소스 내려받기

현재 XFS 를 사용할 수 있는 리눅스 커널을 얻을 수 있는 유일한 방법은 CVS 를 이용해 SGI 의 Open Source Development 사이트에서 직접 받는 것이다.

Note: 두개의 다른 트리를 이용할 수 있다:

  • linux-2.4-xfs: 빠르게 이동중인 개발 트리

  • linux-2.4-xfs-beta: 안정적이며 버그 수정만 되는 트리

내 경험은 개발 트리에 기반을 두고 있으나, 베타 트리에서도 모든것이 똑같이(아마도 보다 안정적으로) 동작하리라고 예상한다. 다음은 커널 소스 트리를 내려받기 위한 과정이다:

A. 보통 리눅스 커널 소스는 /usr/src 디렉토리에 설치되므로, 그 디렉토리로 이동하는 것으로 시작한다.

$ cd /usr/src   
   

B. 다음으로, CVSROOT 환경 변수를 설정해서 그것이 적절한 cvs 서버를 가리키도록 한다.

커널을 자주 업데이트할 계획이라면(최신의 변화를 따라잡기 위해서), 이것을 당신의 로그인 스크립트에 넣어둘 수도 있다.

C. 그리고나서 cvs 서버에 로그인하라.

	$ cvs login  (암호는 "cvs")   
  

이것은 한번만 하면 되고, cvs 에 접속할때마다 할 필요는 없다.

D. linux-2.4-xfs 를 가져온다. 첫번째로 다음처럼 한다:

$ cvs -z3 co linux-2.4-xfs    
  

그 코드를 체크아웃 한 후에, 다음의 명령을 이용하여:

$ cvs -z3 update linux-2.4-xfs   
  

CVS 서버에서 최신의 버전으로 당신의 사본을 업데이트 할 수 있다.

2.2. XFS 지원을 모듈로 할 것인가 커널에 컴파일해서 넣을 것인가?

리눅스 커널에 대해 XFS 지원을 모듈로 빌드하는 옵션이 이용가능하고 초기화 RAM 디스크와 lilo 설정에 대한 몇개의 추가사항으로 동작할 것이다(혹은 그렇게 나는 들었다). 나는 (아직) 이것을 시도해보지는 않았으므로, 개발 메일링 리스트의 Russell Cattelan 의 메시지를 인용하는 것 이외에 이것이 어떻게 이루어지는지에 대한 문서를 포함시키지는 않겠다.

 

사실 xfs 를 모듈로 실행하는 것은 매우 어려운 것은 아니다. cmd/xfs/misc 디렉토리에는 수정된 mkinitrd 가 있는데, 이것은 항상 pagebuf xfs_support 와 xfs 를 지원하는 램 디스크를 생성할 것이다.

이렇게 하고 나면 lilo.conf 파일에 initrd 행과 다음의 행을 추가한다.

append = "ramdisk_size=25000"   
  

기본 크기는 4096 인데 xfs 를 넣기엔 작다.

이것은 내 랩탑에서의 결과이다.

punch[12:57am]-=>mount
/dev/ide/host0/bus0/target0/lun0/part8 on / type xfs (rw,noatime) 
none on /proc type proc (rw) 
/dev/ide/host0/bus0/target0/lun0/part6 on /boot type ext2 (rw,noatime) 
none on /dev/pts type devpts (rw,mode=0620)
/dev/ide/host0/bus0/target0/lun0/part1 on /mnt/windows type vfat (rw,nosuid,nodev,umask=0) 
/dev/ide/host0/bus0/target0/lun0/part9 on /blam type xfs (rw)   

punch[12:57am]-=>lsmod 
Module                  Size Used by 
autofs                 13180   1 (autoclean) 
usb-uhci               24918   0 (unused) 
usbcore                35339   0 [usb-uhci]
3c59x                  25149   1 (autoclean) 
maestro                29757   0 (unused) 
soundcore               6085   2 [maestro]
vfat                   13075   1 (autoclean) 
fat                    37733   0 (autoclean) [vfat] 
xfs                   447888   2 
xfs_support            13954   0 [xfs] 
pagebuf                39935   2 [xfs]   


image=/boot/vmlinuz-2.4.0-XFS-test13-pre4 
label=t13p4  
root=/dev/hda8
initrd=/boot/initrd-2.4.0-XFS-test13p4.img 
append="ramdisk_size=25000"
read-only   
  

 
-- CattelanRussell  

나에겐 XFS 지원을 커널에 집어넣어 컴파일하는 것이 훨씬 간단해 보이므로, 이 문서에서는 그 방법을 다룰 것이다. 나는 나중에 모듈로 그것을 시도해보고 그때 보다 자세한 설명을 추가하겠다. 만약 내가 이렇게 하기 전에 누군가가 이 방법을 문서화한다면, 부디 나에게 이메일을 보내주길 바란다. 그리고 나는 적절한 크레디트쪽에 추가를 하겠다. :-)