I'm a totally blind individual so can't install Linux with the normal install process. SSH does work for me how ever, is it possible to use an ssh connection to remotely install a Linux server? Ideally I'd like to pop in a cd, power on the machine I want to install Linux on, SSH into it and install through SSH. I'm not perticular about what distro I use, I also have experience with FreeBSD and OpenBSD if it's possible to do this with them.
Yes. I've done it with gentoo. However, you may need help turning on ssh after the livecd boots. So the steps would look like:
- Pop in the CD, power on the computer
- Let it load
- Turn on SSHD - I'm not sure if it does this automatically or not, can't remember
- SSH into it
- Do all the install steps, taking very special care with the networking configuration
- Reboot, and cross your toes
- SSH into the newly installed computer and finish configuration/installation
One thing you could do is find a livecd or liveusb that boots and starts the network and ssh automatically. Something like a customized version of SystemRescueCd may work.
I don't know about SSH, but it's possible to configure your system to use a serial console, by using
console=ttyS0 (for the first serial port) or
console=ttyUSB0 (for a USB-connected serial port) on the kernel command line.
By default this uses 9600, no parity, 8 bit, no flow control. You can specify a different baud rate if you want:
This is not answering the exact question that you asked but it's possible that it resolves the problem that you want to deal with.
If your concern is that you can't use a normal install process, you might be best off with an unattended install. If you're using virtual machines this might be very quick to test.
In the redhat based world, such as CentOS, Fedora and others, kickstart is available. Effectively, you create a file that answers all the questions that the installer would ask and it installs itself. All you need to do is point the kernel at the kickstart file which could be on the install CD if you're willing to make a new image for each machine, but more usefully would be on a webserver somewhere so at the boot prompt you can do:
The next stage of automation is getting that going automatically and for that you need to PXE boot. The short version of what happens there is that the BIOS loads some code that asks your dhcp server for its networking information and also for a network location (host and filename) that defines what should happen next. Then it loads whatever it would normally get from grub (ie kernel/initrd + kernel parameters, including the location of the kickstart file) via TFTP from that location as specified by the dhcp server.
PXE boot initiated automated installation is available in non-RedHat clones as well, although I don't know the details.
The best news is that this fairly involved setup is automated and documented for you in a big way by the fine folks of the cobbler project. I was able to get from never having seen cobbler to a fully functional automated installation environment in a morning.
If you are planning to use a virtualized OS I would just download a preconfigured Ubuntu version 8.04 Long Term Support JeOS (It stands for Just Enough Operating System, it comes configured with special vmware guest modules. LTS means less fiddling with marginal upgrades). If your primary interest is server, that is enough -- otherwise the package manager will download and install a desktop environment if you install any package that depends on one. You can get a good free image here: http://www.vmware.com/appliances/directory/1282 link text. You can ssh in right away with the default password (in this case user = 'User', password = 'user'. I believe root is disabled by default so use sudo to change passwords etc.) This works great on VMware player, which defaults to bridged networking so you can just ssh in over the lan, or forward ports and have access from anywhere. You will start out with a system similar to a Debian 'base system' netinstall. Of course, if you are using this for a crucial system you would want to somehow audit or verify the reliability of the original image, not something I am an expert on.