'ubuntu'에 관한 글 8건

  1. 2011.08.22 CloudFoundry, Getting Started
  2. 2010.07.28 클컴 시대, OS 사업자의 효과적 접근방식
  3. 2010.05.09 Ubuntu 10.04 Lucid Lynx의 첫인상
  4. 2009.11.13 Eucalytpus and Ubuntu Linux
  5. 2009.10.30 Ubuntu 새버전(9.10), 간편한 Cloud Computing 지원
  6. 2009.03.09 VirtualBox, Ubuntu, 그리고 USB
  7. 2009.02.27 어쩌자고... 넷북에서 Xen을 돌리겠다는 건데?
  8. 2007.11.12 Ubuntu 7.10 에서 프레임버퍼 콘솔 사용하기 3

CloudFoundry, Getting Started

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

CloudFoundry 맛보기. 이 정도로 사실, 맛을 볼 수는 없겠으나 일단 시간과 능력의 부족으로 Getting Started Guide를 따라해보는 수준으로 정리, 간만에 신세계 구경도 하고 짧게 나마 포스팅도 한다.

먼저, http://www.cloudfoundry.com 에서 계정 신청을 해야하는데, 몇일 전에 CloudFoundry와 Ubuntu와의 뭔가 끈끈한 관계에 대한 글을 읽고 자극을 받아서 한 번 신청해봤는데, 오늘 메일함을 보니 계정 생성 메일이 와있었다. (초대형식으로 가입된다는 이야기)

1. 준비하기

