한소프트리눅스2005 와 솔라리스10 - 같은 디스크에서 멀티부팅

nonots의 이미지

### 한소프트리눅스2005 와 솔라리스10 - 같은 디스크에서 멀티부팅

[시작하기]

얼마전 SUN 에서 솔라리스10 을 오픈해서 무료 배포하고 있습니다.
이것과 한소프트리눅스2005 를 하나의 하드디스크의 다른 파티션에
설치하여 멀티부팅해서 사용하는 방법을 간단하게 소개하겠습니다.
http://www.haansoftlinux.com

이전까지 윈도우와의 멀티부팅은 많이 해왔지만 솔라리스는 일반
사용자들에 의해 거의 사용되지 않았기 때문에 생소한 사람들이
많습니다.

이전에 솔라리스를 설치해보신 분은 아시겠지만, OS 자체가 데스크탑
용이 아니기 때문에 설치시 하드웨어 사양에서 많이 걸립니다.
특히 그래픽 카드나 랜카드 등을 잡지 못해서 설치를 못하는 경우도
많습니다. 설치시작시 첫번째 시디를 집어넣고 X 윈도우 화면이 뜨면
일단 성공 가능성은 높습니다. 만약 자동으로 장치를 잡지 못한다면
수동으로 지정을 해주거나 그래도 안되는 경우 솔라리스 커뮤니티를 통해
희망을 걸어 보시길.

솔라리스 설치문서는 아래 솔라리스 스쿨에 가면 버전 8 용으로 있습니다.
http://www.solarisschool.com/
버전 10 과 차이나는 부분도 있는데 전체적으로 비슷한 부분이
더 많습니다.
그리고 위 사이트에 가시면 vmware 로 설치할 수 있는 솔라리스10 도
있습니다.

[솔라리스10 시디 이미지 다운받기]

http://wwws.sun.com/software/solaris/solaris-express/get.jsp

www.sun.com 에서 회원가입후 위 링크로 이동하여 다운받을 파일이 위치한
곳으로 가면 기본적으로 4 개의 zip 으로 압축된 이미지 파일와
1 개의 language 이미지 파일이 있습니다. 여유가 된다면 5 개 파일을 모두
다운 받아서 unzip 으로 압축을 풀면 ISO 파일이 나옵니다.
이렇게 최대 5 장의 시디를 구워서 준비합니다.
제대로 설치를 하려면 최소한 1, 2 번 두장은 있어야 할겁니다.
참고로 스타(오픈)오피스에서 한글 입력하려면 5 번째 language 시디가 있어야
됩니다.

[설치환경]

디스크 정보 : /dev/hda 에 한소프트리눅스2005 설치
/dev/hda1 - / : 9 G
/dev/hda2 - swap : 1024 M
/dev/hda3 - solaris 영역 : 10G

(솔라리스를 설치하면 11 메가 정도의 "X86Boot"파티션을
처음 생성하고 그 나머지를 "solaris"파티션으로 잡아서
설치를 합니다. 그러므로 나중에 솔라리스를 설치하면
/dev/hda3 에 11 메가 정도의 작은 파티션이 할당됩니다.)

솔라리스를 별도의 디스크에 설치해서 멀티부팅을 하는 것은 상대적으로
쉽지만, 위처럼 하나의 디스크에서 리눅스와 다른 파티션으로
설치하는 문제는 좀 골치아픕니다.
문제는 리눅스의 스왑파티션과 솔라리스 파티션을 동일한 파일시스템
ID(82번)로 인식하는데 있다고 합니다.
이걸 해결하기 위해서는 좀 복잡한 꽁수를 써야 합니다.

간단하게 설치하는 방법을 미리 설명한다면,

