PDA

Bekijk de volledige versie : BootUp from Network (PXE+TFTP)



FilimoniC
01-11-2005, 10:07
Нигде не нашел информации по этой штуке, может, поможете?
В BIOS'е каждого современного компа есть такая штука.
Как я понимаю, это фича, чтобы загружать ОС из сети? так?
Какие программы выполняют роль сервера, с которого идет загрузка? Есть ли такие для wl500gx?

Oleg
01-11-2005, 10:42
tftp сервер и правильные опции в DHCP сервере.

FilimoniC
01-11-2005, 11:10
M, --dhcp-boot=[net:<network-id>,]<filename>,[<servername>[,<server address>]]
Set BOOTP options to be returned by the DHCP server. These are needed for machines which network boot, and tell the machine where to collect its initial configuration. If the optional network-id(s) are given, they must match for this configuration to be sent. Note that network-ids are prefixed by "net:" to distinguish them.

Вопрос: что за файл filename? Образ дискетки, например, подойдет?
Можно ли как нибудь определить, идет ли запрос на загрузку из сети или нет?

Oleg
01-11-2005, 13:50
Это имя, которое будет передано tftp серверу, в ответ на которое он должен вернуть некий образ.
Что должно быть в этом образе зависит от того, что ожидает клиент. Это может быть и образ дискетки, может ещё чего-то там. Часто использует PXE. Здесь (http://www.google.ru/search?hl=ru&q=pxe+boot&lr=) читайте.

FilimoniC
01-11-2005, 15:38
Никак не пойму, как заставить dnsmasq.conf сохраниться...
содержимое /tmp/local/.files:

/etc/dnsmasq.conf
/tmp/etc/dnsmasq.conf

Изменяю оба, но после flashfs save-commit-enable-reboot они не сохраняются. =(

Oleg
07-11-2005, 12:29
Изменять dnsmasq.conf в /tmp и /etc бессмысленно. Этот файл генерируется автоматически при загрузке устройства. Есть возможность "дописать" в него. Для этого создайте файл /usr/local/etc/dnsmasq.conf

marmaluk
16-05-2006, 23:35
Товарисчи а кто нить пробовал загрузить бездисковую систему(тонкий клиент) в сети c Wl 500 delux ????

На обычном компе с линуксом можно реализовать при помощи ISC DHCP, hpa-tftp, nfs

Никто случайно не заморачивался ???

Очень интересно возможно ли реализовать удаленную загрузку с wl 500 delux

ps. Друзья только не спрашивайте зачем :) :)

homedimon
21-05-2006, 13:25
На обычном компе с линуксом можно реализовать при помощи ISC DHCP, hpa-tftp, nfs


Очень интересно возможно ли реализовать удаленную загрузку с wl 500 delux



Глянь тему BootUp from Network (http://wl500g.info/showthread.php?t=3635&highlight=tftp+dhcp)

А вообще поиши по всему форуму DHCP TFTP

marmaluk
28-05-2006, 20:30
Hашел кое что по настройке удаленной загрузки под Slackware
Журнал Хакер за март 2004г автор Антон Карпов (стр 104.)

Для начала нам понадобится сервер удаленной загрузки.

Это может быть bootp-сервер или dhcp-сервер, оба они выполняют необходимые функции. Т.к. протокол dhcp
умеет все то же, что и bootp, только больше и лучше :), то нет никакого резона использовать bootp-сервер.
Поэтому качаем и ставим ISC DHCP сервер, последняя версия которого на момент написания статьи - 3.0.1rc13.
Протокол dhcp позволяет намного больше, чем просто раздачу IP-адресов. Нам нужно будет не только "оформиться"
у сервера, но и загрузить с сервера ядро. Сам dhcp не умеет предоставлять файлы, для этого используется tftp
(trivial file transport protocol) – урезанный, по сравнению с ftp, протокол, не имеющий авторизации и работающий по udp.
Также нам необходимо скачать и поставить поддерживающий команду tsize tftp-сервер, к примеру, hpa-tftp.
И то и другое требует конфигурирования. Dhcp-сервер читает все настройки из файла /etc/dhcpd.conf:

/etc/dhcpd.conf
allow booting;
allow bootp;

# Глобальные опции
option domain-name "nwudc.lan";
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
default-lease-time -1;
use-host-decl-names on;
ddns-update-style ad-hoc;
filename "pxelinux.0";

# Опции для подсети
subnet 192.168.1.0 netmask 255.255.255.0
range 192.168.1.10 192.168.1.30;
option routers 192.168.1.1;

Запуск демона происходит следующим образом:
# /usr/sbin/dhcpd -cf /etc/dhcpd.conf
tftpd конфигурационного файла не имеет и просто запускается в безопасном режиме
/usr/sbin/in.tftpd -s /tftpboot, где /tftpboot - предварительно созданная директория,
куда мы положим ядро и прочие необходимые файлы (см. ниже).

