Compaq Armada M300(이하 Armada)은 오래된 구형 노트북으로 window 98버전이 default로 깔려 나온 2000년 전후에 판매된 Intel Pentium 3 450MHz~600MHz CPU를 사용하는 노트북이다.
그 날렵하고 가벼운 디자인과 도킹스테이션을 이용한 확장성 등이 당시에는 꽤 뛰어난 명작으로 인식되었으며 Sub Notebook으로 많은 사랑을 받았다. 그러나, 짧은 배터리 사용시간(배터리도 독특한 받침대형태의 4Cell 크기로 구성되었으며 새 제품이 약 1시간 가량, 사용기간이 좀 되는 경우 약 20-30분 정도로 급격히 줄어들었다)과 메모리 확장성의 제한(64M기본 장착, 128/256M추가 장착 가능, 512M 장착 가능 여부 불확실)으로 인해 window 시스템의 특성상 많은 응용 프로그램이나 patch, window update가 설치되면 곧 사용하기에는 아무런 장점이 없는 컴퓨터가 되어버렸다.
또한 국내에는 도킹스테이션이 거의 판매되지 않아 USB부팅과 외장 CD-ROM부팅이 지원되지 않는 BIOS의 특성에 의해 외장 Floppy와 외장 CD-ROM을 통한 불편한 OS설치 또한 사용자의 다양한 활용에 제약조건이 되었다.
나의 Armada(P3 500MHz 320M RAM 10G HDD) 역시 더 이상 노트북으로서의 활용가치가 없어진 채 다양한 활용 방안을 모색하던 중(액정을 떼어내서 Sub Monitor로 쓸까? 하는 생각과 세 살난 아들의 장난감으로 이용 등) Linux를 설치해서 개발 서버로 써 볼까? 하는 생각에 꽂혔다.
이미 PC를 개인용 서버로 사용하고 있으며, raspberry pi에도 linux를 깔아서 테스트 해 보았으나, 개인용 서버에 이것 저것 자꾸 깔아서 시스템이 지저분해지는 것도 싫었고, raspberry pi의 느린 컴파일 속도가 ARM의 특성 때문인지 500MHz의 CPU속도 때문인지도 확인해 보고 싶었다.
Armada의 특징은 TFTP를 통한 네트웍 부팅이 된다는 점이다. 이를 잘 활용하면 굳이 번거로운 외장 CD난 Floopy부팅을 통하지 않고도 OS를 설치할 수 있다.
TFTP로 CentOS를 설치하고 싶었지만 CentOS는 나의 Armada의 낮은 메모리(320M)에서는 설치를 거부하고 종료되어 버리므로 눈물을 머금고 Ubuntu 서버를 설치하기로 했다(개인적으로 CentOS를 좋아하는 것이지 기능상의 차이나 Ubuntu의 성능을 폄하하는 의도는 아니다. CentOS를 설치하기 위해서는 최소 512M의 메모리가 있어야 한다.).
간단히 설치 방법을 설명하자면, 1) pc에 ubuntu 이미지를 다운받아 이미지의 압축을 푼다. 2) window가 설치된 pc에 tftpd서버(tftp32)를 설치하여 실행시킨다(리눅스라면 리눅스의 tftpd를 설정). 3) Armada(Notebook)에서 부팅할 때 네트웍 부팅 모드로 들어가면 부팅 이미지를 읽어 설치가 시작된다.
먼저 ubuntu 서버의 이미지를 다운로드 받았다. 다운로드 받은 곳은 cdimage.ubuntu.com에서 ubuntu-server에서 current image(trusty-server-i386.iso)를 다운받았다.
압축을 풀고 install 폴더를 찾아들어가면 install/netboot라는 폴더가 있다.
Root Directory(이하 [ROOT]로 표시): trusty-server-i386
찾아갈 위치 : trusty-server-i386/install/netboot
여기에 가지고 올 파일은 [ROOT]/install/netboot/ubuntu-installer/i386 폴더에 있는 pxelinux.cfg 폴더와 pxelinux.0 파일이다.
파일 선택(잘라내기 또는 복사 선택)
[ROOT]/install/netboot 폴더에 붙여넣기
폴더 및 파일을 [ROOT]/install/netboot 폴더에 옮긴 다음 pxelinux.cfg 폴더 내에 편집기 파일 등을 이용하여 default파일을 생성해서 다음의 내용을 입력한다. 이 때 default파일은 아무런 확장자를 가지고 있지 않는다.
filename : [ROOT]/install/netboot/pxelinux.cfg/default
# D-I config version 2.0
include ubuntu-installer/i386/boot-screens/menu.cfg
default ubuntu-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0
파일을 저장하고 나면 이제 1단계가 모두 끝났다.
이제 tftp를 설치할 차례이다.
tftpd는 리눅스 사용자의 경우 대부분 이미 설치되어 있으므로 서비스에서 사용 가능 상태로 만들기만 하면 된다. 그러나 windows 사용자의 경우 PC에 tftpd 서비스가 없으므로 dhcp와 tftpd가 같이 있는 tftpd32(http://tftpd32.jounin.net/)를 다운로드 받아 설치한다.
설치는 일반적인 window 응용프로그램이므로 어려울 것은 없으니 생략하고 설치 후 실행을 하면 설정이 기다리고 있다.
가운데 Settings 버튼을 누르면 설정화면이 나온다. 이 설정 화면 중 필요한 서비스만 선택하도록 한다.
우리가 필요한 서비스는 TFTP Server와 DHCP Server이다.
이제 각 탭(TFTP, DHCP)을 선택하여 필요한 사항을 선택하거나 채워준다.
먼저 Base Directory는 TFTP 이미지가 설치된 폴더로 위에서 [ROOT]/install/netboot 디렉토리가 되겠다. 나머지는 대부분 default 상태로 그냥 두고 DHCP 탭으로 이동하여 네트웍 관련 사항을 입력한다.
IP pool starting address는 DHCP로 네트웍상에서 요청하는 IP를 할당해 주기 위해 시작하는 IP address 시작주소이다. 사용하지 않는 IP대를 선택하여 size of pool과 함께 지정한다. 192.168.0.100에 size of pool이 10이면 100~109까지 10개의 IP를 할당해 주는 역할을 tftpd가 수행하는 것이다. tftpd를 계속 사용할 것이 아니므로 size of pool도 적당히 작게 줘도 무방하다.
Boot File은 pxelinux.0 파일이다. 이 파일은 [ROOT]/install/netboot 디렉토리에 있는 그 파일이다. 경로는 적지 않는다.
WINS/DNS는 적당한 DNS서버를 설정해 주도록 한다. DNS설정을 그냥 0.0.0.0으로 그냥 놔두면 네트웍 설치 도중 서버명으로 서버를 찾지 못하여 설치가 중단될 수 있으므로 꼭 DNS 서버를 설정해 준다.
default router는 window pc가 사용하는 default router를 사용하면 되겠다. 그리고 mask는 net mask로 역시 window pc의 net mask를 사용한다. (ipconfig 명령으로 확인하면 서브넷 마스크라고 나오는 것)
이제 tftpd32 설치까지 2단계가 끝났다.
이제 마지막 단계인 실제 Ubuntu 설치단계이다.
우선 Armada 노트북을 켰다. 처음 부팅될 때 화면 하단을 잘 보면 네트웍부팅을 위해서 F12를 누르라는 메시지가 아주 잠깐 나왔다가 사라진다.(F12=Network Service Boot)
CMOS 셋업에서 Network 부팅을 가장 먼저 하도록 우선 설정해 둔다. 그렇지 않으면 HDD 부팅을 먼저하기 위해 시도하는데 타이밍을 놓치면 바로 HDD에 설치된 window로 부팅이 넘어가 버린다.
다음 화면은 Intel Boot Agent가 기동하는 모습이다. 이 화면에서 F12키를 눌러주도록 한다. F12는 Armada 노트북에서는 FN키와 F11키를 동시에 눌러주도록 한다.
이제 DHCP Client가 DHCP서버 (window pc에 설치된 tftp32d로 부터)로 부터 pxelinux.0파일을 다운로드 받아 추가적인 작업을 시작한다.
1단계에서 정상적으로 파일을 생성하고 이동하고 설정하였다면 큰 문제없이 부팅 단계가 시작될 것이다. 그러나, 파일이 없거나 경로가 잘못되면 Fatal Error를 늘어놓고 멈춰버린다. 모든 설정이 정상인 경우 pxelinux.cfg/default 파일을 정상적으로 읽고 OK 사인을 내보낸다.
default 파일을 다 내려 받으면 메뉴가 시작되면서 설치 메뉴가 나타난다.
Install을 선택하면 설치프로그램의 언어와 키보드 선택을 하게되고 그 다음 단계는 네트웍 설정이 진행된다. 네트웍 설정은 기본적으로 TFTP 정보를 바탕으로 설정되며 Internet을 통한 외부 접속(ubuntu mirror site)이 가능해야 한다.
외국 사이트라고 해서 꼭 느린것은 아니고 경우에 따라서는 국내 사이트가 더 느린 경우도 있다.
만약 선호하는 ubuntu mirror 사이트의 주소를 알고 있다면 리스트의 가장 상단에 있는 manually input 항목을 선택하여 별도의 mirror 사이트 주소를 입력하도록 한다.
그 이후 단계는 ubuntu의 일반 설치 화면과 큰 차이가 나지 않으므로 쉽게 설치할 수 있다.
Armada는 아쉽게도 RAM과 HDD가 아주 제한적이어서 파티션 설정과 패키지선택에서 제한이 있을 수 있다. 이 경우 Grub설정에서 용량 문제로 제한이 있을 수 있고 패키지설치시 메모리 에러가 발생할 수 있다. 그렇다고 당황하지 말고 Grub는 Lilo로, 패키지는 manual 선택으로 설치하도록 한다.