попробуй и проверь;)
Printable View
попробуй и проверь;)
ну по словам Олега видно, что flashfs разархивируется в опиративку и следовательно её сьедает. т.е. поидее при загрузке с внешнего носитя её должно сьедаться меньше, вот я и спрашиваю на сколько? смыл будет в использовании внешней загрузки или так полмега выцарапаю и всё?
Здравствуйте.
Пытался установить debian на флешку, предварительно проверил возмодность загрузки c помощью дистрибутива puppy linux. Но биос хреноново поддерживат загрузку с флешек, определяет их как usb RMD-FDD, в результате ни один из испробованных загрузчиков нормально не работает. Загружаются только флешки отформатированные как superfloppy.
Провозившись с загрузчиками, удалил все файлы с флешки puppy и залил туда предварительно установленный на другую флешку debian, затем скопировал файлы из папки boot в корневой каталог и переименовал в vmlinuz и initrd.gz.
После этого вроде начало загружаться но когда стало подхотить к файловой системе написало
Unknown partition table
Примечательно что puppy нагло воспринимает флешку как ext3... Как заставить debian понимать superfloppy ?
Он ищет root filesystem как раз на sda. Сейчас ещё раз посмотрю.
Так... Флешку он умеет монтировать, но почему-то с неё дальше рамдиска не грузится... От чего так - Х.З. Пойду почитаю по-внимательнее.
Begin:waiting for root filesysten...
потом пишет иформацию о устройстве, и что он такую файловую систему не знает.
Затем выводится:
Done.
Check root = bootarg cat /proc/cdmline
or missing modules, devices: cat /proc/modules ls /dev
ALERT! does not exist. Droppin a shell !
Видимо эта файловая система записана как sda1...
Есть Dir-320, прошитый Олеговской прошивкой, все нормально. Интересует, возможно ли в целях экономии памяти уменьшить размер раздела tmpfs?
Code:[admin@my root]$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.9M 2.9M 0 100% /
tmpfs 14.7M 208.0K 14.5M 1% /tmp
/dev/scsi/host0/bus0/target0/lun0/part2
6.9G 3.6G 3.0G 55% /opt
Code:[admin@my root]$ free
total used free shared buffers cached
Mem: 30176 27884 2292 0 5036 12908
-/+ buffers/cache: 9940 20236
Swap: 509412 4780 504632
Насколько я знаю, память для tmpfs выделяется динамически... Хотя могу и ошибаться...
Здравствуйте, есть роутер Dlink Dir-320, хочу поставить прошивку из ветки RT-N, места на встроенной флешке естественно не хватит, значит надо грузиться с внешней, фак читал, но там не описано как из прошивки выдернуть файловую систему и распаковать...
думаю тема сейчас для многих актуальна =)
up, я не имею ввиду полностью грузить прошивку с ЮСБ, ядро во встроенном флеше, файловая система на внешней флешке, это уже проделывалось в теме http://wl500g.info/showthread.php?t=17915
но не описано как выдрать rootFS
Собственно пытаюсь заставить RT-N16 грузиться с внешней флэшки.
Прошивка от Олега
Пользуюсь вот этой инструкцией http://wl500g.info/showpost.php?p=18094&postcount=11
Но ничего не получается. Маршрутизатор упорно не хочет грузиться с USB устройства.
Может быть инструкция по ссылке выше только для ядер 2.4? у меня 2.6
Соответственно флэшка определяется не как /dev/scsi/host0/bus0/target0/lun0/part1 а как /dev/discs/disca/part1 и создается ссылка /dev/sda1
Поправку на это я сделал.
Причем совершенно не понятно как диагностировать проблему?
Когда после загрузки в консоле выполняешь набор команд
mount /dev/sda1 /mnt
pivot_root /mnt /mnt/test
mount -o move /test/proc /proc
mount -o move /test/dev /dev
mount -o move /test/tmp /tmp
mount -o move /test/sys /sys
То фэшка начинает пользоваться как корневая файловая система.
Я уже пересобрал прошивку засунув написанные команды в скрипт /linuxrc
Все равно маршрутизатор грузится не с флэшки!
Что делать? Куда смотреть?
Да, именно так. В 2.6 многое иначе.
Подучить linux, поправить linuxrc (см. issue 133). Читать про udev.Quote:
Что делать? Куда смотреть?
Мда....
Ну в общем для себя я проблему решил.
Если хочется все сделать без пересборки прошивки, то надо сделать все по инструкции http://wl500g.info/showpost.php?p=18094&postcount=11
Дополнительно надо заменить скрипт /tmp/local/sbin/pre-boot вот на такой
Если скрипта или каталогов нет, их надо создатьCode:#!/bin/sh
boot_dev=$(nvram get boot_dev)
if [ -n "$boot_dev" ]; then
insmod usbcore && insmod ehci-hcd
sleep 2s
insmod scsi_mod && insmod sd_mod && insmod usb-storage
sleep 2s
mount $boot_dev /mnt
pivot_root /mnt /mnt/mnt
mount -o move /mnt/proc /proc
mount -o move /mnt/dev /dev
mount -o move /mnt/tmp /tmp
mount -o move /mnt/sys /sys
umount /mnt
fi
при этом не забыть сохранить изменения ( flashfs save; flashfs commit)
Конечно не очень красиво получилось.
Правильнее было поправить /linuxrc
Будет время - займусь.