Цитата(PrSt @ May 16 2007, 14:17)
![*](style_images/1/post_snapback.gif)
это я уже чуть ли не наизусть изучил... вдоль и поперек перечитывал... до дыр в мониторе...
Цитата
+ к всему в ядре нада включить поддержку initrd обязательно, или при помощи initramfs
ессно поддержки всяких initrd и initramfs включены! иначе стал бы я спрашивать в чем засада?
похоже собака порылась в двух местах:
1. параметры mkfs при создании в образе ext2fs. похоже всякие закручивания гаек типа минимума размера секторов и прочей служебной инфы (чтоб высвободить побольше места на самом образе диска) возимели действие и, похоже, это было тоже составляющей невидимости образа диска в памяти.
2. изначально я сделал размер образа диска initrd около 1 метра, похоже что ядру этого было слишком-мало, что ли?... увеличил до 2 Мб вроде как что-то стало работать.
что именно, п.1 или п.2 виноват, я точно сказать не могу, так как после какого-то момента стало выдавать не сообщение о том что не может обнаружить образ рамдиска, а то что:
"RAMDISK: Loading 1024KiB [1 disk] into ram disk..." не прокатывает.
после того как я очутился на этом этапе я выполнил п.2 и у меня образ диска увиделся. теперь всё умирает на невидимости linuxrc и busybox вообще:
Код
......
ds1307 0-0068: setting the system clock to 2007-05-25 03:39:09 (1180064349)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 108K
Failed to execute /linuxrc. Attempting defaults...
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
хотя я кернелу честно передал все параметры и '/linuxrc' - это как раз и есть значение переданое в переменной 'init':
Код
U-Boot> printenv
......
bootargs=mem=16M initrd=0x20800000,0x500000 root=/dev/ram init=/linuxrc rw
.......
U-Boot>
если смонтировать образ initrd то всё честно лежит на местах:
Код
root@usbr:/usr/src/arm/busybox# mount -o loop ./initrd2.img /mnt/initrd/
root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/
total 17
drwxr-xr-x 2 root root 2048 May 25 03:20 bin
drwxr-xr-x 3 root root 1024 May 25 03:39 dev
lrwxrwxrwx 1 root root 11 May 25 03:39 linuxrc -> bin/busybox
drwx------ 2 root root 12288 May 25 03:39 lost+found
drwxr-xr-x 2 root root 1024 May 25 03:20 sbin
drwxr-xr-x 4 root root 1024 May 25 03:20 usr
root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/bin/busybox
-rwxr-xr-x 1 root root 581684 May 25 03:20 /mnt/initrd/bin/busybox
root@usbr:/usr/src/arm/busybox# file /mnt/initrd/bin/busybox
/mnt/initrd/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), stripped
root@usbr:/usr/src/arm/busybox#
да, еще кернел ругался что не может открыть initial console, но я ему помог её открыть уже не ругается...
буду далее разбираться что за фигня о5 происходит... :-/
получается что ramdisk ядро смонтировало, видит, но вот linuxrc или что-то еще выполнить ну никак не может