���������� ����ũ ���� ����̽� ����ϱ�
------------------------------------------

Paul Gortmaker 95�� 12�� 
�ű���: ������(xunil@linuxfan.com) 99�� 6�� 28��

����:

	1) ����
	2) Ŀ�� ���ɾ� ���� �Ķ����
	3) ���ο� Ŀ�ο� "rdev -r" ���ɾ� ����ϱ�
	4) ���� ����ũ ����� ����

1) ����
-------

Ŀ�� ���� 1.3.48���ķ� ����ũ ����̹��� ���� �κ��� �ٲ����.

���� ������ ���ý� Ŀ���� �޸𸮸� �����ϱ� ���� �޸𸮸� ��� ����߱�
������ "ramdisk=1440 �̳� rdev -r /dev/fd0 1440"���� ũ�� �Ķ���͸� �����ؼ�
�󸶸�ŭ�� �޸𸮸� ���� �������� Ŀ�ο��� �˷���� �ߴ�.

������ ������ ����ũ�� ������ �ʿ��� ������ �������� �ڶ󳪰� �ȴ�. �̴�
���� ���� ij���� �̿��ؼ� ���� �����̴�. ����̹��� �ڽ��� ���� ���۸�
Ŀ���� ���߿� ������� ���ϰ� �Ϸ��� "BH_Protected" �÷��׸� ǥ���� ���´�.
���� ������ ���� ũ�� �Ķ���ʹ� �� �̻� �ʿ䰡 ���� �ư� ���ο� ���ɾ� ����
�Ķ���Ͱ� �����. ���� "rdev -r" �̳� "ramsize"(���� rdev�� �ɺ��� ��ũ�� �Ǿ�
�ִ�.) ���ɾ �ٲ����.

���ο� ����ũ�� 16���� ����ũ���� ������ ������ rd.c�� �ణ �����ָ�
255������ ������ ���� �ִ�. 1�� �̻��� ����ũ�� ������ 
'mknod /dev/ramX b 1 X'(X=����)�� �ϰ� 'chmod'�� �Ἥ �۹̼��� �ٲ����.
�⺻ /dev/ram(disk)�� ���̳� �ѹ� 1�� ���ϱ� ram2���� �����ؼ� �ʿ��� ��ŭ 
����� �ȴ�.

�� �� Ȯ���� �ϱ� ���ؼ� ������ "ramdisk=<ram_size>"�� 
"ramdisk_size=<ram_size>"�� �ٲ����. ������ "ramdisk=<ram_size>"�� ȣȯ����
���� ���� ���� ������ Ŀ�� ���� 2.1.X ���� �뿡�� ������ ���̴�.

���ο� ����ũ�� ����� ����ũ �̹����� �ε��� ���� �ִ�. �̷ν� ��ġ
���ϳ� ���� ���Ͽ� �� �� ���� ���α׷��� ����Ǿ� �� ���� �ִ�.

����: ����� �ý��ۿ� "/dev/ram"�̳� "/dev/ramdisk", Ȥ�� �� �� ���� �� �ִ�.
�� ���������� �̵��� �Ȱ��� ����Ѵ�. ��, ���ο� ����ũ�� config �ɼ��� 
�Ǿ���. "make config"�� �� �� ����ũ�� ������ ������ ������ ���� �ִ�.

2) Ŀ�� ���ɾ� ���� �Ķ����
----------------------------

	ramdisk_start=NNN
	=================

�÷��� ���Ͽ� Ŀ���� ����� ����ũ �̹����� ���� ���� ��츦 ����
"ramdisk_start=<offset>" ���ɾ �߰��Ǿ���. ������ Ŀ���� ����� ����ũ 
���� �ý��� �̹����� ���Ե� ���� ����. �ֳ��ϸ� Ŀ���� 0��° �������� �־�� 
���̿����� ��Ʈ ���͸� ���� �� �ְ� �� ������ Ŀ���� �ڱ� �ڽ��� ����ؼ� 
������ ������ �����̴�.

����: ���� ������� ���� ����ũ �̹����� ���ٸ� Ŀ���� ����ũ�� �ε��
���� �ý����� �Ϻκ��� �� ���� �ְ�, ���η� ������ ���� ��ų �� �ִ�. Ȥ��
�� �ΰ����� ���� �̹�������ó�� �� ������ ������ �� ���� �ִ�.

