This is tricky. I would like to install Ubuntu on a machine that is intended to work as server, and for some reason I do not have an option to connect a screen to it.
I expect this may be similar to remote installation. However, there is currently no OS on that machine, so I will have to set up everything from scratch.
On the other hand, I do have a physical access to that machine. Therefore I can get it to boot from a CD/USB. But that's not enough.
Is there a way to do such installation remotely? Is there a version of Ubuntu image that comes with a SSH server preinstalled, and starts it once booted, so that I can boot the machine with such image, connect to it via SSH and process the installation from a different computer?
If not, what other options do I have?
The method mentioned in the comment above with installing Ubuntu on a different computer to just move the hard drive to the headless machine certainly is an elegant and probably the fastest method to get Ubuntu installed. In most cases hardware will be recognized and drivers will be provided on boot (not on installation). This makes installation of drivers unnecessary unless we do need proprietary drivers (e.g. for some very special network cards).
But there is another way we can install Ubuntu unattended by creating a custom CD-ROM, USB or from a network solution (Preseed). See this rather complete guide on the steps and tuning procedures involved:
You may also find the following related questions helpful:
Another option, using Serial console:
serial 0 9600 0×003
toisolinux.cfg
for CD orsyslinx.cfg
for USBconsole=ttyS0,9600n8
to kernel append parameters intext.cfg
that contains menus.9600n8
, then bootIf want to make it permanently boot to serial console, follow instructions here:
https://help.ubuntu.com/community/SerialConsoleHowto
Reference: Ubuntu Server 10.10 headless installation via serial console
You could use a No Question Asked preseeded debian-installer which installs just the base server and ssh package. On reboot you will be able to ssh into the running system and further install and configure from there.
There is an example of a preseed file here: https://help.ubuntu.com/community/Cobbler/Preseed
You can follow the normal iso to usb instructions https://help.ubuntu.com/community/Installation/FromUSBStick and then edit the syslinux/txt.cfg file on the usb boot stick to point to your preseed file and copy your preseed file to the preseed directory on the usb boot stick:
Notice the second to last line in the preseed file installs openssh server package:
Check the logs on your DHCP server to get the IP address of the newly booted system and ssh to it as the ubuntu user. The password in the example preseed is also 'ubuntu' (without quotes).
I write a simple solution based on preseed.
https://github.com/mhf-ir/ubuntu-overssh-reinstallation
You need installed version of ubuntu that have ssh. another http server for serving preseed file. I tested so many times in many datacenters.