Запущенный с аргументом -s, tftpd использует системный вызов chroot(2) в указанный каталог, поэтому
остальным программам мы должны указывать пути к файлам на tftp относительно этого каталога.
Параметр -l запускает tftpd в standalone режиме. Таким образом, нам уже не нужно использовать устаревший inetd
для запуска tftp-сервера. Оба сервиса можно прописать в /etc/rc.d/rc.local для запуска при старте системы:

echo "Starting ISC dhcpd: /usr/sbin/dhcpd"
/usr/sbin/dhcpd -cf /etc/dhcpd.conf > /dev/null 2>&1

echo "Starting secure tftpd: /usr/sbin/in.tftpd"
/usr/sbin/in.tftpd -l -s /tftpboot
Собственно, а что нам надо грузить? В конфиге dhcpd.conf среди прочих видим строчку:

filename "pxelinux.0";
Это значит, что мы будем использовать pxelinux - модификацию всем известного загрузчика syslinux от Питера Анвина (Peter Anvin), специально созданную для загрузки по сети. Берем на syslinux.zytor.com свежий архив syslinux, в нем находим искомый файл-загрузчик pxelinux.0, помещаем его в /tftpboot и в конфиге dhcpd указываем путь до файла относительно этого каталога (напомню, что tftpd запущен в безопасном режиме, и для него /tftpboot – это корневой каталог) - filename "pxelinux.0";. Именно поэтому нам нужен был tftpd-сервер с поддержкой команды tsize - pxelinux использует ее, чтобы скачать образ свежеиспеченного ядра:

# cd /usr/src/linux-2.4.24
# make menuconfig
# make dep clean bzImage

Опционально:
# make modules modules_install
Общие рекомендации по сборке: для удаленной загрузки удобно собирать ядро без модулей, например, у меня все необходимое влезло в 1200 Кб, но это несущественно. Главное вкомпилировать в ядро (НЕ как модули) следующие вещи: поддержку TCP/IP, драйвер сетевой карты бездисковой
машины, опции "nfs-клиент" и "nfs-server", опцию "allow nfs root", монтирование корневой nfs при загрузке, поддержку devfs и devfs mount at boot. Одним словом, прикинь, что нужно ядру, которое грузится на совершенно голой машине, и при этом должно видеть сеть и уметь монтировать nfs-разделы при загрузке.

Итак, в /tftpboot у нас уже лежит файл pxelinux.0 из архива syslinux и наше ядрышко для бездисковых станций, пусть оно будет незатейливо называться bzImage. Давай мысленно прокрутим ситуацию и подумаем,
чего еще нам не хватает. Когда мы выставим в BIOS клиентской машины опцию загрузки по сети, pxe-загрузчик пойдет искать доступные dhcp-серверы, наш dhcpd откликнется, выдаст клиенту файл pxelinux.0, этот файл загрузится, загрузит ядро bzImage, ядро пойдет грузиться, а потом... а потом оно очень хотело бы увидеть корневую файловую систему, монтируемую по сети. Кроме того, pxelinux должен иметь конфигурационный файл, где описано, какое ядро и с каким опциями ему грузить.

Нетривиальный trivial ftp

Последняя по порядку, но не по важности вещь в каталоге /tftpboot - папка /tftpboot/pxelinux.cfg/, где будет располагаться конфигурационный файл с именем “айпишник клиента”. Мы ведь хотим, чтобы разные бездисковые клиенты с разной конфигурацией железа могли грузить разные ядра, верно? И как дать каждому клиенту понять, где его ядро? Для каждого клиента создается файл /tftpboot/pxelinux.cfg/XXXX,
где имя XXXX файла – это IP-адрес клиента в шестнадцатеричной форме. Т.е. для клиента с адресом 192.0.2.91 это будет конфиг /tftpboot/pxelinux/C000025B. Наконец, если ни один из конфигов не подойдет, то pxelinux читает /tftpboot/pxelinux/default.

Возникает вопрос: откуда у клиента берется конкретный адрес? Как мы помним, у нас используется dhcp-сервер, и от выполнения своей прямой миссии - динамически выдавать IP-адреса - он не отказывается. Клиент и
получает от этого сервера адрес, за это отвечают следующие строчки /etc/dhcpd.conf:

Дополнения к /etc/dhcpd.conf

// выдавать клиентам такое имя домена
option domain-name "xakep.lan";

// пусть клиенты знают широковещательный адрес сети
option broadcast-address 192.168.1.255;

// пусть клиенты знают маску подсети
option subnet-mask 255.255.255.0;

// описание подсети, в которой мы живем
subnet 192.168.1.0 netmask 255.255.255.0

// диапазон назначаемых адресов
range 192.168.1.10 192.168.1.30;

// сообщим клиентам, какие роутеры надо добавить в таблицу маршрутизации
option routers 192.168.1.1;

// а также какие dns-сервера им нужно прописать себе в /etc/resolv.conf
option name-servers 192.168.1.10;
В итоге получаем клиента с полностью сконфигурированной сетью.

Каждому свое ядро

Очевидно, что адрес клиенту в данной конфигурации назначается случайным образом из имеющихся свободных.
Но нам может понадобиться, чтобы клиент A получал ядро kernA, а клиент B - ядро kernB. Это значит,
что у клиентов А и B каждый раз должны быть строго фиксированные адреса. К счастью, dhcpd и это умеет.
В секцию subnet пишем:

host ethboot
hardware ethernet 00:0C:6E:9D:6F:78;
fixed-address 192.168.1.20;
Исходя из того, что сетевая карта у клиента не меняется, ее MAC-адрес и будем использовать. Мы указываем, что клиенту с MAC-адресом 00:0C:6E:9D:6F:78 всегда нужно назначать IP-адрес 192.168.1.20. Затем переведем этот адрес в шестнадцатеричный вид и положим конфиг с таким именем в /tftpboot/pxelinux.cfg/. Вуаля! Оговорюсь, что у меня все 72 бездисковых клиента были одинаковые, и различать их каким-либо образом не было нужды (опции host вообще в конфиге не было, а в pxelinux.cfg лежал один лишь default).

Итак, сам конфиг (в моем случае - /tftpboot/pxelinux.cfg/default):

label linux
kernel bzImage
append ip=auto
append nfsroot=192.168.1.1:/home/nfsroot
ipappend 1
Здесь ничего сложного нет: синтаксис практически совпадает с синтаксисом lilo.conf, за исключением того, что пара "имя-значение" отделена пробелом, а не знаком равенства (=). Клиенту будет выдано по tftp ядро bzImage, IP-адрес клиенту уже присвоен dhcp-сервером, а корневая файловая система должна быть примонтирована по nfs с сервера 192.168.1.1. Эти параметры буду переданы ядру при загрузке.

marmaluk
01-06-2006, 22:07
Так как насчет вышесказанного вопроса:

Главная проблема на данный момент сконфигурировать dhcpd сервер или bootp.
Самая главная проблема, банальна - не могу найти конфигурационных файлов не мог бы кто чего подсказать ??
Друзья!!! Подскажите как почитать ман по dhcp и tftp !!! man dhcpd, dhcpd --help, - результатов не дает, может надо как то по другому???

Tsvetkov
02-06-2006, 06:25
marmaluk на роутере используется dnsmasq

Pablo
02-06-2006, 08:21
Мой конфиг dhcpd (не на Asuse)


# cat /etc/dhcpd.conf
ddns-update-style none;

subnet 192.168.12.0 netmask 255.255.255.0 {
range 192.168.12.201 192.168.12.220;
default-lease-time 86400;
max-lease-time 86400;

option ip-forwarding off;
option broadcast-address 192.168.12.255;
option subnet-mask 255.255.255.0;

if substring (option vendor-class-identifier, 0, 9) = "PXEClient"
{
filename "pxelinux.0";
next-server 192.168.12.183;
}

}

Nerevarine
27-11-2007, 01:49
Ситуация такая: есть нормально работающий WL-500gP, а также опыт программирования встраиваемых Линуксов (правда, ARM)... Хочется поразвекаться с прошивкой, по возможности не теряя гарантию... Отсюда вопрос: можно ли заставить CFE грузиться по умолчанию по bootp(dhcp)/tftp? неохота каждый раз флэш перетирать...

PS Если дело-таки дойдёт до JTAG'а... Что народ использует? На ARM'е я использую JTAGkey + openocd, но openocd, по моему, сильно ARM-cпецифичный...

