SDB:YaST logging to USB stick during installation

Jump to: navigation, search


About

This article describes how the openSUSE Installation can be enhanced to allow a login to a USB stick (new kernels are able to see USB even in very old hardware) in order to write installation logs to a removable device instead of using logging to RAM. This can additionally save some memory.

Of course, you don't need to use a USB stick. Also any other hard disk, SD card, SmartMedia card ... can be used for that.

This kind of logging is similar to YaST remote logging during installation.

Used Technology

According to Report a YaST bug, Installation logs the entire installation process into the /var/log/YaST2/ directory. Some other logs, e.g., Xorg.log (when Installing in GUI) are stored under /var/log/ directory. What we can do, is to redirect the /var/log/ directory to an USB stick.


Modifying Installation Process

When the installation from network, CD, DVD ... is starting, insert your (or your friend's) USB stick to an USB port and append this entry as a command-line parameter to linuxrc:

 startshell=1

After the Linuxrc boot to the installation system (You'll get a standard shell interface), mount your USB stick as a /var/log/ directory. In this example a device /dev/sdb is used, /dev/sdb1 is a first partition on that device. This is a common example of system with SATA disk(s) where that hard disk appears as /dev/sda. If your system has an ATA disk(s), your USB will probably appear as /dev/sda.

 mount -o noatime,rw,sync /dev/sdb1 /var/log/

This command should show whether the /var/log/ directory is really redirected

 mount

Don't forget to create YaST2 directory under the /var/log/ (Maybe a bug of YaST itself)

 mkdir /var/log/YaST2

Continuing Installation

Exiting the shell continues the installation process

 exit

or

 Ctrl+d

You can also start YaST manually (You'd get a shell also after the fist stage installation is finished -- before the first reboot)

 /usr/lib/YaST2/startup/YaST2.First-Stage

or better

 /usr/lib/YaST2/startup/YaST2.First-Stage 1>/var/log/YaST2/stdout 2>/var/log/YaST2/stderr

then reboot the computer manually