먼저 리눅스를 설치하고, grub 에 solaris 부팅을 위한 항목을
추가해준 뒤 솔라리스를 설치합니다. 솔라리스 설치중 설치 디스크와
파티션 작업하는 부분에서 리눅스에서 사용하는 스왑영역(/dev/hda2)을
"PRI DOS" 으로 수정해주고 솔라리스를 설치완료합니다.
이렇게 되면 솔라리스 부트로더가 MBR 에 설치되므로 리눅스의 grub 는
사라집니다. 이걸 복구하기 위해서 리눅스 첫번째 시디로 복구모드
"linux rescue" 로 들어가서 fdisk 를 실행. 솔라리스 설치시
PRI DOS 파티션으로 바뀐 리눅스 스왑의 파티션 타입을 "91" unknown 으로
강제로 수정 저장 후 fdisk 종료.
chroot /mnt/sysimage 명령어를 내려서 설치된 리눅스 영역으로 chroot
한후 grub-install /dev/hda 명령어로 grub 복구.
재부팅하면 grub 메뉴에 linux 와 solaris 두개가 보이면 성공한 겁니다.

이제 이 과정을 좀 더 자세히 설명 하겠습니다.

[GRUB 에 솔라리스 항목 추가]

리눅스를 먼저 설치합니다.그러므로 MBR 에는 GRUB 부트로더가 있습니다.
이것을 이용해서 리눅스와 솔라리스 멀티부트 메뉴가 나오게 수정을 하겠습니다.
리눅스 환경에서 /boot/grub/menu.lst (grub.conf의 링크) 파일을 편집기로
열어서 마지막 부분에

title SOLARIS 10
rootnoverify (hd0,2)
makeactive
chainloader +1

와 같이 추가 합니다.
GRUB 홈페이지나 메뉴얼에도 솔라리스 멀티부팅에 대한 언급은 없습니다.
위 내용은 MS 윈도우와 멀티부팅할 때 사용했던 방법인데 솔라리스가
설치된 파티션에도 그대로 적용이 되는 것을 확인했습니다.
서로 닮아가는건지...

hd(0,2) 은 세번째 파티션 /dev/hda3 을 뜻합니다.
솔라리스는 리눅스 설치 영역 바로 다음인 여기에 OS 부팅을 위해
"X86Boot" 타입의 11 메가 정도의 작은 공간을 할당해서 부팅에
필요한 정보를 저장하는 듯합니다.

[솔라리스 설치]

솔라리스 설치는 제가 익숙치 않아서 기본적인 설치한 설명하겠습니다.
전문적인 방법은 메뉴얼 들을 참조하세요.

솔라리스 첫번째 시디로 부팅을 하면 한참 있다가 설치방법 4 가지가 나옵니다.
제가 테스트해본 방법은 1 번과 2 번 두가집니다. 그런데 거의 별차이를
못느꼈습니다.
1 번 혹은 2 번, 혹은 그냥 엔터를 치고 진행을 해서 회색 그물모양의
바탕에 X 표시 마우스 커서가 뜨면 기대를 해봄직합니다.

사용언어를 선택하는 곳에서 Korean 에 해당하는 7(?) 번을 선택하고 그 이후
물어 보는 것들은 그냥 체크되어 있는 디폴트로 하거나 엔터를 치면서
동물적(!) 감각으로 진행을 계속하면 됩니다.
랜카드 설정은 좀 걱정했었는데 elxl0 과 같이 이상한 이름으로 잘 잡았고
네트워크도 dhcp 로 잘 인식했습니다.

제일 중요한 부분은 설치 디스크를 선택하는 부분입니다. 리눅스도 마찬가지지만
파티션 작업을 잘못하면 치명적인 결과를 가져옵니다. 설치 한참 후
"사용가능한 디스크" 와 "선택한 디스크"를 정하는 부분이 있습니다.
솔라리스에서는 첫번째 디스크를 c0d0 두번째 디스크를 c0d1 으로 인식합니다.
리눅스에서의 파티션 개념과 비슷하게 솔라리스에서는 슬라이스라고 부릅니다.
첫번째 디스크의 첫번째 슬라이스는 c0d0s0 이고 세번째 슬라이스는 c0d0s2 가
됩니다. 스카시 하드를 사용하거나 RAID 를 사용하면 파티션 명명 방식은 더
해괴망칙하게 사용됩니다.

