дело точно не в этом, по-моему даже в windows научились сейчас делать как в Linux - вся свободная память отводится под буфры и кеши и совобождается по первому запросу.
зачем такие выкрутасы на плате где заранее известно на каком носителе находится корневая ФС и какие нужны драйверы ?
Потому что в uboot для моего проца нет поддержки SD, usb и тп.
Как ее туда запихнуть я не особо понимаю...
Проверил еще один момент:
Скомпилил линукс без переключения рута. Примонтировал SD и также попробовал по фтп закинуть тот же файл - результат тот же...
а что вы ожидали если копируете в корень который в рам ?
mount /dev/mmcblk0p1 /test
и пробуйте запускать после этого
busybox tcpsvd -vE 0.0.0.0 21 ftpd -w /test
PS только я все равно не понял - зачем промежуточная initramfs если
она что - внезапно появляется в убуте после этого ? ядро-то вы всеравно откуда-то загружаете, а где у него корень будет убуту уже все равно, ядро само знает о своих устройствах.
PPS последний раз несколько лет назад когда мне нужны были такие выкрутасы - пользовался pivot_root
Ды нее..
/test это на карте памяти папка созданная отдельно. У меня один раздел на карте памяти и я его и под рут и для копирования файлов использую...
Я ж пробовал без рута на карте (рут в initramfs), монтировал /dev/mmcblk0p1 в папку /mnt и пробовал запускать tftp - тоже самое..
Uboot грузит ядро по tftp с роутера..
Да и до сих пор понять не могу..
Да, есть у меня драйвер SD в ядре, но вот как ядру указать чтоб монтировал рут раздел на SD карте? я пробовал указывать root=/dev/mmcblk0p1 - ноль эмоций - все равно монтирует initramfs.
Может надо ядро собрать без initramfs опции, иль что включить надо?
Кароче ))
Собрал ядро без initramfs, указал root=/dev/mmcblk0p1 init=/bin/init
Все загрузилось замечательно и busybox запустился...
Решило мою вторую проблему - скорость работы сети - стала в разы больше :) Теперь хоть копирует по tftp 1мб (а до этого 20 кб/c) в сек)))
Но вот ftpd (busybox) по ходу косячный... вылетает все равно.. смотрел исходники его.. там что то понаделали в связи с отсутствием MMU.. даж толком понять не смог... Вылетает то после того как полностью я передал файл..
И самое интересное что файл то передается полностью и лежит в папке /test