Page 2 of 5 FirstFirst 1234 ... LastLast
Results 16 to 30 of 62

Thread: BootUp from Network (PXE+TFTP)

  1. #16
    Quote Originally Posted by zingarini View Post
    Интересно, какие преимущества мы получаем при загрузке с внешнего устройства?
    Ну, например, возможность грузить экспериментальные ядра с возможностью "отката".

  2. #17
    abatapa спасибо за внимание, скажите пожалуйста, а влияет ли как нибудь загрузка с флеша на скорость работы роутера? Я имею ввиду, не разружается ли частично проц или оперативка роутера?

  3. #18
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Quote Originally Posted by ABATAPA View Post
    Ну, например, возможность грузить экспериментальные ядра с возможностью "отката".
    Вот ядро так загрузить как раз нельзя. Оно грузится только из встроенной флешки.

  4. #19
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Кому-то удалось грузить ядра по NFS командами из CFE, но лично я этот труд не осилил.

  5. #20
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Что-то я сомневаюсь. Либо CFE другое. У нас нет поддержки nfs. Есть tftp, но в этом случае всё равно программируется флешка.

  6. #21
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    В том-то и дело что наше - http://wl500g.info/showthread.php?t=4175

  7. #22
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    tftp:

    boot -elf -tftp 192.168.1.6:vmlinux_nfs

  8. #23
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Ядро - да, tftp - но флешка то в этом случае не должна шиться? Или я опять очевидного не заметил? А root'овая FS по NFS.

  9. #24
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,356
    Судя по выводу ядро действительно не шьётся.

  10. #25
    Join Date
    Sep 2006
    Location
    SVAO, Moscow, Russia
    Posts
    42

    Загружаем BartPE с роутера

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

    1) Подготовка образа BartPE
    • Скачать 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 с таким содержанием:
      Code:
      [SetupData]
      BootDevice = "ramdisk(0)"
      BootPath = "\i386\System32\"
      OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso"


    2) Настройка роутера
    • Установить tftp-hpa (вместе с ним установится ещё и xinetd)
      Code:
      ipkg install tftp-hpa
    • Создать папку на диске где будет храниться загрузочный образ (дефолтовая папка: /opt/tftpboot, хотя можно и любую другую использовать; у меня, например, /opt/files/boot), и скинуть 5 имеющихся файлов туда.

    • Прописать в файл /usr/local/etc/dnsmasq.conf такую строчку (если файла нет, то надо создать):
      Code:
      dhcp-boot=startrom.n12
      после чего сохранить его в флешпамяти роутера
      Code:
      flashfs save && flashfs commit && flashfs enable
    • При необходимости отредактировать файл /opt/etc/xinetd.conf под свои нужды (мне же было достаточно и дефолтовых настроек)

    • Отредактировать файл /opt/etc/xinetd.d/tftp
      Он должен выглядеть примерно так:
      Code:
      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


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

  11. #26

    Как увеличить Local Heap?

    Для эконмии времени при разработке ядро можно грузить не с флеша, а по сети.

    CFE> boot -elf -tftp host:vmlinux

    однако, в новых рутерах памяти, доступной CFE не хватает для размещения ядра. Вот распределение памяти WL-500g Premium V1:
    Code:
    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:
    Code:
    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?

  12. #27
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Quote Originally Posted by Sanvean View Post
    Собственно, вопрос: как можно увеличить размер Local Heap?
    Судя по исходникам CFE 1.0.37 - это забито в код CFG_HEAP_SIZE
    А с чего ты взял что не хватает именно heap'а? какое сообщение об ошибке?

  13. #28
    Точно не помню. Но сомнений нет -- ругается именно на то, что ядро не лезет в память. Ну и собственно, на премиуме я не могу по сети загрузиться, а в делюксе могу.

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

    Code:
    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
    Last edited by Sanvean; 29-01-2009 at 20:08.

  14. #29
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Тогда ой. Запастись программатором (или другом с программатором) на случай краха, и, перекрестившись ,перекомпилить и перепрошить CFE.

  15. #30
    У меня для такого случая есть WL-500gE с горелым WiFi =)

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

Page 2 of 5 FirstFirst 1234 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •