1. laboratorijska naloga: zagon preko omrežja / Lab assignment #1: booting over the network

Odprto: petek, 1. oktober 2021, 00.00
Rok za oddajo: nedelja, 28. november 2021, 23.59

Laboratorijska naloga je sestavljena iz več delov. Vsak del je vreden nekaj točk. Za maksimalno oceno morate nabrati vsaj 10 točk. Številka pred vsakim delom predstavlja število točk, ki jih lahko dobite, če del opravite.

Deli so:

  • 0 - base.txt - Opiši stanje sistema, preden ste začeli z reševanjem naloge. Navedite operacijski sistem in vse nameščene programe, ki se tičejo te naloge.
  • 2 - dhcp.txt - Postavite strežnik DHCP. Dodeljuje naj naslove na lokalnem omrežju. Omrežje in območje naslovov dobite tako, da poženete skripto za generiranje parametrov.
  • 2 - tftp.txt - Postavite strežnik TFTP. Poskrbite, da bo stregel zagonski nalagalnik. Ime datoteke z nalagalnikom naj bo enako vašemu priimku; nadomestite črke č, ž, š, đ, ñ, i.t.d.. s c, z, s, dz, n, i.t.d.
  • 2 - pxelinux.txt - Nastavite zagonski nalagalnik tako, da bo prikazal neko sliko, ki si jo izberete sami. Kot dokaz fotografirajte zaslon računalnika, ki se zaganja. Za en poseben računalnik naj zagonski nalagalnik pokaže poseben menu (lahko tudi s posebno sliko za ozadje). Naslov MAC tega posebnega računalnika vam izpiše skripta za generiranje parametrov. Če boste namesto fizičnega računalnika zagnali navideznega, IZGUBITE 6 TOČK.
  • 2 - efi.txt - Nastavite zagonski nalagalnik tako, da bo deloval tudi na računalnikih z EFI Secure Boot
  • Za naslednjih nekaj delov mora zaganjajoči se računalnik delovati tudi, če nima nobenega diska. Z zaganjanjem različnih operacijskih sistemov lahko dobite poljubno število točk:
    • 1 - linux.txt - Nastavite Linux, da se zažene prek mreže.
    • 1 - bsd.txt - Nastavite BSD, da se zažene prek mreže.
    • 1 - otheros.txt - Nastavite kateri koli drug OS, da se zažene prek omrežja.
    • 4 - windows.txt - Nastavi Windows XP ali novejši, da se zažene prek omrežja in da ne teče iz navideznega diska v delovnem pomnilniku (RAM disk).
  • 2 - http.txt - nastavite zagonski nalagalnik tako, da jedro in začetni RAM disk naloži prek HTTP.
  • 1 - image.txt - nastavite OPERACIJSKI SISTEM tako, da med zagonom prikaže neko sliko.
  • 1 - linuxstart.txt - Nastavite operacijski sistem tako, da bo ob zagonu zagnal poljuben grafični program.
  • 2 - DOSgame.txt - Nastavite računalnik tako, da zažene DOS in v DOS katero koli igrico za ta operacijski sistem.
  • 3 - share.txt - Nastavite računalnik tako, da bodo datoteke uporabnikov spravljene na strežniku nekje na mreži.
  • 3 - unpacked.txt - Nastavite računalnik tako, da bodo datoteke spravljene na navadnem datotečnem sistemu, ne zapakirane v squashfs ali kaj podobnega.

Vsak del opišite v ločeni datoteki. Datoteke morajo biti navadne tekstovne datoteke v kodni tabeli UTF-8. Vsi, ki bodo oddali datoteke v drugi kodni tabeli, bodo izgubili 1 točko. Vsi, ki ne bodo datotek poimenovali v skladu z navodili, bodo izgubili 1 točko. Ljudje, ki bodo oddali datoteke, ki niso tekstovne datoteke (naprimer .doc ali .pdf), bodo izgubili 2 točki.

Ko boste slikali svoj posebni menu, sliko spravite v majhen .jpg (manj kot 200k), ki naj se imenuje snap.jpg.

Datoteke z opisom svojega dela spravite v imenik "report". V imenik "report" spravite tudi fotografijo zaganjajočega se računalnika snap.jpg.

Nato ustvarite imenik files in vanj spravite vse nastavitvene datoteke, ki ste jih pri svojem delu spremenili.

Na koncu oba imenika zapakirajte v eno .tgz datoteko z ukazom:

tar -czf 63120145.tgz report files

kjer je 63120145 vaša vpisna številka.

Oddajte ustvarjeno .tgz datoteko.

Srečno!

The lab assignment consists of multiple parts. Each part is worth a few points. To get a perfect score, you need to gather at least 10 points. The number in front of each part is the number of points you can get by finishing that part. The parts are:

  • 0 - base.txt - Describe the state of your system before you started the assignment; List the OS and all the relevant programs you have installed.
  • 2 - dhcp.txt - Set up a DHCP server. It should serve addresses on a local network. The network and ranges of addresses to serve for each student is printed by the script for generating parameters.
  • 2 - tftp.txt - Set up a TFTP server. Make it serve a bootloader. The name of the file containing the bootloader should equal your surname; replace letters č, ž, š, đ, ñ, etc. with c, z, s, dz, n, etc.
  • 2 - pxelinux.txt - Set your bootloader so that it displays an image of your choosing. Take a picture of a computer booting as proof. Also, the bootloader should show a special menu (optionally with a special picture) for just one computer. That special computer's MAC is printed along with the IP by the script for generating parameters. If you only boot a virtual computer instead of a physical one, YOU WILL LOSE 6 POINTS.
  • 2 - efi.txt - Set up the boot loader so that it also works on computers which have EFI Secure Boot enabled.
  • For the next few tasks, the booting computer should work, even if it has no disk installed. By booting multiple OSes, you can get as many points as you like:
    • 1 - linux.txt - Set up Linux so it boots over the network, or
    • 1 - bsd.txt - Set up BSD so it boots over the network, or
    • 1 - otheros.txt - Set up any other OS so it boots over the network.
    • 4 - windows.txt - Set up a version of Windows XP or newer to boot over the network but not run from a RAMdisk.
  • 2 - http.txt - set up your bootloader so that it downloads the kernel and initial ramdisk over HTTP
  • 1 - image.txt - Set the OS up so that it displays an image of your choice during boot
  • 1 - linuxstart.txt - Set the OS up so that it starts a graphical program of your choice after booting.
  • 2 - DOSgame.txt - Set the computer up so that it boots into DOS and runs any DOS-based game.
  • 3 - share.txt - Set the computer up so that the user's files are stored on a network server.
  • 3 - unpacked.txt - Set the computer up so that the system files are stored on a network filesystem directly, not inside a squashfs or similar image

These files should be UTF-8 encoded plain text files. People who hand in files not encoded in UTF-8 will have 1 point deducted from their score. People who do not name their files according to the instructions above will have 1 point deducted from their score. People who hand in non-textual files (such as .doc or .pdf files) will have 2 points deducted from their score.

First, you should split your report into multiple files. Put all the files into a directory called "report". Put the file snap.jpg in the same directory.

Then, copy all the config files that you changed on your system into a directory named "files".

When booting your custom menu, take a snapshot using a camera. Save the picture in a small (less than 200k) .jpeg and save it as snap.jpg.

Finally, pack both directories into a single .tgz file using:

tar -czf 63120145.tgz report files

where 63120145 is your student ID number.

You should hand in this compressed file.

Good luck with your work!