"선택한 디스크" 에 기본으로 c0d0 이 잡혀 있을겁니다.
그다음 화면에 제경우 4 가지로 디스크의 파티션 정보가 보입니다.
위의 처음 두부분은 리눅스 영역이고 나머지 두부분은 솔라리스가 설치될
부분입니다. 파티션 타입과 크기(메가바이트)를 보여줍니다. 크기는 달라질 수
있습니다.

Linux - 9123 (/dev/hda1)
solaris - 1025 (/dev/hda2) => 이부분을 "PRI DOS"타입으로 수정해야함
x86boot - 11 (/dev/hda3)
solaris - 9812 (/dev/hda4)

리눅스용어로 보면 위에서부터 차례로 /dev/hda1,2,3,4 입니다.
그런데 두번째,네번째는 같은 solaris 타입으로 되어있습니다.
앞에서 설명한대로 리눅스 스왑과 솔리리스 파티션이 같은 파티션
아이디 82 번을 사용합니다. 그래서 이부분을 수정해야 합니다.
이미 리눅스 스왑으로 할당된 /dev/hda2 의 파티션 부분을 클릭하면
"solaris", "PRI DOS","unused" 이렇게 3 가지 중에서 선택할 수 있는데
이중에서 "PRI DOS" 로 바꾸어 줍니다. 만약 unused 로 하면 크기가 0 으로
되어버립니다. 안전하게 그냥 크기 1025 를 유지하도록 PRI DOS 로
바꾸어 줍니다.

리눅스가 똑똑한지 일단 설치후 /etc/fstab 등에 스왑파티션에 정보가
있으면 파티션타입이 스왑파티션이 아니어도 커널이 알아서 스왑으로
잡는 모양입니다.

그리고 다음 화면에서 더 상세한 슬라이스(파티션) 작업을 할 수 있습니다.
파티션 작업에 크게 자신이 없으면 솔라리스가 기본으로 잡아준 할당량으로
그냥 두어도 크게 문제는 없습니다.
낭비없이 사용하려면 약간 수정해야 할 경우도 있습니다.

이후 패키지 설치모드를 정하고 계속 알아서 적절하게 판단해서 진행을 합니다.
한참 설치한 후 재부팅이 되면 시디를 꺼내고 재부팅을 합니다.
일단 첫 시디 설치후 나머지 시디는 재부팅을 해서 설치를 합니다.
이미 MBR 에 솔라리스가 부트로더를 덮어버렸기 때문에 더이상 grub 메뉴는
없을겁니다.

두번째 시디를 넣으라는 메시지가 나올때 두번째 시디를 넣고 설치합니다.
이 두번째 시디부터는 재부팅 없이 세번째, 네번째, 다섯번째
시디를, 있으면 넣고 없으면 그냥 건너뛰어서 설치를 종료하면 됩니다.
가지고 있는 솔라리스 시디 만큼 설치를 하고 재부팅을 합니다.

솔라리스 부트로더로 재부팅을 하면 드디어 솔라리스 xdm 로그인
화면이 뜰겁니다.

거기서 사용세션을 보면 CDE 와 java Desktop System 을 가장한 GNOME
두가지를 선택할 수 있습니다. 원하시는 곳으로 정해서 로그인을 하면
드디어 솔라리스 10 을 사용할 수 있게 된겁니다.

이제 컴퓨터는 오로지 솔라리스로만 부팅할 수 있게 되었습니다.
리눅스 영역을 살리기 위해서 한소프트리눅스2005 설치시디 1 번으로
부팅해서 처음 LILO 프롬프트에서 "linux rescue" 로 복구모드로 들어갑니다.

복구쉘 프롬프트가 뜨면 제일먼저

# fdisk /dev/hda

명령을 내려서 p 명령어로 파티션 분할 정보를 보면

