Ken Yap �۾��� �Ұ�: ȣ���� �õ�Ͽ� ��� �ִ�. 1979� ó�� ���н��� ���ϰ� �Ǿ���, 4�Ⱓ �������� ����Ͽ� �����۾��� ���ͳ� ���ӵ��� �ϰ� ������, ���ڰ��п� ���õ� ��̸� ������ �ִ�. �������� ���ϰų� ���Ҷ��� ������ �ð����� ������ �ϰų� ����ִ� ������� �����ų� ���ο� �丮�� ����� ���ٰų� ��å�� �ϸ� ������ �ѷ����� ���̴�. �״� �ٱ�������� ���������� ���ϰ� �ִ�. �۾��̿��� �����ϱ� |
��Ʈ�� ���ð� �̴������� �Ұ����: �̱��� ���ؼ� �������� ���� �ϵ��ũ�� �������� �ʰ� ��� �ϸ� ���ֹ� �� ����� ���α����κ��� ��Ʈ��Ʈ���� ��°��� ���� ������ ������ ��� �ִ�. ������ �ӽſ��� ��������� �����ϰų� �����ϴ� �̻����� ����� �����Ѵ�. ��Ʈ�� ����(Network booting)�̶� �����ΰ�?��Ʈ�� ������ ���� ���� ���̵���. ��ǻ�Ϳ��� ��(ROM)Ĩ�� ���� ������ �����ϰų� ��Ʈ��ũ ������ ���Ͽ� �ý��� ������ ���� �� �ֵ��� �ϴ� �� ���� ���ֹ� �� ���Ե� ��Ʈ��Ʈ�� �ڵ带 ������ �ִµ� �̰��� �ٽ����� ���̵���. �̷��� �ϴ� �������� ���� ������ �ִµ� ���� ù ��°�δ� ���ý� �ϵ��ũ�� ����� ���ϴ� ���̴�. �̷��� �����ν� ���� ��迡�� ����Ʈ���� ��������� ���̴� ���� �ȴ�. ��Ʈ�� ���ÿ� ���ؼ� ���ϵ��� �߾� ������ ����Ǹ� �� ��ġ������ �����ϸ� �ȴ�. �� �ٸ� ������ �ϵ��ũ�� �������� ���� ��ġ���� ��ǻ�� ����� �� �ֵ��� �ϱ� ���ؼ���. ���� ��� ���� �۾��忡���� ����� �� ������ �ϵ��ũ�� ���峪�� ����. ������ ������ ����Ʈ��� �ٽ� ���� �ʰ��� ������ �ü�� ���̸� ��ȯ�� �� �ֵ��� �ϴ� ���̴�. ��Ʈ�� ������ ���� ��ũ ���ð� �����Ѵ�. ���� ���ڸ� �ý����� ���Ͽ� ���� ������� ������ ���� ������ ������ ��Ʈ���� ���� �������ε� ������ �� �ִ�. �̷��� ����� �̿��� �� ���� ��ʰ� �ִ�. �� ģ������ �ϳ��� �̷��� ����� �̿��Ͽ� ��Ʈ���� ���� ������� �ٽ� �ε��Ѵ�. ������� ��ġ�� �� ���� ���Ǵ� �ý����� �ջ�Ǿ��� ���, �ý��� �����ڴ� ��Ʈ���� ���� ������ ���ð� �ڵ� ��ũ��Ʈ�� �ϵ��ũ�� �����ϰ� �ű �������� �������� �ν����� ������ ���� ���ο� �ν����� �����ϰ� �ȴ�. �۵�������Ʈ���� ���Ͽ� ������ �Ϸ���, ��ǻ�ʹ� 1.���� ���̵�(Identity), 2, �ü�� �̹���(an operating image), 3.�۾� ���Ͻý����� �־�� �Ѵ�. ��Ʈ�� ��Ʈ ���� ������ �ִ� ��ũ�� ���� ��ǻ��(Diskless system;DC)�� ������ ����. �̰��� ���� ���� ������ DC�� ���� ���� ���� ���̴�. �� ��� �ٸ� DC���� ������ ���ΰ�? ��ǻ��(�ַ� ��ǻ���� ��Ʈ�� �����)�� �������� ��Ÿ���� �����δ� �̼��� �ּ�(Ethernet Address)�� �ִ�. ������ ��� �̼��� ����ʹ� ������ �ϵ���� �����ڵ鿡 �Ҵ�� �� ���� �������� ������ �� ������ 48��Ʈ �̼��� ��巹���� ������ �ִ�. �� �ּҴ� ���ǿ� ���� 16���� �����з� �Ǿ� ������, �ݷп� ���� �� ���� ������ ������ ���Ͽ� ���� �и��ȴ�. ���� ��� 00:60:08:C7:A3:D8�̴�. �̴��� ��巹���κ��� �־��� IP�ּҸ� ��� �� ���Ǵ� ���������� ��Ʈ��������(Boot Protocol;BOOTP) �Ǵ� ����ȣ��Ʈ������������(Dynamic Host Configuration Protocol;DHCP)�̶�� �θ���. DHCP�� BOOTP�� ������ �깰�̴�. �츮�� ����� �ٿ� ���ϸ� ���� BOOTP�� ����� �͵��� ���� DHCP���� ����Ǿ��� (��� BOOTP�� DHCP�� �̼��� ��巹������ ���� �����ȴٴ� ���� �ټ� �����̴�. �տ��� ���캻 �ٿ��� �����ڰ� BOOTP�� DHCP�� ��� �ϵ���� ��巹���� �� �����ϱ� ���� ����� ������ ���δ�. ������ ��κ��� ������� ����ϴ� ���� �̼����̴�.) BOOTP ��ȯ�� ������ ���� ����ȴ�.: DC: ��������! ���� �ϵ���� ��巹���� 00:60:08:C7:A3:D8�ε���. �� IP�ּҸ� �ֽǷ���. BOOTP ����: (����Ÿ���̽����� ��巹���� ã�´�.) ����� �̸��� aldebaran�̿���. ����� IP ��巹���� 192.168.1.1�Դϴ�. ����� ������ 192.168.1.1�̿���. ����� �����ϱ� ���� �ʿ��� ������ /tftpboot/vmlinux.nb�Դϴ�. (���� �� ���� �ٸ� ������� �Բ� ������.) DC�� ��� ó���� BOOTP �����κ��� ��巹���� ã���� �ñ��� ���̴�. ���� ���� �ʴ´ٰ� �����̴�. BOOTP�� ���� ��û�Ǹ� ��Į ��Ʈ��ũ�� ��ε�ij��Ʈ(broadcast;����� ��� �ӽſ� ��û�� �״�� ����)�� �ϰ� �Ǿ� �� ��û�� ���� �� �ִ� ��� BOOTP �����κ��� ��巹���� ���� �� �ִ�. IP�ּҸ� �ް� �� ��, DC�� �ü���� �̹����� �ް� �ǰ� �����ϰ� �ȴ�. ��� ���� �ٸ� ���ͳ� ���������� Trivial File Transfer Protocol(TFTP)��� �Ҹ���. TFTP�� FTP�� ��������� ���δ�. ���� ��ó�� �и����� �ʴ�. ���� Transmission Control Protocol(TCP) ��ſ� ���Ǵ� UDP(User Datagram Protocol)�� �������� �����Ѵ�. UDP�� �� ������ ������ TCP��ſ� ���ȴ�. DC���� UDP�� �����ϴ� ���� �۰� ���� �� �־ �ڵ尡 ROM�� ����ϱ �����ϴ�. UDP�� ��Ʈ�� ����� �ƴ϶� ���� ��� ���������̹Ƿ� ������ ������ ���� ���� ������ ����ȴ�.: DC: /tftpboot/vmlinux.nb�� ���� 1�� �ּ���. �̷� ������ ��� ������ �� ����DZ���� ��ӵȴ�. �ڵ彦��ŷ(Handshaking)�� �� ������ ��Ű��(Scheme)�� ������ ����Ȯ���̸�, ��Ŷ �ս��� Ÿ�Ӿƿ��DZ� ���� �����ۿ� ���� �����ȴ�. ��� ������ �� ���� ��, ��Ʈ�� ���� ROM�� ������� ��Ʈ������Ʈ(entry point)�� �ִ� �ü���� �ѱ�� �ȴ�. ���������� �ü���� �����ϱ� ���� ��Ʈ ���Ͻý����� �����Ǿ�� �Ѵ�. �ٸ� ������ �����ϴ� �ϴ��� �������� �ٸ� ���н����� ���Ǵ� ���������� �ַ� ��Ʈ�� ���� �ý���(Network File System)�� ����Ѵ�. �� ��쿡�� �ڵ尡 ROM�� ���ο� �����ؾ� �� �ʿ�� ������ ��� �ٿ���� �ü���� �κ��� �� �� �ִ�. ���� �ü���� ���� ��ũ�� �ƴ� NFS�� ��Ʈ ���Ͻý��ۿ� ���� ������ �����ؾ� �Ѵ�. �������� �� ���� ������ �� �ִ� ������ �ü���� ������ �� �ִ� �䱸 ���������� ������ �ִ�. ���� ��Ʈ����(Netbooting)��� ��ƮROM �Ӹ� �ƴ϶�, ���� ��Ű���� ���Ǵ� ��Ʈ�� ���ÿ��� �ΰ����� �ִ�. �̼�����(Etherboot)�� �ݺ���(Netboot)�̴�. �� �� Etherboot Ȩ�������� ���� ã�� �� �� �ִ�. ���� �������� ��ũ��ũ ī�带 �̼���Ʈ(Etherboot)�� �ݺ�Ʈ(Netboot)�� �����ϴ��� Ȯ���Ͽ��� �Ѵ�. �ᱹ�� ���� EPROM(Erasable Programmable Read Only Memory)�� �ڵ带 �־��� �ϴ� ���� �˾ƾ� ������, ó������ �÷��Ƿκ��� ��Ʈ�� ������ �����Ѵ�. ��Ʈ �÷��Ǹ� ����� ���� Ư���� ��Ʈ ������ �����ÿ� �����ȴ�. �� ���� 512����Ʈ�� ���α��� �÷��ǿ� �� ������ ��ġ�� ��ũ ������ �� �о���̸鼭 ������ �����Ѵ�. ���Ƿ� ��Ʈ �÷��Ǹ� �����ϱ� ���ؼ��� ��Ʈ ������ ������ ���� ��Ʈ��ũ ī��� ����̹��� ���Ե� �̼���Ʈ(Etherboot)���̳ʸ��� �����ϱ⸸ �ϸ� �ȴ�.: cat floppyload.bin 3c509.lzrom > /dev/fd0 ��Ʈ��ũ ��Ʈ �÷��Ǿȿ� �Ű� �ֱ� ���� �������� BOOTP(or DHCP), TFTP�� NFS�� ������ ���� �¾��Ͽ��� �ϴµ�, ���ÿ� �����Ǿ�� �� �ʿ�� ���� �ϳ��ϳ� ������ �� �ִ�. ���� �ܰ�� ���� ���� ������ �ܰ谡 �� �����ϴ��� Ȯ���Ѵ�. �ҽ��ڵ�κ��� �������ϰų� �����ÿ� ������ bootpd ������ �ν����ߴٰ� ��������. ���� �� ������ bootp ��û�� ��ٸ��� �ִ� ���̶�� ���� �� ���̴�. �� �� �ΰ��� ��찡 �ִ�. �ϳ��� ��ǻ�Ͱ� �õ��� �� �� ��� �ִ�(listening) ��Ʈ�� ���� bootpd�� �����ϴ� ���̴�. �� �ٸ� �ϳ��� inetd�κ��� ���۵Ǵ� ���̴�. ������ ��� /etc/inetd.conf�� ������ ���� ���� ���Խ��Ѿ� �Ѵ�.: bootps dgram udp wait root /usr/sbin/tcpd bootpd ���� /etc/inetd.conf�� �����ߴٰ� �����ϸ�, ���μ����� HUP��ȣ�� �������μ� �ý����� ������� �ʿ伺�� �ְ� �ȴ�. ������ �̼���(Ethernet)�ּҸ� IP�ּҷ� �����ϴ� �����ͺ��̽��� bootp�� �����ش�. �� �����ͺ��̽��� /etc/bootptab.�� ������ ������ ���� ������ ���� �����ϰ� �ִ�.: aldebaran.foo.com:ha=006008C7A3D8:ip=192.168.1.100:bf=/tftpboot/vmlinuz.nb�ٸ� �������� ��Ÿ�� ���� �ְ����� �����ϰ� �����ϵ��� �ϰڴ�.. ��, �� �÷��ǿ� ���� DC�� ������ ����. ���� DC�� �� �ڽ��� �̴��� ī�带 ã�Ƽ� BOOTP ��û�� ���ÿ� ������ �ӽſ� ����(broadcast)��. �� ���۵ȴٸ� ������ DC�� ��û�� �����鿡 ���� ������ �Ѵ�. ���� /tftpboot/vmlinux.nb�� �������� �ʴ´ٸ� ������ �б�õ��ÿ� �����ϰ� �ȴ�. ���� Ư�� Ŀ���� �������Ͽ��� �ϹǷ�, ��Ʈ ���Ͻý����� ���� �ִ� NFS�κ��� ����Ʈ�ϱ� ���� �ɼ��� ������. ���� ���� BOOTP �������κ��� Ŀ���� IP ��巹���� ���� �� �ִ� �ɼ��� ����(enable)���� �����Ѵ�. ���� �� ���� Ŀ�η��� �ε� ��� ��Ʈ�� ����Ϳ� �´� ������ ����̹��� �������ϴ� ������ �ʿ��ϴ�. �� ������ �ʱ� ����ũ(initial ramdisk)�� �ٿ������ �Ǵµ� ����� �ε��ϴ� ���� �����ϱ� ������ �� ���Ŀ��� �� �� �ִ�. ���������� Ŀ���� �������ϴ� ���� ����� zImage�� ��ġ�� ���� ����. �̰��� tagged image�� ��Ÿ����. �̰��� �� ���� ���� ����Ʈ(bytes)�� ���� �ְ� � ��巹������ �� ���α��� ���۵Ǵ°��� ��Ʈ�� ��Ʈ�δ�(network bootloader)�� �����ִ� Ư���� ����� ������ �ִ� ������ Ŀ�� �̹����̴�. �̷��� tagged image�� ����� ���� mknbi-linux��� �Ҹ��� ���α��� ���ȴ�. �� ��ƿ��Ƽ�� Etherboot�� �����ÿ� ã�� �� �ִ�. �� �̹����� ����Ų �Ŀ� /etc/bootptab��� �̸����� ������ �� /tftpboot ���丮�� �д�. tftp server�� Ư���� �켱������ ���� ������, �� ������ ��ο��� �б� �����ϵ��� ����� �������� Ȯ���Ѵ�. TFTP���� �ҽ��κ��� �����ϵǰų� ������ �����Ǵ� tftpd�� ��ġ�Ͽ��ٰ� �����Ѵ�. tftpd�� /etc/inetd.conf�ȿ� ������ ���� � ���ؼ� inetd�� ���������� �õ��ȴ�. tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /tftpboot �ٽ� HUP �ñ׳��� ���� inetd�� �ٽ� �����ϰ� �Ǹ� ��Ʈ�� ��õ��ϰ� �Ǹ�, �̹����� Ŀ�� �̹����� �ٿ�ε��ϰ� �Ǹ� �̰Ϳ� ���� �õ��ϰ� �ȴ�. ��Ʈ ���Ͻý����� ����Ʈ�Ϸ��� �ϴ� �������� ��Ʈ�� ��ӵȴٴ� ���� �� �� �ִ�. �� �������� ��� �����ϱ� ���ؼ� NFS ��Ƽ���� ����(configure)�ϰų� ����(export)�Ͽ��� �Ѵ�. ���� �������� DC�� ��Ʈ ���Ͻý����� ������ ��Ʈ ���Ͻý������κ��� ����ϴ� ���� ���� ���� ������ �ƴϴ�. �� �� �ϳ��� �����ϰ� �����ڸ� �پ��� ���������� �־ DC�� ���� ������� �߸��� �������� ���� �� �ִ�. ���� ���ȹ�����. �� ������ ��Ʈ�� ���� ����(���� ���� ������ ���� ���� ������ ��Ʈ ���Ͻý��ۿ����� �ʿ��ϴ�.)�� ����ϴ� ���� ����� ������ ���̴�. ���� �������� DC�� ��Ʈ ���Ͻý����� �� ũ�� ������, �뷫 ���� 30MB�����̸� ������ ���� �κ��� ��� DC�� ���̿� �����ȴ�. �̻����� ��Ʈ ���Ͻý����� �����ϱ� ���ؼ��� �ݵ�� ���Ǵ� �ü�� �������� ��� ���ϵ��� ������ �ϴ����� �˾ƾ� �Ѵ�. ���ýÿ� ���� �߿��� ���� ����̽� �����̸� �� ���ϵ��� /sbin�� /etc�ȿ� �ִ�. DC�� ��� ���ϵ��� �����ϰų� ��Ʈ ���Ͻý��ۿ� �ִ� ������ �����ϴ� �Ͱ� ���� ���� ����� ������ �dzʶ� �� �ִ�. Etherboot ���������� Ʃ�丮��� ���� DC ��Ʈ ���Ͻý����� ������ ���� ��Ʈ ���Ͻý������κ��� �����ϴ� �� ���� �� ��ũ��Ʈ(shell script)���� ��ũ���� �ִ�. ���� Etherboot �����ȿ��� ���� �¾��ÿ� ���� �� �ӱ� ���� ������å�� ������ �ִ�. DC�� ���Ǵ� Ŀ��������� ������ Ŀ�ο����� /tftpboot/ <IP address of the DC>���� ��Ʈ ���Ͻý����� �� �� �ִ�. ���� ��� ���� ��쿡���� /tftpboot/192.168.1.100�̴�. ���Ѵٸ� �̰��� Ŀ���� ������ �� �ٲܼ��� ���� ���̴�. �� ������ /etc/exports�� �����ϰų� ������ ���� ������ ���� ������ ���� �־��.: /tftpboot/192.168.1.100 aldebaran.foo.com(rw,no_root_squash) rw access�� �پ��� �ý��� ���� �ʿ��ϴ�. no_root_squash �Ӽ��� NFS�ý����� ��Ʈ�� ID�� �ٸ� ID�� �����ϴ� ���� �����Ѵ�. ���� �� ������ ��üȭ���� ������, ���� ������ �ΰ�(logger)���� ȥ���ϰ� �� ���̴�. NFS ����(rpc.portmap�� rpc.mountd)�� �õ��ϰų� ��õ��ϰ� ��ũ�� ���� ������ �غ���. ��� �����ߴٸ�, Ŀ���� ��Ʈ ���Ͻý����� ����Ʈ�� �� ���� ���̰�, �α��� ������Ʈ�� ���� ������ ������ �̷���� ���̴�. �������� ����δ� �̼����� �� �������� ���� ���� ���̴�. ��κ��� ������ ���������� ��ũ�ε� ü���� ��ǥ�� �ϰ� ������ ��ũ���� ������ �����ϰ� �Ϸ��� �ణ�� ������ �䱸�ȴ�. ���� �������� ���п����� ���� ���μ������� /usr ���丮���� ���ϵ鿡 ���� ������ ���� ���̸�, �̰��� ��Ʈ ���μ������� �����κ��� ���������� import�� �͵��̴�. �ΰ����� ������ �ذ�å�� �ִµ� 1. ��Ʈ ���Ͻý��� �ȿ� /usr ���丮�� �Ҽ��� ���ϵ�� �����ǵ��� �Ѵ�. �����μ� /usr�� import�� �� ��������(overlay)�� ���̴�. ���� 2. ��Ʈ ���Ͻý��۾��� ������ ã�� ���� ��θ� �����Ѵ�. ������ ���ϵ��� /tftpboot/192.168.1.100�� �ִ�. (�̰��� DC�� ��Ʈ ���丮��� ���� ����ϱ� �ٶ���.) �����κ��� �ٸ� ���丮�� ���� /usr( read-only�� export�� �� �ִ�)�� ����Ʈ�� ���� ���� ���̴�. �ƹ� �������� ��Ʈ���� ������ �� �ִٴ� ���� ���������ٰ� ������ ��, EPROM�� �ڵ带 �����Ϸ��� �� ���̴�. EPROM ���α��Ӵ� 100�� ������ �����ϸ�, ���� ���� ����ϴ� ��̰�(hobbyist)�鿡�Դ� ȿ������ ����� ���ڴ� �ƴϴ�. ������ ������ ���ݿ� �߰����忡 ��Ÿ���� ������ ���� �߿��� �ܼ��� �װ��� �����ϴ� ����Ʈ��� �����ϳ� �ϴµ� �ִ�. ���ڰ��п� ���� ��̰���� ���ͳݿ� �ö�� �ִ� ��������� �������� �ϳ��� ����� ���� ����� �� �� ���� �������� ���ڵ� ���� ���� ��κп� �־ ���� ������ �ذ�å�� �� ������ ���غ� ����� �ƴ� ���̴�. �Ƹ� ���� ������� ���ڰ����� ��̷� �ϴ� �����̶���� ����ȸ�翡 �ٴϴ� ����߿� ���� ���̴�. EPROM ����� ���� �� ������ ������ �ִ�. EPROM�� ��Ʈ���� 0 ��Ʈ�� �Էµ� ��, �¾е� ���ڵ��� field-effector Ʈ���������� floating gate�� �л��ϴ� ��Ŀ� ���� ���α��ȴ�. ���ڴ� 0�� �������ν� �� ��ġ�� ������. EPROM�� �������� �������, ������ ����â�� ���� ���� �ڿܼ� ���ڸ� Ĩ�� �������μ�, ���� ���ڵ��� �÷��� gate�κ��� ���������� �ִ� ����� �������� ������ �ȴ�. ���̳� ����� �����κ��� �����Ⱓ���� �ڷ��� �ҽ��� �����ϱ� ���� �� ���� ����â�� �Ϲ����� ���¿��� ���������� ���� ���δ�. EEPROM(Electrically Erasable PROM)�̶�� �Ҹ��� �ٸ� ����� �ִµ�, ���� Flash PROM�̶���� �Ҹ���. ���⼭ ��Ʈ���� �������� ��ȣ�鿡 ���� ���ŵȴ�. �̷��� ������ EPROM�� ����� ��� �ڿܼ� eraser�� �ʿ�� ���� ������, �����۾��� ������ �ΰ����� ȸ�ε��� �ʿ�� �Ѵ�. ���� ���ڰ����� �� �ƴ� ����̶��, Etherboot�� �������� �ִ� EEPROM ������� ���� ����Ʈ����� ȸ�ε��� �������� ���̴�. ����� PC�� �� ISA ���� ���Կ� �Ű� ��Ʈ�� ī�嵵 ���� �ٸ� �� ������ �̿��Ͽ� ������ �Ѵ�. ��Ʈ�� ������ Ȱ��X �̳��� ��Ʈ�� ������ ��ǥ���� ��뿹��. �̳� ���ο� ��ũ ������ �۱� ������ �� �����ϰ� �� ������ �۾�ȯ���� ���� �� �ִ�. �ӽ��� 16MB�� �� Ȥ�� �� �̻��̸�, ���� ī�� ���� �������� ����. �̻����̶�� �����Ǵ� �ϵ���� ����� �ְ��� 486�����̰ų� �ʱ� ��Ƽ�� �������� ���δ�. � ������� ��Ʈ�� ������ �����ܸ���(�ϳ��� �ܸ� ������ġ�� �� ����� �ٸ� �ܸ���)�鿡 ����ϱ �Ѵ�.DC�� ����� ���� �̹��ϰų� ��ũ�� �ŷ��� �� ���� ��, ���� ��� ���ǿ��� ���Ǵ� �ܸ����� ��쿡 �ش�ȴ�. �� ���� ������ �˰������ø� :�������� �鷯�� �� ó�� �������� Etherboot Ȩ�������� �� ���̴�.:http://www.slug.org.au/etherboot/ �� ������ ���� ������� �ذ����� ���ǵǾ� �ִ� ������ �� �ִ� ���ϸ� ����Ʈ���� ������ �پ��� ��ũ���� �� �� ���� ���̴�. ��ſ� �ݺ����� �Ǽ���!
1������:������
|
�� ������Ʈ�� Miguel Angel Sepulveda���� �����մϴ�. © Ken Yap 1998 LinuxFocus 1998 |