특이한 점이, 웹 인터페이스가 없는 것 같다. 비슷한 서비스인 heroku(http://www.keroku.com) 의 경우에는 기본적인 정보 열람 등이 가능한 웹 인터페이스가 있는데, CloudFoundry는 그게 없다. 아마도 현재는 Beta 상태이므로 상용 서비스가 시작되는 시점에는 뭔가 포털이 생기지 않을까? 아무튼, command line 모드 클라이언트인 vmc를 설치해야 한다.

vmc는 ruby gem 형태로 배포되는데, 다음과 같이 설치가 가능하다. (물론 리눅스 이야기, 그리고 ruby 설치 등은 생략)

sio4@silver:~$ gem install --user-install --no-rdoc --no-ri vmc
Successfully installed json_pure-1.5.3
Successfully installed rubyzip2-2.0.1
Successfully installed highline-1.6.2
Successfully installed terminal-table-1.4.2
Successfully installed vmc-0.3.12
5 gems installed
sio4@silver:~$


2. 시작하기

이제 CloudFoundry에 로그인을 해야한다. 그런데 특이한 점은 CloudFoundry의 독특한 성격. 즉, 배포와 사용이 가능한 "Open PaaS"라는 점 때문에 어디로 로그인할 것인지 "target"을 정하는 과정이 있다는 점이 특이하다.

sio4@silver:~$ vmc target api.cloudfoundry.com
Succesfully targeted to [http://api.cloudfoundry.com]

sio4@silver:~$ vmc login
Email: xxxxxxxx@xxxxxxxx.com
Password: ****************
Successfully logged into [http://api.cloudfoundry.com]

sio4@silver:~$ vmc passwd
Changing password for 'xxxxxxxx@xxxxxxxx.com'
New Password: *********
Verify Password: *********

Successfully changed password

sio4@silver:~$

첫번째 로그인이라서 암호도 바꿔줬다. (가입 완료 메일에 임시 비번이 딸려온다.)


3. 개발하기

이제 간단하게 어플리케이션을 하나 개발(?)해볼 차례.

sio4@silver:~$ mkdir app_name
sio4@silver:~$ cd app_name/
sio4@silver:~/app_name$ cat > app_name.rb << EOF
> require 'sinatra'
> get '/' do
>   "Placeholder"
> end
> EOF
sio4@silver:~/app_name$ vmc push
Would you like to deploy from the current directory? [Yn]:
Application Name: app_name
Application Deployed URL: 'app_name.cloudfoundry.com'?
Detected a Sinatra Application, is this correct? [Yn]:
Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)
Creating Application: OK
Would you like to bind any services to 'app_name'? [yN]:
Uploading Application:
  Checking for available resources: OK
  Packing application: OK
  Uploading (0K): OK
Push Status: OK
Staging Application: OK
Starting Application: OK

sio4@silver:~/app_name$

크핫! 이제 http://app_name.cloudfoundry.com 에 접속해보면, 짜잔~ 한 줄 뜬다. :-( 어쨌든 정상 작동!


이야~~~ 멋지지 않아? "준비하시고~", "시~", "작!" 하면 딱 뜨는데... 왜 클라우드를 안써? 아니, 왜 가상화만 생각해? 이게 궁극의 클라우드 아닌감? 게다가 CloudFoundry의 멋진 "Open PaaS" 정책은 (자세히 살펴보지는 않았지만) 데이터 유출의 걱정도 없이 Private PaaS의 구축을 쉽게 해줄 것 같은 느낌. 이거 좀 파봐야겠는데...

아하... 이럴 땐 여건에게 핑계를!!


참고로, 정보 보기

sio4@silver:~$ vmc info

VMware's Cloud Application Platform
For support visit http://support.cloudfoundry.com

Target:   http://api.cloudfoundry.com (v0.999)
Client:   v0.3.12

User:     xxxxxxxx@xxxxxxxx.com
Usage:    Memory   (128.0M of 2.0G total)
          Services (0 of 16 total)
          Apps     (1 of 20 total)

sio4@silver:~$

앱 스무개라... 음... 좋네~ ㅋ

클컴 시대, OS 사업자의 효과적 접근방식

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

지난 주에, 우분투 리눅스(Ubuntu Linux)의 제작사인 캐노니컬은 IBM DB2의 구동을 위한 가상 어플라이언스를 발표했다. 뭐... 별 일이 아닐 수도 있지만, 가상화/클라우드 컴퓨팅 시대의 시스템 구성/배치 방식, 소프트웨어 배포 방식, 기존 OS의 발전 방향을 놓고 봤을 때 숨은 의미가 크다고 생각한다. 어쩌면 클라우드 컴퓨팅 시대를 향한 OS 기반 사업자의 효과적인 접근 방식일 수도...

클라우드 컴퓨팅과 시스템 구성/배치

클라우드 컴퓨팅의 한 영역인 IaaS(Infrastructure as a Service) 환경은 기존의 물리적 시스템 구성/배치 방식을 가상머신을 이용한 시스템 구성/배치 형태로 바꿔놓고 있다. 가상화를 통한 시스템 추상화를 바탕으로 하여 다수의 시스템 구성을 단순히 "미리 구성된 시스템 이미지의 복제"로 해결할 수 있게 되었고, 기존의 시스템 프로비져닝을 괭장히 단순화시킬 수 있게 되었으며, 괭장히 유연한 시스템 배치가 가능하게 되었다. 사용자는, 하드웨어 설치 및 구성부터 OS 설치 및 환경 설정, 어플리케이션 설치 및 구동 환경 최적화 등의 복잡한 과정을 모두 생략하고, 전문가에 의하여 미리 구성된 "사용 가능한 시스템"을 "서비스 카탈로그"에서 골라서 단지 사용만 하면 되는 것이다. 이를 위하여,

  • 잘 구성된 가상화 인프라와 자동화된 안정적 운영 환경
  • 전문가의 손때가 묻은 미리 구성된 시스템 이미지 또는 가상 어플라이언스
  • 셀프서비스가 가능한 사용자 환경과 서비스 환경, 서비스 카탈로그 시스템

등의 조건이 갖춰져야 한다.

가상 어플라이언스

가상 어플라이언스란 일종의 소프트웨어/어플리케이션 배포 형태로 볼 수 있는데, 어플리케이션을 단일 패키지 형태로 배포하는 것이 아니라 그것이 구동하기 위한 기반 구성을 미리 조립, 설정하여 목적 어플리케이션 만을 위한 전용의 팩을 만들어 배포하는 것을 말한다. 이러한 (가상) 어플라이언스는 다음과 같은 조건과 특성을 갖는다.

  • 운영체제, 라이브러리를 포함하여 시스템의 구동 목적에 맞는 모든 구성요소가 설치/설정/최적화되어 있다.
  • 개념적으로, 지정된 목적 이외의 기능은 사용되지 않거나 접근할 수 없다. (OS의 다른 기능 등)
  • 기반 OS 지식이 없는 것으로 가정하여, 지정된 목적을 수행하기 위한 특화된 관리 기능을 제공한다.
  • 마치, OS+환경+어플리케이션이 아닌 단독 어플리케이션/시스템처럼 보일 수 있다.
  • 임베디드 OS를 기반으로 한 PMP, Kiosk Box를 떠올려보면 된다.

특히, 시스템 가상화 기술을 활용한 가상 어플라이언스는,

  • 이렇게 구성된 어플라이언스 이미지를 가상화 플랫폼 위에서 구동하게 된다.
  • 시스템 가상화를 통하여 추상화된 환경을 사용하기 때문에 하드웨어 호환성 이슈에 대한 고려가 줄어든다.
  • 호환되는 가상화 환경이 제공되면 쉽게 설치 및 운용이 가능하다.
  • 소프트웨어 배포에 있어서, 메뉴얼 위의 "Requirement" 항목이 단순해진다. (호환 가상 플랫폼만 필요)
  • 설치 메뉴얼, 설정 메뉴얼 등도 얇아진다.
  • 특히, TestDrive를 위한 영업전 엔지니어링 공수가 현저하게 줄어들게 되므로...
  • 독립 소프트웨어 공급자에겐 획기적인 소프트웨어 배포 방식이 될 수 있다.
  • 가상 어플라이언스 구성을 돕는 특화된 OS 배포 방식도 존재한다. (rPath, Turnkey Linux, JumpBox 등)

이러한 가상 어플라이언스라는 개념이 등장한 것은 이미 오래된 얘기지만, 앞서 이야기한 조건의 클라우드 컴퓨팅 시대에 와서 그 존재 가치와 의미가 한층 강해지고 있다.

그렇다면... Red Hat, Canonical 등의 리눅스 OS 공급자들이 취할 수 있는 현명한 행보는?


IDG - 캐노니컬, “IBM DB2를 리눅스 클라우드로”

캐노니컬이 IBM DB2 데이터베이스 소프트웨어의 인스턴스를 구동하는 가상 어플라이언스를 발표했다.
이번에 발표한 소프트웨어 어플라이언스는 IBM의 DB2 익스프레스-C를 포함하게 되는데, 이를 캐노니컬의 리눅스 기반 서버 배포판인 우분투 10.04 롱텀 서포트 서버 에디션 상에서 구동한다.
캐노니컬의 상용 서비스 담당 부사장 네일 레빈은 “우분투와 DB2 익스프레이스-C로 구성된 가상 클라우드 어플라이언스를 이용하면 퍼블릭 및 프라이빗 클라우드 환경에서 빠르고 쉽게 DB2를 구성할 수 있다”고 밝혔다.


Ubuntu 10.04 Lucid Lynx의 첫인상

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

내 눈에 콩깍지가 씌워져 있는 것인지는 모르겠지만, 확실히 우분투 리눅스(Ubuntu linux)는, 언제였더라? 그 첫 만남부터 기존의 리눅스 배포본과는 다른 느낌으로 다가왔다. "인류를 위한 리눅스"라는 그들의 슬로건 만큼이나, 뭔가 "아~ 나를 고려하고 만들고 있구나"하는 느낌이 있다고나 할까? 나 역시 "리눅스 배포본 제작"이라는 일을 해봤기 때문에 그들의 결과물을 보면서 그들이 겪었을 고민을 떠올려 볼 수도 있었다. (그들의 철학)

Ubuntu 10.04 Lucid Lynx, 우분투 리눅스의 전환점?

LTS버전이기도 한 10.04 버전은 어떤 의미를 갖을까? 지난 9.xx 가 "우분투와 클라우드 컴퓨팅(Cloud Computing)의 만남"이었다면, 이번 10.xx는 "우분투와 소셜네트워킹(Social Networking)의 만남"이라고 할 수 있을 것 같다.

지난 2009년의 버전들은 가상머신을 위한 커널의 기본 제공, 가상화 용도의 설치 편의를 위한 메타패키지 지원, virtio 지원 강화 등 다양한 kvm의 기능 향상 등을 통하여 가상화/kvm 관련 기능들을 더욱 강화하는 한편, 클라우드 컴퓨팅 형태의 가상화 자원관리 시스템인 Eucalyptus의 적용을 통한 UEC(Ubuntu Enterprise Cloud)라는 주요 구성 요소의 추가가 이루어졌다.

이번에 발표된 10.04에서도 역시 가상머신이 사용하는 메모리의 동일한 영역을 공유하게 함으로써 물리머신의 가상화 집적도를 향상시킬 수 있는 기술인 KSM의 도입 등, 가상화를 포함한 서버측 기능 향상도 있었지만, 무엇보다도 주목하고 싶은 부분은 "Social from the start"라는 표현이었다.

데스크톱 버전과 UNE(Ubuntu Netbook Edition)/UNR(Ubuntu Netbook Remix)에는 지난 버전부터 등장한 IM 플랫폼인 Telepathy/Empathy 플랫폼과 함께 Twitter, Facebook 등의 소셜 네트워킹 서비스(Social Networking Service)를 지원하는 소셜 네트워크 클라이언트인 Gwibber가 기본 설치되며 새로 등장한 'Me Menu'를 통하여 이들 프로그램을 쉽게 사용할 수 있도록 하고 있다.

또한, 기존의 Ubuntu One을 다각도로 향상켜 단순한 파일 공유 이외의 Firefox 설정을 클라우드에 보관하게 한다든지, Ubuntu On Music Store를 이용하여 음악 다운로드를 한다든지 하는 하는 "개인적인 영역"에서의 인터넷 활용, 또는 마케팅적으로 말하면 "개인 영역의 클라우드 컴퓨팅"으로써의 소셜네트워크의 활용을 쉽게 할 수 있도록 하고 있다.

결국! 서버용과 개인용 양쪽에서 이제 새 시대의 "클라우드 컴퓨팅"과 "인터넷 기반 컴퓨팅"의 장이 열렸음을 캐노니칼(Canonical)이 인정하고 있는 것이라고... 단정지어도 되는 것일까? 아니, 구태여 남의 입을 빌 필요는 없을 것 같다. 이미 인터넷을 중심으로 한 컴퓨팅 세상은 생각보다 빠르게 열려가고 있고, 캐노니칼은 그 사실을 잘 알고 있는 것이라고... 말하면 되겠다.

됐고, 내 느낌!

음... 이번엔 조금 슬픈 이야기이다. 보수적인 개인 성향도 작용했겠지만, 우분투 리눅스를 사용하면서 6개월 단위의 판 업데이트를 "착실하게" 쫓고 있지는 않다. 게으름 때문인 경우도 있고... 간혹, 맘에 차지 않는 판이 나오는 경우가 있기 때문이다.

얼마 전의 업데이트는 한글 메시지의 번역 품질이 일관성 면에서, 그리고 느낌이나 전달력 면에서 많이 떨어졌던 경우도 있고, 이번 10.04 버전으로 업데이트한 한 데스크톱에서는 Firefox로 Gmail을 접속했을 때 화면 갱신이 정상적으로 되지 않는 문제가 보이고 있다. (새로 설치한 UNE에서는 같은 문제가 발생하지 않는데, 아마도 비디오카드 관련 문제일 가능성도 있고...)

UNE에서 발견된 문제는, 기대했던 Gwibber에서 facebook 계정 등록이 되지 않는 문제가 발견되었다. 깊이 들여다 보고싶은 마음이 없는 것은 아니나 요즘 왜이리 만사가 귀찮은지... :-(

아무튼 새로운 테마도 맘에 들지 않고 해서... 일단 UNE는 기존의 8.10를 기본부팅으로 사용하도록 하고 주 랩탑은 아직 업데이트를 보류하는 것으로 잠정적인 결론을 내렸다.

오늘은 어버이날이 하루 지난 5월 9일이고 10.04의 첫번째 설치를 한 것이 5월 1일이니... 뭐라 평을 하기는 이르겠지? 일단 좀 더 써보자.

Eucalytpus and Ubuntu Linux

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

알려진 바와 같이, 우분투 리눅스의 새 버전인 9.10 Karmic Koala는 오픈소스 클라우드 컴퓨팅 플랫폼인 Eucalyptus를 포함하고 있다. 캐노니컬의 진로를 보여주는 예이자, 오픈소스 기반 클라우드 컴퓨팅 사례의 적절한 형태 중 하나. 유칼립투스는 제공하는 기능의 제한으로 인하여 사용을 보류하고 있지만, 분명 의미있는 솔루션 중 하나. 지켜볼 것.

Maybe Ubuntu Enterprise Cloud Makes Cloud Computing Too Easy
The latest version of Ubuntu Server (9.10) includes the Ubuntu Enterprise Cloud (UEC), which is actually powered by Eucalyptus. The ability to deploy a “cloud” on any server running Ubuntu is really quite amazing, especially given the compatibility of Eucalyptus with Amazon and the plethora of application images available for nearly immediate deployment. It supports both a public and private option, and a hybrid model, and comes replete with management tools designed to make building, deploying, and managing your own personal, private cloud a breeze.
Ubuntu Server Eucalyptus Testers Needed | The Fridge
Koalas love eucalyptus, they spend three hours a day munching away on the sturdy plant. Likewise, Ubuntu 9.10 Karmic Koala loves Eucalyptus, the Open Source system for implementing on-premise private and hybrid clouds using the hardware and software infrastructure that is in place, without modification. This allows you to run your own private cloud on your own hardware and infrastructure. Sound interesting? It really is, and this a rocking new feature in the new Ubuntu Server edition.



Ubuntu 새버전(9.10), 간편한 Cloud Computing 지원

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

지난 버전에서도 관련된 지원이 있었지만, 이번엔 아주 적극적인 모습이다. Ubuntu Linux의 새 버전인 9.10에는 Eucalyptus 기반의 Cloud Computing 지원이 포함되었을 뿐만 아니라 아예 Cloud Computing을 위한 설치모드를 지원한다. (다른 일정에 밀려 다음 주 초 정도에 시험이 가능할 것 같다.)

어쨌든, Canonical/Ubuntu의 클라우드 컴퓨팅 전략은 남다른 면이 있다. 이미 올 해 초에 Landscape라는 이름의 SaaS 형태의 시스템 관리 서비스를 내놓았고, 그리고 얼마 전에는 Ubuntu One이라는 이름의 스토리지 서비스를 내놓았다. OS 제품을 전문으로 하는 기업이면서 그것과 잘 어울리는 형태로 클라우드 컴퓨팅을 접목, 확대하고 있는 모습이... 참 현실적이면서 좋아보인다.

Ubuntu Home Page | Ubuntu

# Set up an EC2-based private cloud in less than 60 minutes
# The only server OS with a built-in open source cloud


VirtualBox, Ubuntu, 그리고 USB

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

버추얼박스, 우분투, 그리고 USB 지원. 그동안 VMWare Workstation에 대한 대안으로[각주:1] VirtualBox를 사용한 지가 한 3년 쯤 되는 것 같다. 시작은 아마 정확한 기억은 아니지만 Fedora...3? 4? 정도와 함께였던 것 같다. 그 이후로 Ubuntu 7.04, 7.10 등의 버전에서 사용해왔는데, USB를 사용하기 위해서는 꼭 뭔가 다른 작업을 해줘야 했다.[각주:2] 그런데 오늘, 인증서 때문에 USB를 쓰려다 보니 Ubuntu 8.10 Intrepid Ibex 에서는 단지 나를 vboxusers 그룹에 넣어주는 것 만으로 모든 것이 끝났다. 오호라~

이젠 /proc/bus/usb를 더이상 쓰지 않는다는 뜻인가? 어쨌든 좀 재미있는 것은,

sio4@heavy:~$ ls -l /dev/bus/usb/*/*
crw-rw-r-- 1 root vboxusers 189,   0 2009-03-08 02:16 /dev/bus/usb/001/001
crw-rw-r-- 1 root vboxusers 189, 128 2009-03-08 02:16 /dev/bus/usb/002/001
crw-rw-r-- 1 root vboxusers 189, 256 2009-03-08 02:16 /dev/bus/usb/003/001
crw-rw-r-- 1 root vboxusers 189, 384 2009-03-08 02:16 /dev/bus/usb/004/001
crw-rw-r-- 1 root vboxusers 189, 387 2009-03-09 22:44 /dev/bus/usb/004/004
crw-rw-r-- 1 root vboxusers 189, 512 2009-03-08 02:16 /dev/bus/usb/005/001
crw-rw-r-- 1 root vboxusers 189, 640 2009-03-08 02:16 /dev/bus/usb/006/001
crw-rw-r-- 1 root vboxusers 189, 641 2009-03-08 02:16 /dev/bus/usb/006/002
crw-rw-r-- 1 root vboxusers 189, 768 2009-03-08 02:16 /dev/bus/usb/007/001
sio4@heavy:~$ 

이렇게 보이더라는 것.

참고로, 예전엔 이렇게 많은 검색 결과가 있었다. 아직도 몇몇 블로그 등에서는 8.10 과 USB에 관련된 해법이 설명되어 있기는 하네...

  1. 좀 표현이 그런가? 그냥 "데스크탑용 가상화 솔루션으로"라고 표현하는 것이 좋을까? 어쨌든 VirtualBox를 처음 사용하기 시작한 시점의 내 목적은 그랬다. 더 이상 상용 가상화 솔루션을 쓰고싶지 않았던 것. [본문으로]
  2. 옛날같았으면 도데체 왜 이런 설정을 해야 하는지 파내고야 말았을테고 뭔가 atomic한 솔루션을 추구했겠으나... 요즘은 그냥 구글링이다. 쩝... [본문으로]

어쩌자고... 넷북에서 Xen을 돌리겠다는 건데?

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

좀 우끼는 일이지만, 삼성전자의 넷북인 NC10에 우분투를 설치하고 Xen 가상화 환경을 구축하려는 과정의 이야기이다. 실은, 어제 저녁에 이 과정에 얽힌 긴 글을 쓰고 초안으로 올려뒀는데, 오늘 보니 사라져버렸네... ScribeFire로 글을 작성했는데, 이렇게 작성한 몇몇 글 중에서 사라져버린 것은 이 번이 처음이다. 누구 문제인지는 모르겠으나... 오늘 아침 tistory 접속 자체가 잘 안되었던 것을 감안하면, Firefox의 문제일지도... 어쨌든 한 번 쓴 글을 다시 쓰려니 글 쓸 생각은 잘  안나고 짜증은 잘 난다. (에라 그만둘까 싶지만서도...)

넷북, NC10과 Xen

본론으로 들어가서, 그렇다. 넷북에 Xen을 올리겠다는 것은 조금 우끼는 일이다. 본격적인 "경험담"에 들어가기 전에 잠깐 Xen와 NC10의 궁합에 대해서 생각해봤다.

NC10은 삼성전자의 첫번째 넷북인데, Intel의 Atom N270 프로세서를 사용하고 있다. CPU 사양을 잠깐 살펴보면,

flags           : fpu de tsc msr pae mce cx8 apic mtrr mca cmov pat
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc
arch_perfmon pebs bts pni monitor ds_cpl est tm2 ssse3 xtpr lahf_lm

lm 도 없고, vmx 도 없다. 바꿔 말하면 x86-64 버전을 설치할 수도 없고 하드웨어 가상화 기능을 사용할 수도 없다는 뜻이다. 내 수중에 있는 기본 모델은 1GB의 RAM을 기본 장착한 상태인데 메모리 슬롯이 하나 밖에 없기 때문에 메모리 증설도 간단하지가 않다. 그런데 어째서 여기에 무슨 가상머신을 올리겠다고? (참고로 삼성전자의 다음 모델인 NC20은 VIA의 NANO칩을 쓴다고 한다. lm, vmx 다 된다던데? 솔깃~)

대답은 간단. 가벼우니까. 점점 무거운 Xnote를 어깨에 메고 다니는 것이 부담스럽게 느껴지던 차에, 이런 녀석이 옆에서 놀고 있는 꼴을 보니 써주지 않을 수가 있어야지. (그러고보니 고작 램 128MB, 256MB에서 가상머신 돌리면서 옆 팀의 512MB, 640MB 쓰는 동료들 부러워했던 때가 엇그제 같은데... 1.6GHz에 1GB 램이면 떡을 치는 사양 아니야?)

참고 : NC10의 주변 기기 사양

우분투/Xen 설치하기

어쨌든 NC10에 우분투를 설치하기 시작했다. 일단, 간단하게 기존에 설치하여 잘 돌아가고 있던 8.10 버전을 한 쪽 파티션에 복사, 다중 부팅을 하도록 했다. 그런데 이게 왠일, 시작부터 난관~! 8.10 버전의 우분투는 Xen의 Dom0를 지원하지 않는단다. 앞으로 계속 하지 않는다는 얘기도 있고(kvm을 밀고 있는 형국이므로 그럴만도 하다.) LTS에서만 될 거라는 얘기도 있고... 어쨌든 이번 작업의 목적은 "가상화"가 아니라 "Xen"이므로 간단한 결정을 했다. LTS이고 Xen 지원이 되는 8.04 버전으로 내리는 것. 결국, ubuntu 8.04 server i386 버전을 한 쪽 파티션에 깔았다.

8.10 버전의 Ubuntu를 NC10에 설치하는 것은 숨쉬는 것 만큼 간단했다. (물론, 약간의 수작업이 있어야 Wireless 등의 일부 기능을 사용할 수 있다. 본론은 아니므로 생략) 그런데 8.04는 다르더군. 설치를 한 참 진행하다가 죽어버리는 것이 아닌가! 결국 acpi=off 라는 부팅 옵션을 추가로 줌으로써 문제는 비껴 갈 수 있었다. (확인해보지는 않았지만 초기에 구워둔 CD를 사용하지 않고 8.04 버전의 최신 이미지인 8.04.2로 시도했다면 쉽게 갔을지도 모르겠다. 설치를 마친 후 최신 업데이트를 적용하고 커널도 최신으로 올리고 나니 acpi 관련 문제는 사라졌다.)

다음 순서로, ubuntu-xen-server 라는 이름의 메타 패키지를 통하여 xen 관련 패키지 설치를 마쳤다. 초반에 액땜을 해서 그런지 이 과정은 순조롭게 진행이 되었다. Xen커널 부팅을 확인한 후, 용도가 용도인지라 server 버전으로 설치했음에도 GUI가 필요했기 때문에 xorg 패키지와 간단한 wm인 openbox 패키지를 설치하였다. 그런데 이게 왠 일인가! Xen으로 부팅한 상태에서는 intel 온보드 그래픽카드를 사용하는 Xorg가 동작하지 않았다. 아니, 화면에 검게 변하면서 멈춰버렸다. (Xorg의 intel 드라이버 문제인지 kernel의 intel-agp 문제인지는 모르나, 아마도 정황으로 봐서 intel-agp와 Xen 사이에서 메모리 분쟁이 있는 것 같다.) "그래, vesa 쓰면 되지 뭐..."

Xorg, Xen, 그리고 945GME

쉽게 쉽게 안되면 피해가는 방식으로 여기까지 왔지만! 그런데 이게 뭔가?! vesa 모드로 Xorg를 띄우면 고작 800x600의 해상도로 뜨는 것이 아닌가! 안되는 것은 참아도 미운 것은 참을 수 없다! 그렇게 본격적인 삽질은 시작되었다.

시도해본 것들 :

  • intel 드라이버를 agp 없이 써보려는 시도 : 잘 안됨.
  • vesa 드라이버를 쓰면서 1024x600을 얻기 위해 xorg.conf 로 어떻게 해보려는 시도 : 잘 안됨
  • fbdev 드라이버를 쓸 각오를 하고 fbcon 띄워보려는 시도 : 헉! 왜 이런 시도를 한거야!

그렇다. 그런 시도를 한 것이 잘못이었다... 공식의 23-server 커널을 쓰면서 vga=0x314 옵션을 주면 800x600일 지언정 fbcon이 정상적으로 올라왔다. 그런데 23-xen을 올릴 때는 vga=... 도, video=... 도 먹질 않았다. xen이 원래 그런거니? 그럼 안되는데... 결국 커널 소스 패키지를 내려받아서 생애 최초의 deb 커스텀 빌드에 돌입! 몇 시간에 걸친 커널 컴파일을 시도했다.(이게 몇 년 만의 커널 컴파일인가? 기억도 나지 않는다!) 오라... 그랬더니, fbcon, vesafb를 built-in으로 했더니, xen으로 시작해도 fbcon이 잘 올라왔다. "이거야!". 여기서 멈춰도 되는데... 이놈의 결벽증은, 공식 커널에서도 왠지 설정을 잘 해주면 될 것 같은 생각이 자꾸 드는 것이다. 다시 커널을 공식 버전으로 복구하고 다양한 시도를 진행했다. 삽질의 끝은 어디인가? 포기! 아마도 뭔가 내가 모르는 것이 있는게다. 시간만 얼마가 지났는지...

그러던 길에 발견한 페이지(메일)가 바로 아래의 페이지 :

[Debian-eeepc-devel] 1024x600 console [was: Re: Video out toggling]

I have made some progress with this. The intelfb framebuffer driver doesn't support mode changing except for the VGA output. However, the uvesafb framebuffer driver does as long as the mode you want is known to the BIOS. But the Eee BIOS doesn't know about the panel's native resolution. This can be fixed using a utility called 915resolution, which hacks the RAM copy of the BIOS. But 915resolution doesn't know about the 945GME chip in the '901.

멍청한 비디오 바이오스의 모드 리포트를 소프트웨어적으로 고쳐주는 프로그램인데, NC10의 그래픽칩인 945GME 지원에 대한 패치가 있었던 것. (휘발성 수정이라서 Xorg를 위한 답은 되는데 FB를 위한 답은 되지 않는다. FB를 위한 grub 패치도 있는 것 같은데 시도하지는 않았다.) 그래... 쉽게 가는게 목표잖아. 커스텀 커널보다는 커스텀 유틸이 낫지. 결국, 생애 최초로 dpatch 를 써가며 커스텀 버전의 915resolution패키지를 빌드, 설치, 설정했다.

휴, 이제야 깔끔한 모습의 GUI를, Xen 환경에서 볼 수 있게 되었다. 이제부터 시작이다!

...

이게 얼마만의 삽질인가! 후훗~ 간만에 재밌기도 하고 :-)

(그런데 오랜만에 DE 가 아닌 WM-only로 쓰려니까... 좀 당황스러운데?


Ubuntu 7.10 에서 프레임버퍼 콘솔 사용하기

Clip to Evernote

블로그가 이사를 갔어요!

죄송합니다! 대부분의 글을 유지하고는 있으나 일부는 유지하지 못했습니다!
10초 이내에 새로 옮겨진 페이지로 이동할 겁니다.
원하시는 글이 아니면 전체 목록을 확인해주세요!
소용환의 생각저장소 / 아카이브

요즘은 "우분투(Ubuntu)"라는 이름의 배포본을 사용하고 있는데 그럭저럭 맘에 든다. (라이브 CD로부터 ) 설치할 때 아무것도 묻지 않고 그냥 판박이를 만든다는 것이 일단 첫번째 불만이었고 그 외에는 그리 흠잡을 곳이 없는 것 같다. (물론 사용하기 편한 것은 이 배포본의 특성에 의한 부분도 있겠지만 한편 그만큼 리눅스 운영체계가 일반 데스크탑 사용자가 사용하기에 불편함이 없을 정도로 발전한 까닭이 클 것이다.)

프레임버퍼 기반의 시험 공간으로 버추얼박스(VirtualBox)에 게스트로 최신의 7.10 버전을 설치해 보았다. 건드리기 귀찮은 내 시스템을 유지한 채 새 버전을 맛보는 목적도 있지만 본래의 목적은 역시 프레임버퍼용 시험환경 구성이다. 그런데, 부팅 명령행에 "vga=0x315" 항목을 추가하는 것 만으로는 이 녀석이 꿈쩍도 하지 않는 것이 아닌가? 혹시 버추얼박스의 제한? 확인된 내용은 우분투의 뭐랄까... 안전설계에 의한 것인 듯 하다. 다음의 단계에 의하여 설정을 마칠 수 있었다.

1) 부팅 옵션 변경 (일반적인 이야기)

한가지 특기할 부분은, 예전에는 각 메뉴 라인을 편집했었는데 이것이 grub 새 버전의 추가된 기능인지 아니면 우분투의 변종인지는 모르겠으나 모든 메뉴 항목을 위한 기본값(defoptions)의 "한 줄" 지정이 가능하고 그것을 명령을 통하여 각각의 메뉴 항목에 적용하는 기법이 사용되고 있었다.

"defoptions"라는 이름을 찾아 "vga=0x315"라는 값을 추가해줬다. (해상도 800x600의 24bit 모드)

$ sudo vi /boot/grub/menu.list
        add 'vga=0x315' to 'defoptions'
$ sudo update-grub

2) 모듈 설정과 제한 풀어주기

시스템이 initramfs 방식을 사용하고 있으므로... (이건 언제부터 적용된 것인지는 모르겠으나 내가 처음 사용하기 시작한 지난 버전에도 적용되어 있었다. 이 것 이상의 가짜 파일시스템을 이용한 장난들이 재밌게 보이는데, 다음에 시간이 되면...) 다음과 같이 설정파일을 수정하여 필요한 모듈을 넣어줘야 한다. (그런데 이것들이 모듈로 되어있는지는 몰랐었네...)

$ sudo vi /etc/initramfs-tools/module
        add 'fbcon' and 'vesafb'

그러나 이 중 vesafb는 요주의 모듈 목록에 기본으로 들어있었다. 다음처럼, 설정파일을 편집하여 모듈 등록을 거부하지 않도록 해줘야 한다.

$ sudo vi /etc/modprobe.d/blacklist-framebuffer
        disable 'blacklist vesafb'

이제 initrd 이미지를 다시 만들어야 한다.

$ sudo update-initramfs -u

3) 다시 시작

$ sudo reboot

그런데 왠 일인지 이것으로는 모자람...

4) 부팅 스플래시 설정 바꾸기

이렇게 해놓으니 화면은 800x600으로 잡혀 올라오는데 부팅 스플래시와 진행막대가 엉뚱한 위치에 표시된다. 이전의 설정이 1024x768을 기준으로 되어있어서인데... 바로잡자.

$ sudo vi /etc/usplash.conf
        modify 'xres' and 'yres'

물론 램디스크를 다시 만들어줘야 하고, 다시 시작하면 부팅 화면도 깔끔하게 표시된다.

좀 복잡하다. 왜 복잡해졌나? 편의를 돕기 위한 이런 저런 유틸리티, 설정, 뭔가가 더해지다보니 건드려야 하는 부분도 많아지고 복잡해졌다. 일반 사용자도 편하게 사용할 수 있는 뭔가를 만들려면 그 만큼 속으로 복잡해질 수 밖에 없는... 공짜는 없다고나 할까?

리눅스 어렵다는 말이 여기서 나왔나보다.