���� �� ������ ��Ʈ/��Ʈ �ý���(Ŀ���� 1�� ����, ����ũ �̹����� 2��
����)�� ���ٸ� ����ũ�� 0�� �������� ������ ���̰� �ɼ��� �翬�� 0��
�� ���̴�. �� ���� 0�� �⺻���̱� ������ "ramdisk_start" �ɼ��� ���� �ʾƵ� �ȴ�.

���� �� �忡 350 kb ������ "zImage"(Ŀ��)�� 1 Mb ������ "fs_image.gz"(�����
���� �ý���)�� �ִ´ٸ� �� ���� �ɼ��� ���� ��� �Ѵ�. ���� ��� "fs_image.gz"
�� ������ 400 kb ��ġ�� �����ߴٸ�, "ramdisk_start=400" �̶�� ��� �� ���̴�.

	load_ramdisk=N
	==============

�� �Ķ���ʹ� ����ũ �̹����� ���� ������ �ƴ����� �����Ѵ�.
"load_ramdisk=1"�̶�� �ϸ� �÷��ǿ��� ����ũ�� ���� ���̴�. �⺻���� 0�̴�.

	prompt_ramdisk=N
	================

�� �Ķ���ʹ� ����ũ �̹����� ���� �ִ� ������ ���� �� �ְ� ��� ���� �� 
�ִ��� �������� �����Ѵ�. ���� �� �忡 Ŀ�ΰ� ����ũ �̹����� ���� ���
�ִٸ� ��� ���� �ʿ䰡 �����Ƿ� "prompt_ramdisk=0"�̶�� �ϸ� �ȴ�.
������ �� ������ ������ �ִٸ� ������ �ٲ� �ð��� �ʿ��ϹǷ� 
"prompt_ramdisk=1"�̶�� �ϸ� �ȴ�. �⺻���� 1�̴�.

	ramdisk_size=N
	==============

����ũ ����̹��� ����ũ�� N k ũ��� ��� �Ѵ�.
�⺻���� 4096 (4 MB)�̴�.

3) ���ο� Ŀ�ο� "rdev -r" ���ɾ� ����ϱ�
------------------------------------------

"rdev -r" ���ɾ ��Ʈ�ϴ� Ŀ�� �̹����� �ִ� ����(2 ����Ʈ)�� ������ 
�ٲ����. ���� 11��Ʈ(0-10)�� ����ũ�� 2 Mb(2^11)������ ��� ã�� ��������
�������ش�(������ ũ�⸦ ��Ÿ�´�.). 14 ��Ʈ�� ����ũ�� �ε���� �� ������
��Ÿ����, 15 ��Ʈ�� ����ũ�� �б����� ������ �� �������� ��Ÿ����. ����ũ��
�������� �ڶ� �� �ֱ� ������ ũ�� �ʵ�� �ʿ䰡 ��������. 11 ��Ʈ���� 13 ��Ʈ
������ ���� ������ �ʰ� 0���� ä���� �ִ�. �Ʒ� ���ڵ��� ����ʹ� �ٸ��� ���� 
�ź񽺷��� ����� �ƴϴ�.

./arch/i386/kernel/setup.c:#define RAMDISK_IMAGE_START_MASK     0x07FF
./arch/i386/kernel/setup.c:#define RAMDISK_PROMPT_FLAG          0x8000
./arch/i386/kernel/setup.c:#define RAMDISK_LOAD_FLAG            0x4000

�������� ���� �� ��¥�� ��Ȳ�� ������ ����. ù ��° ���Ͽ��� Ŀ���� ���
���� ���̰�, �� ��° ���Ͽ��� ����ũ �̹����� ���� ���̴�.

����ũ�� ������ ó������ 0 kb ������ ������ ������ �ϹǷ� 0�� ��Ʈ���� 
13�� ��Ʈ�� 0���� ��Ʈ�� �ؾ� �� ���̴�.
"ramdisk_start=0"

����ũ�� �ε�� ���̹Ƿ� 14�� ��Ʈ�� ��Ʈ�� �Ǿ�� �� ���̴�.
"load_ramdisk=1"

������ ���� ������ �ϹǷ� 15�� ��Ʈ ���� ��Ʈ�� �Ǿ�� �Ѵ�.
"prompt_ramdisk=1"

�̰͵��� �� ��ġ�� rdev ���忡 �� ���� 2^15 + 2^14 + 0 = 49152�� �ȴ�.
Ŀ���� �� ������ ������ ���� ����� �ǰڴ�.

        /usr/src/linux# cat arch/i386/boot/zImage > /dev/fd0
        /usr/src/linux# rdev /dev/fd0 /dev/fd0
        /usr/src/linux# rdev -r /dev/fd0 49152

��Ʈ ������ ���η� ������ �ȴٸ� ���� �۾��� ����ó�� ����������.
        append = "ramdisk_start=0 load_ramdisk=1 prompt_ramdisk=1"
ramdisk_start = 0 �� prompt_ramdisk = 1 �� �⺻���̹Ƿ� �̷��� �� ���� �ִ�.
        append = "load_ramdisk=1"

4) ���� ����ũ ����� ����

����ũ �̹����� ������� ������ ���� ����̽��� �־�� �Ѵ�. ����ũ ��ü
���� ������� �ְ� ������� �ʴ� ��ũ ��Ƽ��(�𸶿�Ʈ�� ���� ��Ƽ�� ����)����
�� ���� �ִ�. �� ���������� ����ũ ����̽�, "/dev/ram"�� ����� ���̴�.

����: �� ����� 8 Mb������ ���� ���� �ý��ۿ��� �ؼ��� �� �ȴ�. /dev/ram ��ſ�
������ ��ũ ��Ƽ���� ���ٸ� �� ���� ������ ������� �ʴ´�.

��) �󸶸�ŭ�� ����ũ�� �� ������ �����϶�. ���⼭�� 2 Mb �� ���ڴ�.
    ����ũ ����̽��� 2 Mb �� ������.(�� �ܰ�� ������ ���ʿ������� ���߿�
    �������� �𸥴�.) ���⸦ 0���� ä��� ���� ����.(�Ϲ� ��ũ ���� ����
    Ư���� �� �׷���.) �ֳ��ϸ� ����� ���� �̹����� �����ϰ� ���� ������ ��
    �� �ְ��� ����DZ� �����̴�.

	dd if=/dev/zero of=/dev/ram bs=1k count=2048

��) �ű�ٰ� ���� �ý����� ������. �츮�� ext2fs�� ������.

	mke2fs -vm0 /dev/ram 2048

��) ����Ʈ�� �ϰ� �ʿ��� ���ϵ�(/etc/* /dev/* ...)�� ������ ��, �𸶿�Ʈ�� �ض�.

��) ����ũ�� �����ض�. ������ �����ϰ� �ִ� ������ 50%������ ������ �� ���̴�.
    �� ���� ���� �κ��� ���࿡�� ���ܵ� ���̴�.

        dd if=/dev/ram bs=1k count=2048 | gzip -v9 > /tmp/ram_image.gz

��) Ŀ���� ���Ͽ��� ����־��.

        dd if=zImage of=/dev/fd0 bs=1k

��) ����ũ �̹����� Ŀ�� ���ʿ� ����־��. �� �� ���� Ŀ�κ��� �ణ ū ����
    �ɼ����� ���� ���߿� (�� ū) �ٸ� Ŀ���� ���� ��, ����ũ �̹����� ����
    ���� �ʴ´�. 350 kb ¥�� Ŀ���̶�� �ɼ��� 400 kb ���� �ִ� ���� ������ 
    ���̴�. ������ ���� �ɼ� + ram_image.gz �� ũ�Ⱑ ���� �뷮���� ũ�� �� 
    �ȴٴ� ���̴�.(���� 1440 kb)

        dd if=/tmp/ram_image.gz of=/dev/fd0 bs=1k seek=400

��) "rdev" ���ɾ �Ἥ ��Ʈ ����̽��� ����ũ �ɼ�, ������Ʈ �÷��� ����
    ��Ʈ�ض�. �� �������� �� ���� prompt_ramdisk=1, load_ramdisk=1, 
    ramdisk_start=400 �̹Ƿ� 2^15 + 2^14 + 400 = 49552 �� �� ���̴�.

        rdev /dev/fd0 /dev/fd0
        rdev -r /dev/fd0 49552

�������! ���� ����� ��Ʈ/��Ʈ ����ũ ������ �����. ��)���� 
��)������ �������� �Ἥ �� ���� ���� ���̴�.
   
-----------------------------------------------------------------------------
						Paul Gortmaker 95�� 12�� 

-----------------------------------------------------------------------------
               		�ؼ�: ������(xunil@linuxfan.com) 99�� 6�� 28��