��Ʈ��ũ ���ð� Etherboot�� ���� �Ұ�

���� : �̼��� / �������б� ��ǻ���а�

 

     

    �� �ۿ� ���� ������ ������ ������������ ���� �� �ֽ��ϴ�.

    http://mercury.chem.pitt.edu/~tiho/LinuxFocus/English/September1998/article2.html

    ��� : �̰��� ��� ��ǻ�Ͱ� �����ϵ��ũ�� ���� ���پ��� ���ֹ߼� �޸𸮿� ����Ǿ� �ִ� ���α׷����κ��� ���� �� �� �ִ°��� ���� ������ ��� �ִ�. �̰��� ������ �ڽ��� ������ ���� ��쿡 �����ϰ� �����ϴ� ������ε� Ȱ��ȴ�.

     

1. ��Ʈ��ũ ������ �����ΰ�?

    ��Ʈ��ũ ������ ������ �����̴�. �߽��� �Ǵ� ������ ��ǻ�Ͱ� ���ֹ߼� �޸�(���� ��� ROM Ĩ)�� �Ϸ��� ���ÿ� ���õ� �ڵ带 ������ �־ ��Ʈ��ũ�� ���ؼ� ������ �����Ͽ� �ý��� ���ϵ��� ������ ���̴�. ��ǥ�� ������ ���� �ϵ� ��ũ�� ����� ���ϴ� ���̴�. �̷��� �ϴµ��� ���� ���� ������ �ִ�. �׸��� ���� ���� �ٸ� ��񿡼� ��ġ�� ����Ʈ���� ��������� ���̴µ� �ִ�. ��Ʈ��ũ ������ ���ؼ� �ʿ��� ���ϵ��� �߾� �������� ������ �ǰ� �� �������� ���ŵǾ��� �� �ְ� ���� �� �ִ� ���̴�. �� �ٸ� ��ǥ�� �ϵ��ũ�� ����ϱ⿡ �������� �ʰų�, �Ǵ� ����� �뷮�� ������ ���ϴ� ��ǻ�Ϳ����� ����� �����ϰ� �ϴ� ���̴�. ���� ��� �ϵ��ũ�� �������� ���� ������ ����ϴ� ��ǻ�Ͱ� ���� ���� �ִ�. ������ ��ǥ�� ��� ����Ʈ��� �ٽ� �ҷ����� �� ���̵� ���� �ٸ� �ü������ ��ȯ�� �����ϰ� �ϴ� ���̴�.

    ��Ʈ��ũ ������ ��ũ ���ð� ���� ����� �� �ִ�. ���� ��� ��������� ��ũ�κ��� �۵���Ű�� ���δ� ��Ʈ��ũ�� �������� ���� �� ���� �ִ� ���̴�. �̷��� ����� �� ���� ������ ���� ���� �������� ���� ��� ������ ģ���� �� ����� ����Ͽ� ��Ʈ��ũ�� ���Ͽ� ������� �ٽ� ��ġ�� �� ����Ѵ�. �����ִ� �������� ������� �������� �� �ý��� �����ڴ� �������� �����ؼ� ���ο� ��ġ���� ������ �Ŀ� ��ũ�� �����ϰ� �� ���ο� ��ġ���� ��ũ�� ��ġ�� �� �ִ�.

     