Device Boot Start End Blocks Id System
/dev/hda1 1 1020 8191984+ 83 Linux
/dev/hda2 1020 1151 1048824 ?? FAT32(???)
/dev/hda3 * 1151 1152 10584 be Solaris boot
/dev/hda4 1152 2492 10762416 82 Linux swap

와 비슷하게 나옵니다. /dev/hda4 에 실제 솔라리스가 설치되어 있는데
이부분이 Linux swap 파티션으로 보이고 진짜 리눅스 스왑인 /dev/hda2 는
도스영역으로 보입니다. (/dev/hda2의 이부분은 Id 값과 파티션 이름이
잘 생각이 안납니다.-_-;;; 솔라리스 설치시 이부분을 강제로 "PRI DOS"
라고 했기 때문에 윈도우파티션인 FAT 파티션의 일종으로 보일겁니다.)

이제 이 두번째 /dev/hda2 를 파티션ID 91 번으로 바꾸어서 "Unknown" 으로
되도록 수정합니다.
fdisk 에서 t 를 누른후 리눅스스왑이 두번째 파티션이므로 2 를 입력하고
파티션ID 넣는 프롬프트에서 91 이라는 숫자를 입력합니다.
다시 p 를 눌러서 보면

/dev/hda2 1020 1151 1048824 91 Unknown

와 같이 수정되어야 합니다. 91 번이라는 ID 는 파티션ID목록에 없습니다.
그러니까 당연히 운영체제에서 Unknown 이라고 인식합니다.

이제는 grub 을 /dev/hda 에 다시 살리는 작업만 남았습니다.

# chroot /mnt/sysimage

라는 명령어로 리눅스가 설치된 영역으로 chroot 명령어로 환경을 바꿉니다.
그런후

# grub-install /dev/hda

라고 하면 한참후 /dev/hda 로 grub 을 정상적으로 설치했다고
메시가 나옵니다.

이제 할일은 다했습니다. 진인사대천명 [盡人事待天命]

재부팅합니다.
부트로더로 GRUB 이 뜨고 메뉴에 리눅스와 솔라리스가 보이면
성공한겁니다.

각각의 영역으로 한번씩 부팅해서 들어가본 후 이상이 없으면 진짜
성공한겁니다.

[마치며]

일반사용자 환경에서 사용하려면 솔라리스는 엄청 불편합니다.
리눅스에서 사용하던 쉘환경이나 vi 편집기, 설정파일의 위치 등이
많이 틀립니다. GNOME 환경으로 로그인을 하면 좀더 친근하게 사용하실 수는
있지만 한글환경 등에서 한소프트리눅스만 못합니다.

하지만 서버 용도로 사용한다면 얘기는 또 달라지겠죠..

Forums: 
dummy999의 이미지

한컴리눅스도있고 한소프트 리눅스도 있고 그런건가????
같은 계열사로 알고있는데 계열사가 경쟁을 하다니..
아이러니하넹..

------------------------------------
F/OSS bless you... ^^*

hys545의 이미지

dummy999 wrote:
한컴리눅스도있고 한소프트 리눅스도 있고 그런건가????
같은 계열사로 알고있는데 계열사가 경쟁을 하다니..
아이러니하넹..

한컴리녹스는 한컴에서 분리되거
한소프트리녹스가 새로운 계열사가 된겁니다.

즐린

pirania의 이미지

한소프트 리눅스는 독립 회사가 아니라 한글과컴퓨터에서 만든 리눅스 OS 이름입니다.^^

jedi의 이미지

dummy999 wrote:
한컴리눅스도있고 한소프트 리눅스도 있고 그런건가????
같은 계열사로 알고있는데 계열사가 경쟁을 하다니..
아이러니하넹..

한컴 리눅스의 부도설이 난무할때 한소프트에서 말하기를 "투자액을 모두 손실 처리했기 때문에 피해가 없다." 라고 했던 것으로 보아 투자회사일 뿐인것 같습니다.
손실 처리해도 소유지분은 계속 가지고 있는 것이겠죠??

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.