How to install Debian over a serial console ?

Extracted from debian-user
Tip provided by Rainer Clasen
[ Note of maintainer : this tip applies mainly to Debian, but should be useful
for other distributions with small changes ]

 I've seen FreeBSD being installed over a serial console and thought
 "Hmm, how can I do this with debian?". I was aware of the sercons
 stuff in recent 2.1 kernels. Initiated by a question from Shane Wegner
 on debian-user I tried it out (up to "partition a harddisk" - I had no
 spare disk to continue). Cleto Pescia <c l e t o @ e - l i n k . c h> finished an
 installation and sent me all those missing hints. I'm summing this up
 for all those of you intereseted in it. It's based on Debian 2.0
 (hamm), but should work with other versions, too.
 Get a recent 2.1 (or 2.2) kernel or patch your 2.0 sources with Miquel
 van Smoorenburg's patch to backport the sercons stuff:
 Build a replacement kernel for the installation disk. Enable sercons,
 initrd, ext2, msdosfs and all needed drivers. Do not use modules (or
 prepare to hack the driver disk, too). Check the install manual for
 more details (in case I missed something)
 Put the kernel on the rescue disk:
       mount /tmp/resc1440.bin /mnt -o loop
       cp the new kernel to /mnt/linux and run
       sh /mnt/
 Edit /mnt/syslinux.cfg to automatically boot with sercons:
 set TIMEOUT to 1 and
 add "console=ttyS0,9600n8" to all APPEND lines (for "COM1", 9600 Baud,
 no parity, 8bits, software handshake) (possibly unneded if you have no
 graphics card and keyboard attached)
 Add the needed /dev/console to the rescue disk's root-fs:
       zcat /mnt/root.bin > /tmp/root.bin
       mount /tmp/root.bin /floppy
       mknod -m 622 console c 5 1 as root
       umount /floppy
       gzip -c9 /tmp/root.bin > /mnt/root.bin
 The new rescue disk image is done.
       umount /mnt
 Make a boot floppy
       cp /tmp/resc144.bin /dev/fd0
 boot from the rescue disk,
 select monocolor and your keyboard (used for virtual console),
 select "open a shell" from the menu,
 manually run "fdisk" (cfdisk segfaults),
 exit the shell and
 continue installation as usual
 (alternatively symlink cfdisk -> fdisk in root.bin)
 before you reboot your new system, reopen a shell.
 make the new-style console device
       rm /target/dev/console
       cp /dev/console /target/dev/
 (alternatively modify base*.tgz)
 Instruct lilo to use the sercons, too:
       echo 'append = "console=ttyS0,9600n8"' >> /target/etc/lilo.conf
       echo 'serial=0,9600n8' >> /target/etc/lilo.conf
 Make root logins via the sercons possible:
       echo "ttyS0" >> /target/etc/securetty
 and put a getty on the serial line: Edit /target/etc/inittab and
 uncomment the line starting with T0. (alternatively modify
 /etc/init-tab in root.bin)
 Special Thanks to:
       Miquel van Smoorenburg for the sercons patch
       Cleto Pescia <c l e t o @ e - l i n k . c h> for finishing what I started.

Follow-up :
| Previous | Next | Index of category | Main Index | Submit |

Appears in section(s) : install
Tip recorded : 03-01-1999 19:30:42
HTML page last changed : 27-07-1999 20:12:17