конфигурим (у меня в сети водятся карточки Realtech и 3COM, а pci-direct - на всякий случай ;) ):
./configure --enable-diskless ----enable-pci-direct --enable-3c90x --enable-rtl8139компилим:
makeи тут начинается ошибка:
main.c:57: error: static declaration of 'bootp_data' follows non-static declaration ./etherboot.h:534: error: previous declaration of 'bootp_data' was here main.c:59: error: static declaration of 'end_of_rfc1533' follows non-static declaration ./etherboot.h:536: error: previous declaration of 'end_of_rfc1533' was hereРешение проблемы нашел тут: http://blog.aimz.de/?p=141
качаем и распаковываем исходники:
apt-get sourse grubВ результате получаем директорию /usr/src/grub-0.97 (на момент написания этой заметки версия 0.97 - крайняя), куда собсна и направляемся.
Если есть желаение применяем патчи (совсем даже не помешает) (код безжалостно выдран из скрипта сборки deb пакета):
set -e ; for i in `cat debian/patches/00list grep -v ^#` ; do echo "--- $i ---" ; patch -p1ну и в заключение находим в файле main.c такие строки:
static struct bootpd_t bootp_data;и
static unsigned char *end_of_rfc1533 = NULL;и правим их соотвественно до
struct bootpd_t bootp_data;и
unsigned char *end_of_rfc1533 = NULL;Конечно вместо такого вероломства лучше сделать патчик и применить его как полагается, но что-то мне стало лень и лом разбираться куда там чего пишется и я решил что быстрее будет так ;)
Собсна все! make и ищем так вожделенный нами pxegrub.