2. ��� �����ϴ°�?

    ��Ʈ��ũ�� ���ؼ� �����ϱ� ���ؼ� �ݵ�� �־�� �� ���� 3������ �ִ�. �װ��� �ش� ��ǻ�Ͱ� �νĵ� �� �ִ� ������ �̸�, �ü���� �̹���, �׸��� �۾��� ���� �ý����̴�.

    ��ũ ���� ��ǻ��(Diskless Computer ���� DC)

    ��Ʈ��ũ ��Ʈ ROM�� ������ �ִٴ� ���� �˰� �־�� �Ѵ�. �̰��� �� ���� ������ DC�� �߿� �ϳ��� �� �� �ִ�. �׷��ٸ� ��� �� ��ǻ�͸� �ٸ� �͵�� ������ �� ������? ������ ����� ������ ����. �� ��ǻ��(�����δ� ��Ʈ��ũ ����Ϳ� �ִ�)���� ������ ��� ������ �ִµ� �̰��� �̴��� ��巹���̴�. ��� �̴��� ����Ϳ��� ������ 48��Ʈ�� �̴��� ��巹���� �ִ�. �̰��� �̳ʳ� ����� ����ȸ�縶�� ��巹���� �Ҵ�޾Ƽ� ����ϰ� �ֱ� ������ ������ ���̴�. ���ʻ� �� ��巹���� �� ���� ���� �׷����� �̷������ ������ �ݷ����� ���еǾ��� 16������ ��������. ���� ��� 00:60:08:C7:A3:D8 �̷��� ���̴�.

    �־��� �̴��� ��巹���κ��� IP ��巹���� ��� ���ؼ��� ����ϴ� ���������� ��Ʈ ��������(Boot Protocol : BOOTP)�� ���� ȣ��Ʈ ���� ��������(Dynamic Host Configuration Protocol : DHCP) �̶�� �Ҹ���. �츮�� ���ǿ����� Ư���� �̾߱Ⱑ ���ٸ� BOOTP�� ����� ���� DHCP���� ����ȴ�. (������ BOOTP�� DHCP�� ���� �̴��� ��巹���� ��ȯ �����ִ� ���̶�� �� ���� �ణ�� Ʋ�� ���̴�. ������ ���� �ǰ����� BOOTP�� DHCP�� �Ծ��� ���� �����ڵ��� � ������ �ϵ���� ��巹�������� �۵��ϵ��� �ϰ� �ִ�. �׷��� �̴����� ���� ���� ���Ǵ� ���̱� ������ ���⼭�� �̷��� ���� ���̴�.

    BOOTP �� ��ȣ�ۿ��� ���� ������ ����.

      DC : �̺�, �� �ϵ���� ��巹���� 0:60:08:C7:A3:D8 �ε�
              ������ IP ��巹���� ���.
      BOOTP ���� : (�����ͺ��̽����� ��巹���� ���캻��.) �� �̸��� aldebaran �̰�
                           �� IP ��巹���� 192.168.1.100 �̴�. �� ������ 192.168.1.1 �̰�
                           �װ� �����ϱ⿡ �ʿ��� ������ /tftpboot/vmlinux.nb �̴�.
                           (�׸��� �߰����� ������ ���� �� �ִ�.)

    ���� �Ǹ� ���ڵ��� ��� DC�� BOOTP ������ �ּҸ� �߰��� ���ΰ� �ñ��� ���̴�. �� ���� �߰��Ϸ��� ������� �ʴ´ٴ� ���̴�. BOOTP �䱸�� ���ó�Ʈ��ũ�� ��ε�ij��Ʈ�ǰ� ��� BOOTP ������ �� �䱸�� ���� �ϴ� ���̴�. ��, ������ ã�°� �ƴ϶� �׳� �� �ϵ���� ��巹���� ��ε�ij��Ʈ�ϸ� BOOTP ������ �̰��� �����ϰ� �ش� �䱸�� ���� ȣ��Ʈ�� ������ ���� �ϰ� �Ǵ� ���̴�.

    IP ��巹���� ���� �Ŀ� DC�� �ü�� �̹����� �ٿ�ε��ؾ� �ϰ� �װ��� ������Ѿ� �Ѵ�. ���⼭ �ٸ� ���ͳ� ���������� ���Ǵµ� �̰��� Trivial File Transfer Protocol(TFTP)�̴�. TFTP�� FTP�� �������̴�. ���⿡�� ���������� ���� UDP�� �����Ѵ�. �� �������ݿ��� TCP ��� UDP�� ���õ� ���� ������ �����̴�. DC���� UDP�� ������ ROM�� ���� �� ���� ������ ���� ��Ʈ�ε� �����ϰ� �DZ� �����̴�. UDP�� ��Ʈ���� �ƴ϶� ���ϴ����� ó���Ǵ� �������ݷμ� ������ ���ϴ����� �̷������. ������ ���� �� �� �ִ�.

      DC : /tftpboot/vmlinux.nb �� 1���� ������ ���.
      TFTP ���� : �����ִ�.
      DC : 2��° ������ ���.

    �̷��� ������ ��� ������ ���۵� ������ �Ѵ�. �ڵ彦��ŷ�� �� �������޿� �־ ������ ACK�̴�. �׸��� ��Ŷ�ս��� �����ð��� Ÿ�Ӿƿ��� Ȯ���Ͽ� �������ϴ� ������ ó���ȴ�. ��� ������ �޾����� ��Ʈ��ũ ��Ʈ ROM�� �ü���� �̹����� �������� ��� �ѱ��.

    ���������� �ü���� �����Ű�� ���ؼ� ��Ʈ ���Ͻý����� �����Ǿ����� �Ѵ�. �������� �ٸ� ���н������� �Ϲ������� Network File System(NFS) ���������� ����Ѵ�. ���� �ٸ� �͵� �ִ�. �� ��쿡�� �ش� ���������� �ڵ�� ROM �� ���� �ʰ� �ٿ�ε��� �ü���� �ְ� �ȴ�. �̶� �ü���� �������� ��ũ ��ſ� NFS �� �Ǿ��ִ� ��Ʈ���Ͻý����� ����� �� �ִ� ����� �־�� �Ѵ�. �������� �̷��� �ϱ� ���ؼ��� �ʿ��� ������������ ������ �ִ�.

     

3. ��Ʈ��ũ ������ �غ���.

    ������� ��Ʈ ROM�� �����ϰ� ��Ʈ��ũ ������ �����ϴ� �� ���� ������ ��Ű���� �ִ�. �ϳ��� Etherboot �̰�, �ϳ��� Netboot �̴�. �� �� Etherboot Ȩ�������� �ִ�. ���� ������ �ִ� ��Ʈ��ũ ī�尡 Etherboot ��, Netboot�� �����ϴ��� Ȯ���ؾ� �Ѵ�. �׸��� ���������� EPROM �� �ڵ带 ������� ����� �־�� ������ �׷��� �켱�� �÷��Ƿ� ��Ʈ��ũ ������ �� �� �ֵ��� �غ���.

    ��Ʈ �÷��Ǹ� ������� Ư���� ��Ʈ ������ �������� �����Ǿ�����. �� ���� 512����Ʈ ���α׷��� �÷��Ƿκ��� �޸𸮷� ��ũ ������ �ε��ϰ� ������ ��Ų��. ��Ʈ �÷��Ǹ� ����� ���ؼ��� ��Ʈ���Ͽ� �̾ ��Ʈ��ũ ī�忡 ���� ����̹��� �����ϴ� Etherboot ���̳ʸ��� �߰����Ѿ� �Ѵ�. ������ ���� �Ѵ�.

      cat floppyload.bin 3c509.lzrom >/dev/fd0

     ��Ʈ��ũ ��Ʈ �÷��Ǹ� ����ϱ� ���� ���������� ������ ����(BOOTP �Ǵ� DHCP, TFTP, NFS)�� �����ؾ� �Ѵ�. ���� �� �������� ��� ������ �ʿ�� ����. �ܰ������� �ϸ� �DZ� ������ �ϴ� �� �ܰ辿 �غ��� ���� ���� ���̴�.

    ���ڴ� �ҽ��� �������ϵ��� �Ǵ� ���������� ��ġ �ߴ������� bootpd ������ ��ġ�Ǿ��ִ� ������ ������ ���̴�. �׷��� ���ڴ� �� ������ bootp �䱸�� ��ٸ��� �ؾ� �Ѵ�. �̷��� �ϴ� �Ϳ��� �� ���� ����� �ִ�. �� ������ bootpd�� ��Ʈ��ũ ���񽺷� ���۽�Ű�� ���̴�. �ٸ� �� ������ inetd���κ��� �����ϴ� ���̴�. inetd�� ����ϴ� ��쿡�� /etc/inetd.conf�� ������ ���� ������ ���ԵǾ� �־�� �Ѵ�.

      bootps dgram udp wait root /usr/sbin/tcpd bootpd

    ���� /etc/inetd.conf�� ������ ����� inetd�� �ٽ� ������Ѿ� �Ѵ�.

    �������� bootp �� �̴��ݾ�巹���� IP ��巹�������� ���ο� ���� �����ͺ��̽��� �־�� �Ѵ�. �� �����ͺ��̽��� /etc/bootptab �̴�. ���⿡�� ������ ���� ������ ��� �ִ�.

      aldebaran.foo.com:ha=006008C7A3D8:ip=
      192.168.1.100:bf=/tftpboot/vmlinux.nb
      Other information can be specified but we will start simple.

    �÷��Ƿ� DC�� �����ϸ� �̴��� ī�尡 �߰ߵǰ� BOOTP �䱸�� ��ε�ij��Ʈ�ؾ� �Ѵ�. ���� �ߵȴٸ�, �ʿ��� ������ DC �� ������ ���̴�. /tftpboot/vmlinux.nb�� ���� ���� ������ ������ �ε��ϴ� ���� ������ ���̴�.

    ���� Ư���� Ŀ���� �������� �ʿ䰡 �ִ�. �� Ŀ���� NFS�κ��� ��Ʈ ���Ͻý����� ����Ʈ�� �� �ִ� �ɼ��� �־�� �ϰ� BOOTP �������κ��� Ŀ���� IP ��巹���� ���� �� �ִ� �ɼǵ� �־�� �Ѵ�. ���� ��Ʈ��ũ ������� �帮�̹��� ���μ��� �ƴ� Ŀ�ο� ���� �����ϰ� �־�� �Ѵ�. ���� �ϴ� �͵� �ֱ�ȭ ����ũ�� ����Ͽ� �ٿ�ε��ϸ� ���������� �̰��� ���߿� �ϵ��� �Ѵ�.

    Ŀ���������� ���� �Ŀ� zlmage�� �ٷ� ��ġ�� �� ����. �̰��� �±׵� �̹����� �����ϴ� ���� �ʿ��ϴ�. �±׵� �̹����� ��Ʈ��ũ ��Ʈ�δ��� �޸𸮿� ��� �κ����� �����ϰ� ���α׷��� �����ּҰ� ���������� �˷��ִ� Ư���� ����� ������ �ִ� �Ϲ����� Ŀ�� �̹����̴�. �� �±׵� �̹����� nknbi-linux ��� ���α׷��� �̿��Ͽ� ���� �� �ִ�. �� ��ƿ��Ƽ�� Etherboot ���������� ã�� �� �ִ�. �̹������� ��������ٸ� �̰��� /etc/bootptab �� ������ �̸����� /tftpboot ���丮�� �ִ´�. �׸��� tftp ������ Ư���� ������ ������ �ʰ� �ֱ� ������ �� ������ ���� �� �ֵ��� �Ǿ��ִ����� Ȯ���Ѵ�.

    TFTP�� ���ؼ� ���ڴ� tftpd �� ��ġ�Ǿ� �ִٰ� �����Ѵ�. tftpd �� ���� inetd�� �����Ų��. �׷��� /etc/inetd.conf ���Ͽ� ���� ������ ���� ���� �ִ�.

      tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s/tftpboot

    ����, ���� ������ �Ͽ��ٸ� HUP �ñ׳��� �־ inetd�� �ٽ� �����Ų��. ���� ��Ʈ�� ��� ����Ǵ� ���� Ȯ���� �� ���� ���̴�. �׷��� ���� ��Ʈ���Ͻý����� ����Ʈ �� ���� ����. �� �������� NFS ��Ƽ���� ������ ���ְ� �ͽ���Ʈ ���־�� �Ѵ�.

    ���� ���� ������ ������ DC�� ��Ʈ ���Ͻý������μ� ������ ��Ʈ ���Ͻý����� ����ϴ� ���� ���� ������ ���ȴ�. ������ ù°�� ���� ������ �������ϵ��� DC�� �߸��� ������ �� �� �ְ� �� ��°�� ���ȿ� ���� ���̴�. ������Ʈ�� ���ؼ� ���� ������ ����ϴ� ���� �ſ� ������ ���̴�. �׷��� �������� DC�� ���� ��Ʈ ���� �ý����� �׷��� ũ�� �ʾƵ� �������. �� 30MB ������ ����ϰ� �ټ��� DC�� ���̿� �� �κ��� ������ �� �ְ� �ϸ� �ȴ�. �����غ��� ��Ʈ ���� �ý����� ����� ���ؼ� �ü�� �������� ���ϵ��� ��� �־�� �ϴ��� �˾ƾ� �Ѵ�. ���õDZ� ���ؼ� �߿��� ���� ��ġ���ϵ��̴�. �� ��ġ���ϵ��� /sbin �� /etc �� �ִ�. �������� ���� �ִ� ��Ʈ ���Ͻý��ۿ��� ���縦 �ؾ��ϴ� ���̳�, �Ǵ� DC�� ���� �� ���� ������ �����ϴ� ���� ���� �� �ִ� ����� �ִ�. Etherboot ������ �ȿ��� ������ ���� ��Ʈ ���������� DC ��Ʈ ���� �ý����� ���� �� �ִ� �� ��ũ��Ʈ ������ �ְ� ������ �ִ�. �׸��� �� �������� Etherboot �����ȿ��� ������ �� ���� ����ϴ� �����μ� �����ذ��� ���� ���� �ִ�.

    DC�� ���ؼ� ���� ������ Ŀ���� /tftpboot/<DC�� ���� IP ��巹��>���� ��Ʈ ���Ͻý����� ã������ �Ѵ�. ���� ��� /tftpboot/192.168.1.100 �� ��찡 �Ǵ� ���̴�. �̰��� �ʿ��ϴٸ� Ŀ���� ������ �� �ٲ� �� �ִ�.

    ������ /etc/exports�� ����� ������ ���� ������ �����ϵ��� ��������.

      /tftpboot/192.168.1.100
      aldebaran.foo.com(rw,no_root_squash)

    rw �׼����� ���� ���� �ý��� ���񽺸� ���ؼ� �ʿ��ϴ�. no_root_squash �Ӽ��� NFS �ý��ۿ� ������ �� �ֵ��� �ϴ� ���̴�. ���� �̰��� �������� �ʴ´ٸ� ���� ���� ����� �α����α׷��� �� �۵����� ���� ���̴�.

    NFS ����(rpc.portmap�� rpc.mountd)�� ���� �����ϰų� �Ǵ� ������ϰ� �ٽ� ��ũ���� ������ �õ��غ���. ���� ������ �Ǿ��ٸ� Ŀ���� ��Ʈ ���Ͻý����� ����Ʈ �� �� ���� ���̰� ��� �κ��� ���������� �̷������ �α��� ������Ʈ�� ���� ���̴�. �׷��� ��κ��� ���� ������ �߸��Ǿ� �ִ� ���� �� �� ���� ���̴�. ��κ��� ������ �������� ��ũ���� ��ϵ��� ��������� �����鵵 ��ũ���� ���ð� ���� ���ʹ� ���� �ʴ� ���� �ִ�. ��κ��� �Ϲ����� ������ ���� �����ϴ� ���� /usr �Ʒ��� �ִ� ���ϵ鿡�� ��Ÿ����. �̷� ���� �� ���� �ذ����� �ִ�. ù ��°�� �ʿ��� �� ���� ������ ��Ʈ ���Ͻý��� �ؿ� /usr�� ����� ���� ���⿡ ���縦 �س��� ���̴�. �� ��°�� ��Ʈ ���Ͻý��� �ȿ��� ���ϵ��� ��θ� �ٲپ� �ִ� ���̴�. �����ؾ� �ϴ� ���ϵ��� /tftpboot/192.168.1.100 �� �ִ�.(�� ���� DC�� ��Ʈ ���丮��� ���� �������)

    /usr �� ���� ������ �ٸ� ���丮�� ����Ʈ �� �� �ֵ��� �ϸ� ���� ������ �ϰ� �����Ѵٸ� �׷��� �ϸ� �� ���̴�.

    ��� ������ ���� ��Ʈ��ũ�� ���� ������ �̷�����ٸ� ���� EPROM�� �ڵ带 �ֱ⸦ �ٶ� ���̴�. EPROM ���α׷��Ӵ� �̱������� $100������ ���� �޴´�. �Ƹ� ��̷� �ϴ� ����� ������ ���� ������ ���� ���̴�.

     

4. ��Ʈ��ũ ������ ���

    X �͹̳��� ��Ʈ��ũ ������ ����ϴ� ���� �Ϲ����� ����̴�. �ʹϳ� �ȿ� ��ũ�� ������ �����ϰ� �ǰ� �۾� ȯ���� �����ϰ� ���� ���̴�. ���� 16MB �̻��� �޸𸮿� ���� ���� ī�带 ������ �־�� �Ѵ�. ���ޱ����� 486�� ���ޱ����� ��Ƽ�� PC�� Ȱ���ϴ� �͵� ���� �����̴�. � ������� DC�� ����� �ս����� ��ũ�� ���� ������ ���� �� �� �б����� ������ ������ Ŭ�������ϱ� ���ؼ� ��Ʈ��ũ ������ ����ϱ⵵ �Ѵ�.

    �߰����� ������ Etherboot Ȩ���������� ã�� �� ���� ���̰� �� �ּҴ� ������ ����.




�� top

home����...