Ok, so before starting I am a French high school student, so I may make mistakes. My tech/computer teacher this year created an association in which, volunteer students can hand over old high school computers under Linux in order to give them to primary schools that need them for free, in order to teach them some notions in computer science. The problem is that we have more than 100 computers for which we need to install linux, with only one slot per week available. In addition, we can only do maximum 3 computers per week if the "course" is not cancelled.

So we had the idea of using a powerful computer on the network that would serve as a linux server, and that would allow us through a system like the one currently present on the computers of the high school for the synchronization of files, automatically have the clients ask the server at boot time for the files, and the server sends them the Linux files so that we don’t have to type the damn installation of the distribution for each client. (Clients are windows xp computers that already point to an internal high school server for file synchronization).

We searched on the internet for a quick and simple implementation protocol that could allow computers to recover the files, but without success. These resources must be hidden in the depths of the Internet, or simply that our research does not use the right keywords.

So I have a number of questions that could help us move forward. The goal is to avoid having a solution prefers too easily, or, at least, to have some explanations necessary for the understanding of my comrades on what we will put in place and how.

  • What is the name of the system described above ? (This could allow us to refine our research)
  • How does it work (without necessarily going into details) ?
  • In what environments (for example datacenter) can these technologies be used, and will you have examples ?
  • Do you know a free software available under linux to achieve this without necessarily us even making 250 shell scripts because I remind him, but we are high school students, and in the organization, I am the only one with skills in this environment (with my teacher of course) ?

Thank you.

  • 1
    What you're looking for is kickstart. The client can be booted from the network or from a cd/usb image and have an automated install take over from there. Network/server resources are fairly small. Moderate number of how-to's on the net.
    – doneal24
    Jan 18 at 18:52
  • 2
    You could use as already told kickstart (Redhat-oriented) or FAI (Debian-oriented). There are even whole environments for education around, like en.wikipedia.org/wiki/Skolelinux (oriented for Debian) / wiki.debian.org/DebianEdu which include use of thin desktop clients AFAIK.
    – A.B
    Jan 18 at 18:57
  • chef, puppet, ansible, etc. etc. etc. Jan 18 at 19:14
  • I'm trying to understand if you mean automatic OS install on machines, or if you don't have problem with the installation and you just want your linux clients to download some files from a server after the installation or after each boot. Also, what kind of files are you talking about? Should all the clients get the same files to the same destination? Are those files static or dynamic?
    – aviro
    Jan 19 at 12:19
  • Thank you for coming back, I’ll do all the research on my end. Aviro, to answer your question, the goal is basically to install the linux OS on windows machines remotely through a server on the local network. Therefore, and if possible, to directly download the files of a linux distribution into the client computers so that they can boot on it without further manipulations on our part. And, the server is on Linux.
    – Pioupia
    Jan 19 at 13:02

2 Answers 2


The capability you're looking for is called "os netboot provisioning", or something similar. That's what you should google for.

The most standard, supported and commonly used solution is called PXE (Preboot Execution Environment) which uses:

  1. DHCP protocol to provide IP to the server and bootstrap location.
  2. And tftp as a simple file server that the clients could pull files from (including the bootstrap).

You can add iPXE (Preboot eXecution Environment) as @Nabil suggested in his answer, which is a newer, more flexible and feature reach version, but it's also more complicated, and usually you'll need to use it on top of the regular PXE format, because most of the network cards only support PXE.

There are also some tools that sort of "wrap" PXE/iPXE and let you manage machines provisioning through some sort of API (either Web interface, Graphical interface or just command line tools) such as netboot.xyz, Cobbler and others, but it might be a bit overkill for you. Those are mostly used for bigger and more complex environment where they might ease the job, but if you're only going to reinstall 3 machines a week, PXE should be just fine.

I suggest you'll just google for "install [your Linux distro name] pxe", and you'll find a lot of tutorials for your specific distro. Good luck!

  • That's so cool ! Thank you Sir Aviro for this message which explains everything perfectly.
    – Pioupia
    Jan 19 at 20:36

I think you are looking for iPXE which is using in most of university.

Here a link in French that can help you

  • 1
    thank you for your awnser and the link for that. I’ll check it out. (I can’t upvote, I don’t have 15 points of sorry reputation)
    – Pioupia
    Jan 19 at 13:04
  • link can help you also
    – Nabil
    Jan 19 at 13:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.