Hi!

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 <[EMAIL PROTECTED]> 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:
<ftp://ftp.cistron.nl/pub/people/miquels/kernel/>

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/rdev.sh

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
        lilo

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)

reboot



Special Thanks to:
        Miquel van Smoorenburg for the sercons patch
        Cleto Pescia <[EMAIL PROTECTED]> for finishing what I started.



Rainer



-- 
KeyID=58341901 fingerprint=A5 57 04 B3 69 88 A1 FB  78 1D B5 64 E0 BF 72 EB

Attachment: pgpgNlVVEgd91.pgp
Description: PGP signature

Reply via email to