doc/README.doit
inst_doit documentation
-----------------------
What does 'doit' do ?
---------------------
After collecting the user preferences (i.e. user_settings map),
the 'doit' module performs the actual installation. This documents
gives an overview on the neccessary steps.
- create partitions on target device
fdisk
- create filesystems on partitions
# screen with progressbar for mke2fs ?
mke2fs for /boot
mkswap for swap
mke2fs for /
DONE: use newly created swap
swapon
DONE: mount newly created partitions
mount /dev/xxy /mnt # / partition
mkdir /mnt/boot
mount /dev/xxx /mnt/boot # /boot partition
DONE: install packages
mkdir /mnt/etc # mkdirs really needed ?
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/usr
mkdir /mnt/var # mkdirs for rpm
mkdir /mnt/var/lib
mkdir /mnt/var/lib/rpm
mkdir /mnt/var/tmp
mkdir /mnt/cdrom
# rpm module
check for right cd on /dev/cdrom
mount /dev/cdrom /mnt/cdrom
rpm --initdb
# install packages needed by scripts
rpm -hvU --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/aaa_dir.rpm
rpm -hvU --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/bash.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/shlibs.rpm
rpm -hvU --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/aaa_base.rpm
rpm -hvU --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/perl.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/ncurses.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/sh_utils.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/fileutil.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/textutil.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/base.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/devs.rpm
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/a1/diff.rpm
# might be needed if package list is wrong (as in 6.2)
rpm -hUv --nodeps --root /mnt --noscripts /mnt/cdrom/suse/tcl1/tcl.rpm
loop over *all* files (including files installed above !) but this
time with scripts
rpm -hUv --nodeps --force --root /mnt /cdrom/...
- write lilo
ask user for floppy if needed # see lilo flowchart
collect active partitions
create lilo.conf labels
'windows' for active windows partition
'dos' for active dos partition
'normal' (default) if graphic device found (init 3!)
'text' (make default if no graphic device,
same as normal in this case, init 2!)
construct boot.msg explaining the choices
chroot /mnt lilo -s <mbr_save_file>
create uninstall disk
write uninstall disk
- write default files # done by SuSEconfig ??
- /etc/HOSTNAME // does SuSEconfig from rc.config:FQHOSTNAME
- /etc/DOMAINNAME // does SuSEconfig from rc.config:FQHOSTNAME
- /etc/route.conf
- /etc/hosts // does SuSEconfig from rc.config:FQHOSTNAME
- write conf.modules
- with information from libhd
- write /etc/fstab
<rootpart> / ext2 defaults 1 1
<bootart> /boot ext2 defaults 1 2
<swappart> swap swap defaults 0 0
none /proc proc defaults 0 0
none /dev/pts devpts defaults 0 0
- optionally foreign partitions if existant
<dospart> /dos/c fat defaults 0 0
<winpart> /windows/c vfat defaults 0 0
- write setup information to /var/lib/YaST2 of target
mkdir /mnt/var/lib/YaST2
- user_settings # .dumpto agent
- installation log
- hwprobe # .dumpto agent
- write rc.config
DONE: Some variables
from user_settings
and all other files needed by YaST1
to have a proper setup
DONE: set root password
passwd # take PAM into account
DONE: chroot to newly installed system
umount /mnt
umount /
mount /dev/xxy /
init 1
- run SuSEconfig (in background ? tty8 ?)
- create user account
useradd # what else ?
passwd <user>
- stop X11, console mode
- setup X11
if (monitor,graphic,mouse) known
should not use maximal monitor resolution (one below)
should use 4:3 ratio
isax /mnt/var/X11/XF86config
xvidtune
else
sax
- start system
if (X11 configured)
init 3 # kdm !
else
init 2 # login: