загрузка клиента с локального диска без использования DHCP и TFTP. Что делаю неправильно? //
У же довольно давно пользую ваши сборки. Клиенты - коробочки на базе VIA EPIA CV860A и им подобные.
Основная конфигурация:
-CPU VIA EDEN 667, VIA C3 800,
-VIA PLE133 chipset (VT8601A + VT82C686B)
-SDRAM DIMM PC133 128-256Mb
-On board VT8601A graphic controller integrated Trident graphics
-CF Reader for IDE/ATA interface (32-1000Mb)
Всего около 80 таких клиентов. Сервера - ферма под Win2003STD + естественно DHCP,DNS,TFTP и все такое прочее. При загрузке образа по pxe никаких проблем не возникает, все работает отлично.
Сейчас возникла потребность, на случай аварии основных серверов, сделать загрузку клиентов с их локальных флешек (видятся как /dev/hdc), с фиксированными IP, и без использования DHCP и TFTP. Т.е система должна грузиться и конфигуриться только с локального диска клиента, без всяких обращений в процессе загрузки к внешним сервисам.
Вроде делаю все как описано в readme-hdd.txt (сборка 20081126)
т.е. флешку в FAT16, затем syslinux.exe -sfma _имя_диска_ , затем копирую туда initrd,vmlinuz, syslinux.cfg, thinstation.txt, затем в корне каталог thinstation.profile с файлом thinstation.conf.user следующего содержания
NET_USE_DHCP=Off
NET_USE_TFTP=Off
NET_FILE_ENABLED=Off
NET_IP_ADDRESS=192.168.9.219
NET_MASK=255.255.255.0
TIME_ZONE="Europe/Moscow"
#
#
AUTOSTART=Off
SESSION_1_TYPE=rdesktop
SESSION_1_SCREEN=1
SESSION_1_TITLE="Emergency Terminal Server"
SESSION_1_RDESKTOP_SERVER=192.168.9.168
SESSION_1_RDESKTOP_OPTIONS="-u EmergencyUser -x l"
#
#
RDESKTOP_FDD=Off
RDESKTOP_CDROM=Off
RDESKTOP_USB=On
RDESKTOP_SOUND=Off
RECONNECT_PROMPT=MENU
#
#
X_MONITOR_MODELINE='"1440x900" 106.47 1440 1520 1672 1904 900 901 904 932 -Hsync +VSync'
SCREEN_RESOLUTION="1440x900"
SCREEN_HORIZSYNC="30-65"
SCREEN_VERTREFRESH="60"
Загрузка проходит, но конфигурация из этого файла не подхватывается. Доходит до загрузки иксов, появляется курсор (Х) и все. Если вывалиться в консоль, то видно, что никакие настройки из этого файла не подхватились, IP все равно по DHCP получился ну и т.д. Я так понимаю, что все дело в том, что флешка автоматом монтируется как /mnt/disc/hdc/hdc (само устройство - /dev/hdc) а в thinstation.conf.buildtime в параметрах STORAGE_CONFIGх прописано все, что угодно, но только не мой путь. А STORAGE_PATH=y - что это за "у"?
Короче, вопрос, что я делаю не так, и можно ли как - то это побороть, чтобы мой клиент и грузился и конфигурацию читал из своей флешки?
- Войдите на сайт для отправки комментариев
Нумерация
Нумерация начинается с нуля, т.е. SESSION_0_TYPE and etc...
--
Nikolai V. Ivanyushin <nvi at itadvisor.ru>
IT Advisor Ltd.
http://www.itadvisor.ru
+7 910 743-28-38
Когда гружу по
Когда гружу по PXE такое прокатывает. Странно.
поменял 1 на 0. Естественно результат тот же.
А эти параметры
NET_USE_DHCP=Off
NET_USE_TFTP=Off
NET_FILE_ENABLED=Off
NET_IP_ADDRESS=192.168.9.219
NET_MASK=255.255.255.0
ведь от номера сессии не зависят?
И как быть с точкой монтирования флешки
/mnt/disc/hdc/hdc (устройство - /dev/hdc)
и что делать с параметрами в thinstation.conf.buildtime
STORAGE_CONFIG.....
и STORAGE_PATH=y - что это за "у"?
с
с монтированием не связано... это токо пути к pkg... просто с консоли проверьте путь для профиля где лежит... может опечатались в названии папки или самого файла... они для pxe и локальной загрузки разные(имена всмысле)
причем тут
причем тут пути к pkg?
до этого же не доходит.
я же писал, что thinstation.conf.user не подхватывается
и дело ИМХО именно в точке монтирования
при сборке в параметр STORAGE_CONFIG и STORAGE_PATH прописывается, где искать конфиг при загрузке.
параметры
параметры которые вы написали можно вообще не указывать...
вот пример моего рабчего конфига
RECONNECT_PROMPT=On
RDESKTOP_USB=On
#настройка сети - отключаем DHCP и TFTP
NET_USE_DHCP=OFF
NET_USE_TFTP=OFF
#указываем IP-адрес тонкого клиента, маску, DNS и прочие настройки сети
NET_IP_ADDRESS=192.168.1.19
NET_MASK=255.255.255.0
# шлюз
NET_GATEWAY=192.168.1.10
#DNS сервер 1
NET_DNS1=192.168.1.10
#DNS Сервер 2
#NET_DNS2
#Default DNS domain to search
#NET_DNS_SEARCH
#Закомментируйте ненужное и отредактируйте соответственно
#указываем дисплей - если не уверены в значениях, оставьте значения по умолчанию
SCREEN=0
AUTOSTART=Off
# настройки терминального соединения
SESSION_0_TITLE="Имя сессии"
SESSION_0_TYPE=rdesktop
SESSION_0_SCREEN=0
SESSION_0_RDESKTOP_SERVER=192.168.1.10
# -L utf-8 - кодировка, чтобы USB-носители с русскими именами файлов монтировались корректно
# -a 24 - глубина цвета
# -u '' -имя пользователя по умолчанию, в одинарных кавычках, здесь - пустое
# -r - устройства, которые редиректятся - USB-флеш, звук - локально на ТК
# звук может проигрываться с опозданием при нагрузке в сети или нагрузке на терминальный сервер
SESSION_0_RDESKTOP_OPTIONS="-L utf-8"
#настройки дисплея и мыши
SCREEN_RESOLUTION="1024x768"
SCREEN_COLOR_DEPTH="16"
SCREEN_HORIZSYNC="31-63"
SCREEN_VERTREFRESH="56-75"
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
# при таком формате имени на терминальном сервере имя подключенного ТК(MAC-адрес) будет с префиксом ts_
# это помогает бытро ориентироваться в подключениях
NET_HOSTNAME=ts_*
Отлично. А где
Отлично. А где у Вас лежит файл thinstation.conf.user по отношению к файловой системе клиента (т.е. куда монтируется диск, где лежит этот файлик)
P.S.
"параметры которые вы написали можно вообще не указывать...
"
Эти параметры указываются при сборке клиента
как раз
как раз содержание этого файла я и показал
он лежит на usb-flash либо на ide-flash \thinctation.profile\ thinstation.conf.user
т.е. в папке которая находится в корне загрузочной флехи
а вот пути для пакетов которые цепляются дополнительно уже привязаны к монтированому девайсу... для ide это hda, для usb помоему sda
имхо все так,
имхо все так, да немного не так.
Сперва, естественно грузится и распаковывается ядро, fs, и т.п. C корня загрузочной флешки или чего там еще. Потом уже в эту fs монтируется устройство с которого бутились и ищется файл \thinctation.profile\thinstation.conf.user А ищется он по путям, прописанным в STORAGE_CONFIG и STORAGE_PATH при сборке.
Вы посмотрите, что у Вас выдает mount после загрузки - thinstation.conf.user уж никак не в корне получившейся fs лежит.
на флешке у
на флешке у меня эти параметры стоят:
STORAGE_CONFIG1=/mnt/usbdevice
STORAGE_PATH=y
для миднайт командера стоит следущее:
PKG_PATH=/mnt/usbdevice/sda1
PKG_PREFIX=pkg
PKG_PACKAGES="mc"
больше ничего... и как ни странно все работает
ВОТ! т.е. Ваша
ВОТ!
т.е. Ваша флешка маунтится в /mnt/usbdevice/sda1
и все в шоколаде. Так как этот путь присутствовал при сборке (STORAGE_CONFIG1=/mnt/usbdevice/sda1в thinstation.conf.buildtime)
А у меня флешка маунтится почему-то в /mnt/disc/hdc/hdc (а устройство /dev/hdc)
И поэтому config при загрузке не находится...
И, ИМХО, если при сборке ваш путь не был указан путь в STORAGE_CONFIGх, то все, поезд прошел мимо.
качните syslunux
качните syslunux сборку... создайте загрузочную флешку по инструкции... закиньте в папку файл конфига и проверяйте... чегото не так сделали.... я путь уже потом с консоли прописал в конфиг... когда пакеты решил добавить
у вас ide-flash...
у вас ide-flash... поэтому и монтируется в disk... мои точно также... я хонфиг с usb-flash выложил
Блин! Извините
Блин!
Извините, но Вы, DeadMazay, конкретно не в теме. Флейм с Вами продолжать нет никакого желания.
Поэтому вопрос не к DeadMazay, а к разработчику (Nikolai V. Ivanyushin)
С простого usb-свистка (/mnt/usbdevice/sda1) у меня все грузится и работает. по pxe тоже. Не работает только загрузка (не находит конфиг) с CF, вставленной в ридер на мамке (мою конфигурацию железа смотри в первом посте)
CF видится в системе как /dev/hdс, а монтируется в /mnt/disc/hdc/hdc (именно так, два раза hdc)
естественно при загрузке thinstation.conf.user не подхватывается ( /mnt/disc/hdc/hdc нет в STORAGE_CONFIG)
можно как - нибудь это поправить в последующих релизах, например чтобы либо просто тупо искался конфигурационный файл во всех вложенных папках, глубже /mnt/disc....., либо чтобы флешка маунтилась по более вразумительному пути, либо в STORAGE_CONFIG добавить.
Вы извините, но 99% - косяк где-то в стартовых скриптах. Сам я пока не допер, где.
Хотелось бы
Хотелось бы освежить эту ветку, т.к. вопрос остался открытым.
Загрузка с hdd не находит конфигурационных файлов.
Пробовал эту сборку thinstation-2.2-syslinux-20090329.zip
чтобы указать
чтобы указать другой путь монтирования - смотрите скрипт /etc/udev/scripts/ide.sh
чтобы изменить путь поиска конфига, надо добавить строку в thinstation.defualt вида STORAGE_PATH=/mnt/disc/hdc/hdc и положить конфиг thinstation.conf.user в папку /thinstation.profile на CF
либо, если хотите, можете переделать скрипт /etc/init.d/profile_setup именно в нем задается где искать конфиги....
подробнее можете посмотреть тут http://apps.sourceforge.net/mediawiki/thinstation/index.php?title=FAQ
-----------------------------------------------------------
Терминальные Решения Санкт-Петербург
терминалы с IP-телефоном
http://tsol.spb.ru
распаковал initrd
распаковал initrd (unsquashfs нужен 1.5)
поправил в /etc/thinstation.default STORAGE_CONFIG8=/mnt/disc/hdc/hdc
запаковал.
Все заработало. Только bootsplash пропал. Как вернуть назад картинку?
Я написал
Я написал скрипт mkinird
--
#!/bin/bash
CURDIR=`pwd`
TOOLSDIR="bootsplash"
TFTPBOOT="/tftpboot"
#KERNEL_PARAMETERS="$KERNEL_PARAMETERS splash=silent vga=791"
splash_setup()
{
cd $TOOLSDIR
for filename in `ls *.jpg`
do
echo "+ Converting $filename to 16bit colour"
/usr/bin/convert -depth 16 $filename $filename.tmp
mv $filename.tmp $filename
done
echo -e "+ Adding splash boot logo\n"
./splash -s -f bootsplash.cfg >> $CURDIR/initrd
cd $CURDIR
}
case $1 in
addimg|a|A)
cp -f initrd.noimg initrd
splash_setup
;;
unpack|u|U)
[ -d initrd.fs ] && rm -rf initrd.fs
unsquashfs -d initrd.fs initrd
;;
pack|p|P)
cp -f initrd.devices initrd
mksquashfs initrd.fs initrd -all-root
cp -f initrd initrd.noimg
;;
install|i|I)
DT=`date +%Y%m%d_%H-%M-%S`
mv -f $TFTPBOOT/initrd $TFTPBOOT/initrd.$DT
cp initrd $TFTPBOOT
;;
*)
echo "$0 {Pack|Unpack|Addimg|Install}"
;;
esac
--
СодержимоеTOOLSDIR
~ls bootsplash/
bootsplash.cfg bootsplash.jpg silent.jpg splash
~cat bootsplash/bootsplash.cfg
# This is the configuration file for the 1024x768 bootsplash picture.
#
# This file is necessary to specify the coordinates of the text box on
# the splash screen.
#
# Comments are welcome by stepan@suse.de
# config file version
version=3
# should the picture be displayed?
state=1
# fgcolor is the text forground color.
# bgcolor is the text background (i.e. transparent) color.
fgcolor=7
bgcolor=0
# (tx, ty) are the (x, y) coordinates of the text window in pixels.
# tw/th is the width/height of the text window in pixels.
tx=0
ty=0
tw=1024
th=768
# name of the picture file (full path recommended)
jpeg=bootsplash.jpg
silentjpeg=silent.jpg
progress_enable=1
# background
box silent noover 204 666 820 686 #515151
box silent inter 204 667 204 685 #b77200 #f2b700 #b77200 #f2b700
box silent 204 667 820 685 #b77200 #f2b700 #b77200 #f2b700
# black border
box silent 204 666 820 666 #b5b5b5
box silent 204 686 820 686 #b5b5b5
box silent 204 666 204 686 #b5b5b5
box silent 820 666 820 686 #b5b5b5
overpaintok=1
--
Картинки размером 1024х768 сделать в Gimp Сохранить как - дополнительно bp=24, 2x2,1x1,1x1 No progressive
./splash -s -f
./splash -s -f bootsplash.cfg >> $CURDIR/initrd
это понятно, только чего-то у меня нет этой команды splash (CentOS)
какой пакет надо добавить?