hi, in this video i will show you how to build a hard driveless network with a server running ubuntu
Here I have prepared a computer with Ubuntu server operating system installed
Besides I have a laptop running Windows operating system
This laptop is also used as a client when finished
From my Windows computer I connect to the Ubuntu server using SSH
To build a hard driveless server there are 9 steps in all
Let's take the steps together
First you set up a static ip address for the Ubuntu server
If your server was set up with a static ip address during the installation process, you can skip this step
You define the network interface you set up a static ip address in case the computer has multiple network interfaces or you install it on a virtual machine
You open the file to set up a static ip address and do the same
You set the ip address to match your intranet ip address range
In this example, I set the server ip address as 192.168.1.2
Next you set up the network face and set up the dns address
After the setup is complete, apply the change to set up the static ip address to be completed
Because in the next step we install DHCP server on Ubuntu operating system so you stop and disable the default DNS service
Having completed setting up the ip address, next you create a folder called pxeboot and two subfolders are config and firmware
This directory will store the boot configuration files for the client
The next step you download and build files will transfer to the client computers on boot over the network
You install the necessary packages to build the boot files
After downloading the necessary tools you navigate to the src folder
Here you create a file called bootconfig.ipxe
You enter the lines as above and update the ip address of the Ubuntu server
This file will be embedded in the startup files in the next step
Next you embed the bootconfig.ipxe file in the ipxe.pxe and ipxe.efi boot files
To create two files ipxe.pxe and file ipxe.efi will take a few minutes so please wait patiently
Alternatively you can create an additional file undionly.kpxe if your client computer won't start
After getting the 2 files you want, copy and paste them to the firmware folder created in the previous step
Each client computer needs to be assigned an ip address so you set up a DHCP server for the Ubuntu server
Also the server will transfer the boot file ipxe.pxe or ipxe.efi to the client computer so you install TFTP server for the server
You rename the default config file and create a new config file with lines like above
Here you configure the DHCP server, the TFTP root directory, and configure the files that will be tranferred to the client computer when boot
You update the address range that will be provided to the client computer, then set the gateway address, DNS address
TFTP root directory is pxeboot
If the client computer uses BIOS, the file to be transferred is ipxe.pxe, and if the client computer uses UEFI, the file ipxe.efi will be transferred.
Don't forget to select the correct network interface you want to set up
You restart the service for the settings to be applied
Next you create storage blocks to store Windows 10 image files
I will create a storage block first to store the Windows 10 image of the first client computer
You enter the lines as above, you can change the iqn if you want
Next I create a folder called disks to store the client computer's operating system image files
Then I create a file with size 18G, you can create a larger file if you want
Note that the file name must match the block configuration in the previous step
The Windows 10 image file I prepared is about 15G
Don't forget to restart the service for the settings to be completed
Here is the information about the block you just created, like size , iqn and lun
We have reached the final steps of the video, so the server is almost finished
You create a new file named boot.ipxe in the config folder
You enter the lines as above and update your Ubuntu server ip address
Next you create a boot file for each client computer
The name of the boot file depends on the MAC address of the client computer
I will take the MAC address of this Windows computer to name the file because I will be using the laptop as a client without a hard drive.
Note that the file name has no uppercase characters
Then you enter the lines as above and update the Ubuntu server ip address
Here you can use other block storage servers as NAS devices in your local network
Next you update the iqn configured in the previous step
With the first client you no longer need to enter any more configuration commands
Here you download the Windows 10 operating system image file using torrent clients with the link above
So that you don't have to wait long I have pre-loaded this file and unzipped it
After I got the Windows 10 image file I mounted it on my Windows PC
Next you connect to the block storage created on the Ubuntu server
You discover them by Ubuntu server ip address
After discovering the storage block, you connect to it
Now on your computer will appear two more hard drives, you use cloning software between the two hard drives
After about 10 minutes the Windows 10 image file has been uploaded to your Ubuntu server
If you have more client computers, repeat the steps above
It's time to check the results after the preparation period
You connect the client computer to the local network by wire and set up the computer to boot over the network
Thanks for watching, don't forget to like and subscribe
If you want to know how to create a server like this on Windows operating system then leave a comment
As you can see, the client computer has been successfully booted over the network and it runs Windows 10 operating system