gde700
27-11-2007, 09:47
...Если дело-таки дойдёт до JTAG'а... Что народ использует? На ARM'е я использую JTAGkey + openocd, но openocd, по моему, сильно ARM-cпецифичный...
Я уже интересовался JTAG`ом. Нет его здесь :( Не выведен. Так что ежели что - перепаивать флешку.

zingarini
08-02-2008, 07:31
Интересно, какие преимущества мы получаем при загрузке с внешнего устройства?

ABATAPA
08-02-2008, 09:36
Интересно, какие преимущества мы получаем при загрузке с внешнего устройства?
Ну, например, возможность грузить экспериментальные ядра с возможностью "отката".

zingarini
08-02-2008, 13:28
abatapa спасибо за внимание, скажите пожалуйста, а влияет ли как нибудь загрузка с флеша на скорость работы роутера? Я имею ввиду, не разружается ли частично проц или оперативка роутера?:rolleyes:

Oleg
08-02-2008, 14:40
Ну, например, возможность грузить экспериментальные ядра с возможностью "отката".
Вот ядро так загрузить как раз нельзя. Оно грузится только из встроенной флешки.

lly
08-02-2008, 16:42
Кому-то удалось грузить ядра по NFS командами из CFE, но лично я этот труд не осилил.

Oleg
08-02-2008, 16:57
Что-то я сомневаюсь. Либо CFE другое. У нас нет поддержки nfs. Есть tftp, но в этом случае всё равно программируется флешка.

lly
08-02-2008, 17:14
В том-то и дело что наше - http://wl500g.info/showthread.php?t=4175

Oleg
08-02-2008, 18:09
tftp:

boot -elf -tftp 192.168.1.6:vmlinux_nfs

lly
08-02-2008, 18:19
Ядро - да, tftp - но флешка то в этом случае не должна шиться? Или я опять очевидного не заметил? А root'овая FS по NFS.

Oleg
08-02-2008, 18:45
Судя по выводу ядро действительно не шьётся.

Speedy Gonzalez
20-11-2008, 00:17
Сегодня у меня возникла острая потребность грузить по сетке компы с роутера. Может быть кому понадобится, так что расскажу как и что делать. Тем более ни одного внятного объяснения в этом форуме я так и не нашёл.
На самом деле всё ну очень быстро и легко, минут 15 максимум (если не считать время закачек)
*при работе с именами файлов соблюдайте правильный регистр

1) Подготовка образа BartPE

Скачать PEbuilder (http://www.nu2.nu/pebuilder/)


Скачать дистрибутив Windows Server 2003 R2 SP2 x86 En (где брать решайте сами, можно абсолютно легально и с microsoft.com триал скачать, всё равно активировать не надо)


Прочитать одну из многочисленных инструкций про BartPE (хотя можно и без них разобраться, там и так проще не придумаешь)


Собрать систему и записать её в файл BARTPE.ISO


Теперь надо разобраться с загрузочными файлами:
из папки I386 взять файлы:
NTDETECT.COM (переименовываем в ntdetect.com)
STARTROM.N1_ (распаковать с помощью expand -> startrom.n12)
SETUPLDR.EX_ (распаковать с помощью expand и переименовать его в NTLDR)
создать файл winnt.sif с таким содержанием:

[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso"

2) Настройка роутера

Установить tftp-hpa (вместе с ним установится ещё и xinetd)

ipkg install tftp-hpa


Создать папку на диске где будет храниться загрузочный образ (дефолтовая папка: /opt/tftpboot, хотя можно и любую другую использовать; у меня, например, /opt/files/boot), и скинуть 5 имеющихся файлов туда.


Прописать в файл /usr/local/etc/dnsmasq.conf такую строчку (если файла нет, то надо создать):

dhcp-boot=startrom.n12
после чего сохранить его в флешпамяти роутера

flashfs save && flashfs commit && flashfs enable


При необходимости отредактировать файл /opt/etc/xinetd.conf под свои нужды (мне же было достаточно и дефолтовых настроек)


Отредактировать файл /opt/etc/xinetd.d/tftp
Он должен выглядеть примерно так:

service tftp
{
flags = REUSE
socket_type = dgram
protocol = udp
instances = 30
wait = yes
user = admin
server = /opt/sbin/in.tftpd
server_args = -s /opt/files/boot
cps = 100 2
log_on_success = HOST PID
log_on_failure = HOST
disable = no
}
параметр user, разумеется, должен соответствовать вашему администраторскому логину; в server_args должен быть указан путь к загрузчику;


Если не используете rc.unslung, то не забудьте прописать в автозапуск /opt/sbin/xinetd


Теперь можно ребутнуть роутер и проверить работоспособность.

Sanvean
29-01-2009, 19:28
Для эконмии времени при разработке ядро можно грузить не с флеша, а по сети.

CFE> boot -elf -tftp host:vmlinux

однако, в новых рутерах памяти, доступной CFE не хватает для размещения ядра. Вот распределение памяти WL-500g Premium V1:

Total memory used by CFE: 0x80800000 - 0x8089AF40 (634688)
Initialized Data: 0x808313D0 - 0x80833790 (9152)
BSS Area: 0x80833790 - 0x80834F40 (6064)
Local Heap: 0x80834F40 - 0x80898F40 (409600)
Stack Area: 0x80898F40 - 0x8089AF40 (8192)
Text (code) segment: 0x80800000 - 0x808313D0 (201680)
Boot area (physical): 0x0089B000 - 0x008DB000
Relocation Factor: I:00000000 - D:00000000

А это WL-500g Deluxe:

Total memory used by CFE: 0x80300000 - 0x80436F10 (1273616)
Initialized Data: 0x803313D0 - 0x80333760 (9104)
BSS Area: 0x80333760 - 0x80334F10 (6064)
Local Heap: 0x80334F10 - 0x80434F10 (1048576)
Stack Area: 0x80434F10 - 0x80436F10 (8192)
Text (code) segment: 0x80300000 - 0x803313D0 (201680)
Boot area (physical): 0x00437000 - 0x00477000
Relocation Factor: I:00000000 - D:00000000

Обратите внимание на размер Local Heap.

Собственно, вопрос: как можно увеличить размер Local Heap?

lly
29-01-2009, 19:56
Собственно, вопрос: как можно увеличить размер Local Heap?
Судя по исходникам CFE 1.0.37 - это забито в код :( CFG_HEAP_SIZE
А с чего ты взял что не хватает именно heap'а? какое сообщение об ошибке?

Sanvean
29-01-2009, 20:02
Точно не помню. Но сомнений нет -- ругается именно на то, что ядро не лезет в память. Ну и собственно, на премиуме я не могу по сети загрузиться, а в делюксе могу.

Ребутнулся ради истины:


CFE> boot -elf -tftp 192.168.254.2:vmlinux
Loader:elf Filesys:tftp Dev:eth0 File:192.168.254.2:vmlinux Options:(null)
Loading: TFTP Client.
0x80300000/899654 Failed.
Could not load 192.168.254.2:vmlinux: Section would load outside available DRAM
*** command status = -17
CFE> reboot

lly
29-01-2009, 20:08
Тогда ой. Запастись программатором (или другом с программатором) на случай краха, и, перекрестившись ,перекомпилить и перепрошить CFE.

Sanvean
29-01-2009, 20:10
У меня для такого случая есть WL-500gE с горелым WiFi =)

Где взять исходники CFE?

lly
30-01-2009, 06:47
Где взять исходники CFE?
В ASUS'овских GPL исходниках

hihedge
01-07-2009, 16:57
Тоже долго мучался с загрузкой WL-500gP по сети, архивы дома, постараюсь вечером поднять, и написать solution.
Насколько помню, граблей было 2 шт.
Потребовалось правильно упакованное ядро, иначе CFE не мог его распаковать и требуется указывать дополнительные ключи с описанием регионов для загрузки.

В общем задача стоит более маштабная - для отладки прошивок реализовать не только загрузку ядра по сети но и работу с прошивкой на NFS root.
Затык случился с инициализацией свитча, как только он инициализируется драйвером ядра в VLAN режим то тут-же пропадает NFS линк и root.
Можно отключить инциализацию свитча в ядре но тогда VLAN и все сетевые настройки прошивки не поднимаются.

suglosta
13-09-2009, 20:10
Странного хочу... :)
Есть 2 рутера, в 2-ух квартирах на разных этажах, оба подключены к инету.
Соединены друг с другом для локалки.

Хочется соединить их так, чтобы мои DHCP пакеты не ходили в другую квартиру и наоборот.

Думается это можно сделать так:
выделить отдельный vlan для порта, к которому подключена вторая квартира. Наcтроить фильтр на DHCP в iptables.
Есть ли способ проще?
Если нет, то как по шагам сделать то, что я написал.
Заранее спасибо.

tracert2009
14-10-2009, 12:07
Добрый день. Нужна помощь. Имеется wl500w с прошивкой от Олега 1.9.2.7-10. Как на встроенном DHCP указать загрузку с tftp сервера в сети, для бездисковых терминалов?

tracert2009
14-10-2009, 19:35
Я так понимаю если добавить в etc/dnsmasq.conf
dhcp-boot=pxelinux.0,<hostname>,<iphost>
должн все сработать
Только не могу сохранить в этом файле изменеия после reboot изменения слетают. "flashfs save && flashfs commit && flashfs enable && reboot" делаю.Где ошибка подскажите

theMIROn
14-10-2009, 19:47
Я так понимаю если добавить в etc/dnsmasq.conf
dhcp-boot=pxelinux.0,<hostname>,<iphost>
должн все сработать
Только не могу сохранить в этом файле изменеия после reboot изменения слетают. "flashfs save && flashfs commit && flashfs enable && reboot" делаю.Где ошибка подскажите
прописывать нужно в /usr/local/etc/dnsmasq.conf, содержимое будет добавлено к автоматически генерируемому /etc/dnsmasq.conf
только tftp функционал в dnsmasq в 1.9.2.7-d прошивке выключен для уменьшения размера.

tracert2009
14-10-2009, 20:27
Если я правильно понял вы имеете в виду что Tftp сервер нельзя поднять на роуторе. У меня tftp стоит в локалке.
Спс создал файл как вы сказали добавил изменения сохранился все ок. Осталось завтра проверить загрузку по lan.

Проблема решена добавлением строки в dnsmasq.conf.

elected
14-11-2009, 23:42
Уважаемый ALL
пытаюсь установить dhcpd
даю команду


ipkg install dhcpd

пишет что такого пакета не найдено

хотя летом я этот пакет ставил

Как установить пакет ?

al37919
20-11-2009, 09:18
а чем dnsmasq не устраивает?

SoulKeeper
14-01-2010, 13:53
Здравствуйте, дорогие форумчане!

Есть необходимость настройки на данном девайсе DHCP c PXE + TFTP.

Ничего толкового так и не нашёл тут на форуме не нашёл, попадалась только любопытная статейка:
http://www.wl500g.info/showthread.php?t=17156&highlight=PXE&page=2

и вот ещё в инете по поводу подобных команд есть инфа:
http://www.bog.pp.ru/work/PXE.html
http://www.debian.org/releases/lenny/i386/ch04s05.html

В итоге успешно провёл установку "для дурака" а потом попытался сделать то что было в статье на форме:
http://www.wl500g.info/showthread.php?t=17156&highlight=PXE&page=2


увы ничего не получилось.


Помогите если кто знает как это настроить!

Basile
14-01-2010, 14:04
увы ничего не получилось.Фраза говорит много о чем...

SoulKeeper
14-01-2010, 14:35
Фраза говорит много о чем...
Вроде как после выполнения команд :

install xinetd (if you don't have)


ipkg update
ipkg upgrade
ipkg install xinetd
ipkg install tftp-hpa




nano /usr/local/etc/dnsmasq.conf




contents of dnsmasq.conf: (asus=replece to your Host Name(same in ip config in web interface) 192.168.1.1=tftp server ip adres (may run outside asus for fastest transfer) )
Код:


dhcp-boot=pxelinux.0,asus,192.168.1.1




flashfs save && flashfs commit && flashfs enable && reboot


Сетевуха стала видеть DHCP с PXE но теперь выдает ошибку:

PXE-32
TFTPD..... timeout error

или что-то вроде этого, точно не помню...

Я так понял что не загружается TFTPD сервер, т.к. его нет в списке программ по команде "PS" :confused:

куда рыть дальше?

Basile
14-01-2010, 14:41
Я так понял что не загружается TFTPD сервер, т.к. его нет в списке программ по команде "PS" :confused:Откуда запускается TFTP?

SoulKeeper
14-01-2010, 14:45
Откуда запускается TFTP?

понятия не имею.
я только выполнил код который был представлен в рекомендации.
я как я понял он как раз-таки не запускается!

Пишет вот что:

PXE-32: TFTP open timeout

TFTP.......

Basile
14-01-2010, 14:50
ls -l /opt/etc/init.d/* что говорит?

SoulKeeper
14-01-2010, 14:56
ls -l /opt/etc/init.d/* что говорит?

-rwxr-xr-x 1 admin root 153 Jan 24 2008 /opt/etc/init.d/S10cron
-rwxr-xr-x 1 admin root 246 Oct 24 03:41 /opt/etc/init.d /S10xinetd
-rwxr-xr-x 1 admin root 641 Jan 1 1970 /opt/etc/init.d/rc.unslung

Mem: 20964K used, 8996K free, 0K shrd, 2816K buff, 9616K cached
CPU: 0% usr 1% sys 0% nic 98% idle 0% io 0% irq 0% sirq
Load average: 0.00 0.00 0.00 1/27 202
PID PPID USER STAT VSZ %MEM %CPU COMMAND
202 180 admin R 1536 5% 0% top
179 67 admin S 1160 4% 0% dropbear
188 180 admin T 4940 16% 0% mc -c
180 179 admin S 1544 5% 0% -sh
192 188 admin T 1536 5% 0% /bin/sh -c ./tftp
64 1 admin S 1532 5% 0% syslogd -m 0 -O /tmp/syslog.log -S -l 7 -b 2
66 1 admin S 1528 5% 0% klogd
55 1 admin S 1528 5% 0% telnetd
110 1 admin S 1320 4% 0% watchdog
1 0 admin S 1316 4% 0% /sbin/init
85 1 admin S 1308 4% 0% rcamdmain
67 1 admin S 1096 4% 0% dropbear
65 1 admin S 1092 4% 0% httpd vlan1
115 1 admin S 1052 4% 0% upnp -D -L br0 -W vlan1
193 192 admin T 1052 4% 0% ./tftp
140 1 admin S 972 3% 0% /opt/sbin/cron
76 1 nobody S 844 3% 0% dnsmasq
3 1 admin SWN 0 0% 0% [ksoftirqd_CPU0]
7 1 admin SW 0 0% 0% [mtdblockd]
123 1 admin SW 0 0% 0% [usb-storage-0]
75 1 admin SW 0 0% 0% [khubd]
132 1 admin SW 0 0% 0% [kjournald]
6 1 admin SW 0 0% 0% [kupdated]
2 1 admin SW 0 0% 0% [keventd]
4 1 admin SW 0 0% 0% [kswapd]
5 1 admin SW 0 0% 0% [bdflush]
124 1 admin SW 0 0% 0% [scsi_eh_0]

Basile
14-01-2010, 15:10
-rwxr-xr-x 1 admin root 153 Jan 24 2008 /opt/etc/init.d/S10cron
-rwxr-xr-x 1 admin root 246 Oct 24 03:41 /opt/etc/init.d /S10xinetd
-rwxr-xr-x 1 admin root 641 Jan 1 1970 /opt/etc/init.d/rc.unslung
Ну, судя по выводу, tftp не запускается отсюда. Читаем снова пост автора и видим:

it' s full guide but you can get some problems with starting xinetd and tftp, or if not automaticly created tftp config file in /opt/etc/xinetd.d/tftp ...
TFTP запускается через xinet.d. Поищите по форуму, как запускать процессы через xinet.d. Если не получится по форуму, ищите во всем инете

SoulKeeper
14-01-2010, 15:29
Ну, судя по выводу, tftp не запускается отсюда. Читаем снова пост автора и видим:

TFTP запускается через xinet.d. Поищите по форуму, как запускать процессы через xinet.d. Если не получится по форуму, ищите во всем инете

У меня создался файл
/opt/etc/xinetd.d/tftp

Basile
14-01-2010, 15:46
193 192 admin T 1052 4% 0% ./tftpУ вас запущен tftp.
Надо проверить, работает он или нет

SoulKeeper
14-01-2010, 16:00
У вас запущен tftp.
Надо проверить, работает он или нет

это я его как-то вручную запустил, а потом выйти из него не мог.
он автоматически не запускается.


Следуя примеру из описания добавил строку в xinetd.conf:

service ftp
{

socket_type
= stream
wait
= no
nice
= 10
user
= root
server
= /opt/sbin/in.tftpd
server_args
= -l
instances
= 4
log_on_success
+= DURATION HOST USERID

}



результат тот же :(

Basile
14-01-2010, 17:42
это я его как-то вручную запустил, а потом выйти из него не мог.Но если вы вышли из него (как-то), то процесс должен был бы выгрузиться, но ведь он не выгрузился. Значит это тот процесс, который запустил xinet.d.

Следуя примеру из описания добавил строку в xinetd.conf:
А приведите весь конфиг

Нашли способ проверить, работает TFTP или нет?

SoulKeeper
14-01-2010, 18:35
Ура, у меня всё заработало! Теперь гружу WTware с флэшки на роутере!

Всем кому интересно читать:
http://wl500g.info/showthread.php?t=5301&highlight=tftpd
http://www.wl500g.info/showthread.php?t=17156&highlight=PXE&page=2
http://wtware.ru/docs/dhcp.html и будет вам счастье!


Но если вы вышли из него (как-то), то процесс должен был бы выгрузиться, но ведь он не выгрузился.
Значит это тот процесс, который запустил xinet.d.
А приведите весь конфиг Нашли способ проверить, работает TFTP или нет?
# Отредактировать файл /opt/etc/xinetd.d/tftp Он должен выглядеть примерно так:

service tftp
{
flags = REUSE
socket_type = dgram
protocol = udp
instances = 30
wait = yes
user = admin
server = /opt/sbin/in.tftpd
server_args = -s /opt/files/boot
cps = 100 2
log_on_success = HOST PID
log_on_failure = HOST
disable = no
}

параметр user, разумеется, должен соответствовать вашему администраторскому логину; в server_args должен быть указан путь к загрузчику;

# Если не используете rc.unslung, то не забудьте прописать в автозапуск /opt/sbin/xinetd

Тут про параметр правильно сказали, что должен соответствовать администраторскому логину, а у меня он не root а admin :-) и всё задышало!

overlock
17-02-2010, 11:42
для тех кто хочет, скажем линукц запускать по сети сабж:


http://www.oszone.net/3530

по сути - в днсмаск - меняете имя загрузчика и все, конфиг загрузчика в сабже, соответственно - если хотите из компа сделать тонкий клиент, который грузится с асуса - ставите загрузчиком загрузчик от тонкого клиента клиента, в нете готовых образов много)


КСТАТИ!: вопрос бывалым - как сделать так чтобы можно было и линукс и виндовс грузить по сетке - то есть менюшку кауку-юнибудь сделать для выбора загрузчика загрузчика(не тафталогия)??

symbol
04-07-2010, 05:31
Здравствуйте, почитал форум, в том числе тему "Установка openvpn в основную память для НОВИЧКОВ", но так и не нашел решение своей задачи, может конечно не понял как сделать.
Провайдер выдает статический IP, городской интернет работает, для внешки используется безлимитка от другого провайдера, подключение по VPN. Как сделать, чтобы роутер сам мог устанавливать подключение VPN и при обрыве соединения реконнектится . Нужно, чтобы работала PS3, она сама не умеет поднимать VPN.
Подскажите как можно решить данную задачу?

tedkuban
08-08-2010, 13:00
Прошу помощи у гуру!

Есть DIR-320 с прошивкой WL500gpv2-1.9.2.7-d-r1825.
Есть необходимость подключить к нему тонкий клиент с сетевой загрузкой (Etherboot|PXE).
Соответственно, необходимо встроенному в роутер DHCP-серверу выдавать не только адрес-маску-шлюз, но еще и имя файла для загрузки, а может быть, и еще что-нибудь. Как я понимаю, нормальный dhcpd там не используется - нет ни бинарника, ни конфигов. Есть ли разумно трудоемкий способ решить данную задачу, или сразу идею в морг?

З.Ы. TFTP-сервер с файлами загрузки в сети есть. Задача - только добавить параметры в DHCP.

Basile
08-08-2010, 18:02
[How to] PXE boot Server (http://wl500g.info/showthread.php?t=17156)
ASUS Wl500W и встроенный DHCP (http://wl500g.info/showthread.php?t=21594)
Загрузка бездисковой системы с WL500g delux (http://wl500g.info/showthread.php?t=5301)
Поднять на WL500gP DHCP сервер с PXE + TFTP с загрузкой образов!!! КАК??? (http://wl500g.info/showthread.php?p=178656)
PxeBootServer (http://www.nslu2-linux.org/wiki/Unslung/PxeBootServer)

theMIROn
08-08-2010, 18:34
Прошу помощи у гуру!

Есть DIR-320 с прошивкой WL500gpv2-1.9.2.7-d-r1825.
Есть необходимость подключить к нему тонкий клиент с сетевой загрузкой (Etherboot|PXE).
Соответственно, необходимо встроенному в роутер DHCP-серверу выдавать не только адрес-маску-шлюз, но еще и имя файла для загрузки, а может быть, и еще что-нибудь. Как я понимаю, нормальный dhcpd там не используется - нет ни бинарника, ни конфигов. Есть ли разумно трудоемкий способ решить данную задачу, или сразу идею в морг?

З.Ы. TFTP-сервер с файлами загрузки в сети есть. Задача - только добавить параметры в DHCP.

в dnsmasq есть работающая поддержка pxe, однако оно не скомпилировано для уменьшения размера бинарника.

neon98
10-10-2011, 06:23
Имеется роутер WL-500GPv2 и внешний жесткий диск на 250 гб. Можно ли, скопировав, например, образ с LiveCD на жесткий диск, подключенный к роутеру, загружаться с него на компьютере?

AndreyUA
10-10-2011, 06:49
Имеется роутер WL-500GPv2 и внешний жесткий диск на 250 гб. Можно ли, скопировав, например, образ с LiveCD на жесткий диск, подключенный к роутеру, загружаться с него на компьютере? http://wl500g.info/showthread.php?t=17156
http://wl500g.info/showthread.php?t=22740

vectorm
10-10-2011, 07:18
И со скоростью 2 Мбит/сек очень будет весело ждать, когда же оно прогрузится ...
А если несколько одновременно - вообще жуть.
"Можно" и "целесообразно" - с роутерами абсолютно разные понятия.

AndreyUA
10-10-2011, 07:50
И со скоростью 2 Мбит/сек очень будет весело ждать, когда же оно прогрузится ...
А если несколько одновременно - вообще жуть.
"Можно" и "целесообразно" - с роутерами абсолютно разные понятия.Ну если это какой-нить DSL линукс или консоль восстановления, то почему бы и нет. Или можно загрузить netinstall и поставить систему.

neon98
12-10-2011, 02:27
Большое спасибо ;)
Просто стоит задача скопировать все LiveCD образы на внешний жесткий диск (консоль восстановления, легкие виндовс-системы, установочные и линукс). С учетом того, что с компакт-диска, если мне память не изменяет, даже меньше 2 мб идет по скорости, то с жесткого подцепленного к роутеру эта скорость довольно шикарная и пропадает необходимость брать болванки и прожигать их/делать загрузочную флешку :)
Приносят компьютер на ремонт, подцепляем через LAN и можно спокойно ковыряться. =)