lug-bg: скрипт за настройка на LILO
- Subject: lug-bg: скрипт за настройка на LILO
- From: Валентин Стойков <valentin_st@xxxxxxx>
- Date: Fri, 26 Nov 2004 21:38:08 +0000
Моля да хвърлите едно око на тези подпрограми и да кажете, ако смятате че не е
наред. Съмнявам се най-вече във find_mbr_device().
========= начало на части от скриптовете на VS Live =============
# Извежда на стандартния изход всички CD-ROM устройства
# Пример: "hdb hdc hdd"
list_all_cdrom_devices() {
for i in `cat /proc/sys/dev/cdrom/info | egrep -i "drive name" | cut -d ":" -f 2-`
do
cd_device=`readlink -f /dev/$i` # за всеки случай
echo $cd_device | cut -d "/" -f 3- # името на устройството без "/dev/"
done
}
# Връща всички твърди дискове
list_only_hard_disks() {
CDROMS=`list_all_cdrom_devices`
ls -aAb1 /dev/hd? /dev/sd? 2>/dev/null | while read LINE;
do
device=`readlink -f $LINE`
shortname=`echo $device | cut -d "/" -f 3-`
echo "$CDROMS" | grep "$shortname" > /dev/null 2> /dev/null
if [ $? != 0 ]; then
# Устройстовото $1 не e CD-ROM устройство
echo "$shortname"
fi
done
}
# връща описание на устройството
get_description_of_hard_disk() {
echo "$1" | grep "^sd" > /dev/null 2> /dev/null
if [ $? = 0 ]; then
echo "SCSI твърд диск"
return 0
fi
echo "$1" | grep "^hd" > /dev/null 2> /dev/null
if [ $? != 0 ]; then
echo "много странно устройство"
return 0
fi
case $1 in
"hda") echo "Първи IDE канал, Master" ;;
"hdb") echo "Първи IDE канал, Slave" ;;
"hdc") echo "Втори IDE канал, Master" ;;
"hdd") echo "Втори IDE канал, Slave" ;;
"hde") echo "Трети IDE канал, Master" ;;
"hdf") echo "Трети IDE канал, Slave" ;;
"hdg") echo "Четвърти IDE канал, Master" ;;
"hdh") echo "Четвърти IDE канал, Slave" ;;
"hdi") echo "Пети IDE канал, Master" ;;
"hdg") echo "Пети IDE канал, Slave" ;;
"hdk") echo "Шести IDE канал, Master" ;;
"hdl") echo "Шести IDE канал, Slave" ;;
*) echo "????? IDE канал, ?????" ;;
esac
}
find_mbr_device(){
CDROMS=`list_all_cdrom_devices`
ls -aAb1 /dev/hd? /dev/sd? 2>/dev/null | while read LINE;
do
device=`readlink -f $LINE`
shortname=`echo $device | cut -d "/" -f 3-`
echo "$CDROMS" | grep "$shortname" > /dev/null 2> /dev/null
if [ $? != 0 ]; then
# Устройстовото $1 не e CD-ROM устройство
echo "$shortname"
break # на първото намерено устройство се намира MBR (?)
fi
done
}
Install_LILO_on_MBR() {
MBR_SHORT_DEVICE=`find_mbr_device`
if [ "$MBR_SHORT_DEVICE" != "" ]; then
err_msg "\n\n Не е намерен MBR."
return 1
fi
MBR_DEVICE="/dev/$MBR_SHORT_DEVICE"
ROOT_DEVICE=`find_device_corresponding_to_mount_point_enh /`
APPEND=`get_append 2>&1`
display_install
cat << EOF > /etc/lilo.conf
# Start LILO global section
boot = "$MBR_DEVICE"
#compact # faster, but won't work on all systems.
prompt
append="$APPEND"
# Override dangerous defaults that rewrite the partition table:
change-rules
reset
timeout = 50
# VESA framebuffer console @ 800x600x64k
vga = 788
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0 # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = $ROOT_DEVICE
label = Linux
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
EOF
ERR_MSG=`/sbin/lilo 2>&1`
if [ $? != 0 ]; then # ако е имало грешка при инсталирането на LILO
dialog --title " Грешка " --msgbox "\n\nИнсталирането на LILO не бе успешно.\nГрешката беше:\n\n $ERR_MSG" 15 50
return 1
fi
}
========= край на части от скриптовете на VS Live =============
Всички скриптове са достъпни на адрес:
http://d.interbild.net/vstoykov/VS-Live-CD_scripts/
След като разархивирате архива VS-Live-CD_* ги търсете в директорията VS-Live-CD/initrd.
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|