강좌 내용 참고아래의 강좌 글은 FALINUX의 유영창 이사님께서 작성하신 글로, 며칠 전 coLinux에 하드디스크를 추가하는 글에 댓글로 올리신 것입니다. 댓글에 있으면 게시판에 검색되지 않을 것 같아서 따로 유영창 이사님의 이름으로 글을 올립니다. 며칠 간 고생해도 안되서 답답했었는데, 시원하고 자세한 설명을 올려 주신 유영창 이사님께 감사드립니다. ^^

부팅이 안되는 이유는 별거 아닙니다.
fstab 를 바꾸어야 합니다.
참고로 제가 했던 작업 환경을 올려 드리겠습니다.

혹시 내용에 반영되면 이 내용을 삭제하셔도 됩니다. ^^

XXX_coLinux 용 FALINUX 크로스 컴파일 환경을 위한 10G 페도라 이미지 구축 기록
============================================================================

1. 개요

이 문서는 FALINUX 제품에 동작하는 부트로더,커널,어플리케이션을 생성하기 위한 방법으로
ARM 과 MIPS 용 크로스 컴파일이 가능한 coLinux용 페도라 이미지를 10기가 크기로 만드기 위한 과정을
기술한 문서이다.

2. 진행이유

coLinux 사이트에서 제공하는 페도라 이미지는 2기가 크기의 파일 시스템이다.
그러나 이크기는 크로스 컴파일 구축하고 여러 프로젝트를 진행하기에는 약간 부족한 느낌이 든다.
그래서 10기가 크기를 갖는 파일 시스템을 만들고 이 파일 시스템에 환경을 구축한 후
일반인에게 공개하기로 마음 먹었다.

최종적인 이 과정의 목적은

다른 사람이 압축된 파일을 coLinux 가 설치된 곳에 풀고 네트워크 부분만 맞추면
특별한 문제 없이 동작하도록 하는 것이다.

3. 사전 조건

이 문서는 이미 coLinux를 사용할수 있는 환경이 구축된 상태임을 가정하고 있다.

4. 필요한 파일 다운 로드 받기

필요한 파일은 두가지 이다.

하나는 페도라 2 기가짜리 원래 이미지이고
두번째는 cobd 파일을 만들수 있는 MKFILE.EXE 이다.

(**) 2.6 커널 coLinux 용 페도라 9 이미지 파일 다운 받기

파일명은 Fedora-9-20080827.exe 이고 다음 링크에서 받는다.

http://sourceforge.net/project/showfiles.php?group_id=98788&package_id=122245&release_id=622375

Fedora-9-20080827.exe 을 실행해서 압축을 풀면 다음과 같은 목록의 파일이 압축이 풀려 나온다.

Fedora-9.img
README-Fedora-9.txt
start-Fedora-9.bat
start-Fedora-9.sh
swap.img

이전에 페도라 이미지로 coLinux를 설치된 적이 있다면
다음 작업의 진행을 위해서 위 파일명에 해당하는 파일들을 다른 위치에 백업 한 후 이 이후의 과정을 수행하는 것이 안전하다.

(**) MKFILE.EXE 유틸리티 다운 받기

이 파일은 다음 위치에서 받을수 있다.

http://www.geocities.com/dan_slater/colinux/utils.zip

이 파일에서 압축을 풀면 다음과 같은 파일들이 압축이 풀린다.

MKFILE.CPP
MKFILE.EXE
MKSPARSE.CPP
MKSPARSE.EXE
SPSIZE.CPP
SPSIZE.EXE

이 중에 필요한 파일은 MKFILE.EXE 이다.

5. coLinux 가 설치된 디렉토리 환경

이 작업을 진행하기 위해서 설치된 coLinux 디렉토리는

C:\colinux_fedora9   

이후 문서는 이 위치를 기준으로 설명할 것이다.

6. 10기가 이미지 만들기

MKFILE.EXE 파일을  C:\colinux_fedora9  에 옮겨 놓는다.

도스 창에서 C:\colinux_fedora9  로 이동한 후
다음 명령을 처서 10 기가 크기의 파일을 만든다.

MKFILE Fedora9-10G.img 10G

7. 환경 파일 및 배치 파일 작성 

윈도우에서 colinux 페도라 동작을 위해서 다음과 같이 환경파일과 실행 배치 파일을 만든다.

-----[Fedora9.conf]------------------------------------------------------------------------
kernel=vmlinux
mem=256
ro
initrd=initrd.gz
cobd0=Fedora-9.img
cobd1=swap.img
cobd2=Fedora9-10G.img
root=/dev/cobd0
eth0=tuntap,"TAP"
cofs0=C:\
-----[Fedora9.conf]------------------------------------------------------------------------

실행 배치 파일은 다음과 같이 만들었다.

-----[Fedora9.bat]------------------------------------------------------------------------
colinux-daemon @Fedora9.conf -t nt
-----[Fedora9.bat]------------------------------------------------------------------------

8. 페도라 9 이미지 실행 및 현재 파일 시스템을 tar 파일로 압축

Fedora-9-20080827.exe 을 실행해서 풀린 Fedora-9.img 파일을 C:\colinux_fedora9 로 이동한다.

Fedora9.bat 을 실행한다.

정상적으로 부팅된후 로긴 메시지가 나오면 root 를 입력한다.
패스워드는 묻지 않을 것이다

10기가 이미지를 EXT2 형식으로 포맷한다.

[root@localhost ~]# mke2fs -F /dev/cobd2

ext2 를 ext3 로 바꾼다.

[root@localhost ~]# tune2fs -i 0 -j /dev/cobd2

이것을 마운트 한다.

[root@localhost ~]# mkdir -p /new_disk
[root@localhost ~]# mount /dev/cobd2 /new_disk
[root@localhost ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cobd0             4124352   1088564   2826280  28% /
tmpfs                   128200         0    128200   0% /dev/shm
0                     76802008  60402924  16399084  79% /C
/dev/cobd2            10321208    154236   9642684   2% /new_disk

이제 2기가 이미지의 페도라 파일 시스템의 모든 내용을 모두 tar 로 복사 한다.
단 /proc, /sys, /dev/shm, /C 디렉토리는 배제한다.

(cd / && tar cpf - . --exclude new_disk --exclude proc --exclude sys --exclude dev/shm --exclude  dev/pts ) | (cd /new_disk && tar xpf -)

new_disk 로 이동한후 proc sys dev/shm 디렉토리를 만든다.

[root@localhost new_disk]# cd /new_disk/
[root@localhost new_disk]# mkdir proc  
[root@localhost new_disk]# mkdir sys   
[root@localhost new_disk]# mkdir dev/shm
[root@localhost new_disk]# mkdir dev/pts

etc/fstab 를 다음과 같이 바꾼다.    

-----[/new_disk/etc/fstab]------------------------------------------------------------------------
/dev/cobd0              /                       ext3    defaults        1 1     <-- 수정한 곳
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=swap              none                    swap    defaults        0 0   
-----[/new_disk/etc/fstab]------------------------------------------------------------------------

마운트를 풀고 셧다운을 한다.

[root@localhost new_disk]# cd /
[root@localhost /]# umount new_disk
[root@localhost /]# shutdown -h 0

8. 환경 파일 수정 및 재 실행

윈도우에서 colinux 페도라 동작을 위해서 다음과 같이 환경파일을 수정한다.

-----[Fedora9.conf]------------------------------------------------------------------------
kernel=vmlinux
mem=256
ro
initrd=initrd.gz
cobd0=Fedora9-10G.img
cobd1=swap.img
root=/dev/cobd0
eth0=tuntap,"TAP"
cofs0=C:\
-----[Fedora9.conf]------------------------------------------------------------------------

Fedora9.bat 를 실행한다.

9. root 암호를 수정하고 일반 유저를 하나 등록 한다.

여기서는 root암호를 root로 만든다.

[root@localhost ~]# passwd
Changing password for user root.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#

로그 아웃 한후 root 암호가 제대로 등록되었는지를 확인한다.

일반 유저를 하나 등록한다.

사용자 명은 user 이고 암호도 user 이다.

[root@localhost ~]# adduser user
[root@localhost ~]# passwd user
Changing password for user user.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

[root@localhost ~]#

로그 아웃 한 이후에 user 로 로그인 한 이후에 su 명령으로 root로 전환되는 가를 확인한다.

10. 1 차 복사 본을 만들어 놓는다.

이 파일에 복사본을 만들어 놓는다.

(**) 이 이후의 내용은 여기 강좌와 비슷해서리 생략 합니다.