Hi Alex! On 04/10/2018, at 12:31:16 PM you wrote:
> > > На текущий момент положил vmlinuz и full.cz (с добавленными модулями > > > для поддержки сетевых карт) на tftp-сервер, образ rescue - на > > > ftp-сервер, прописал в pxelinux.cfg соответствующие параметры > > > (fastboot live > > > automatic=method:ftp,network:dhcp,server:192.168.1.1,directory:/rescue/32 > > > ramdisk_size=450000 stagename=rescue showopts). Начинается загрузка, > > > которая останавливается на сообщении "No network device found". > > > Переход на вторую консоль и выполнение там udevadm trigger > > > --action=add; udevadm settle подгружает модуль для сетевой карты, > > > после чего можно продолжить загрузку (rescue скачивается с ftp и > > > далее все загружается обычным образом). > > > > > > Никак не могу понять, каким образом заставить > > > udev/propagator/кто-этим-должен-заниматься загружать модули для > > > сетевой карты автоматически. > > Насколько я помню, propagator все делает сам, и если имя сетевого > > интерфейса не совпадает с ожидаемым, то он выкидывает эту ошибку. > > Посмотрите отладочную консоль, там должно быть все написано что ему не > > нравится. > > > > На 3й консоли есть следующее: > * welcome to the ALT Linux install(alt-stage1, built ...) > * opening /proc/cmdline... > * initrd=..... (строка APPEND из pxelinux) > * AUTOMATIC MODE: got 4 params > * got 8 args > * spawning a shell > * unsetting automatic > > Похоже, все ему нравится, просто модуля для сетевой карты никто не > загружает. Интерфейс только lo. lsmod - пусто. После ручной загрузки > модуля (через вторую консоль с шеллом) и нажатия Ok в propagator у него > все получается - поднимается интерфейс, получается IP, загружается по > FTP образ и т.д. да, если по коду то все вываливается потому что в /sys/class/network пусто: ... char ** get_net_devices(void) { DIR * sys_net; char * tmp[50]; struct dirent * ent; int i = 0; sys_net = opendir("/sys/class/net"); if (sys_net == NULL) return(strdup("\0")); while ( ent = readdir(sys_net)){ if( !strcmp("lo", ent->d_name))continue; if (net_device_available(ent->d_name)){ tmp[i++] = strdup(ent->d_name); } } tmp[i++] = NULL; return memdup(tmp, sizeof(char *) * i); } #endif /* DISABLE_NETWORK */ > > Никак не могу понять, как и кого попросить грузить модуль для сетевой > карты. Все нужное в initrd есть - модули, udev. propagator запускает udev перед собственно поиском устройств, т.е. если карта там не обнаружилась, то в dmesg должно быть что-то. Есть ли еще сообщения на других консолях? -- WBR et al. _______________________________________________ Sysadmins mailing list Sysadmins@lists.altlinux.org https://lists.altlinux.org/mailman/listinfo/sysadmins