roboforum.ru

Технический форум по робототехнике.

mini2440 подготовка и размещение rootfs

Re: mini2440 подготовка и размещение rootfs

alien » 09 июл 2011, 16:08

bootargs console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootfstype=jffs2 ip=192.168.0.11:192.168.0.74:192.168.0.1

Если пытаюсь загрузиться с файла файловой системы JFFS2 то вот что получается.
При этом просто с 192.168.0.74:/var/tftproot грузится
localhost tftproot # ls
bin etc lib mnt proc rootfs sbin sys usr www
dev home linuxrc opt root root_qtopia.jffs2 sdcard tmp var

Код: Выделить всёРазвернуть
Loading from NAND 256MiB 3,3V 8-bit, offset 0x60000
   Image Name:
   Created:      2011-07-09   9:53:58 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2808368 Bytes =  2.7 MB
   Load Address: 30008000
   Entry Point:  30008000
## Booting kernel from Legacy Image at 32000000 ...
   Image Name:
   Created:      2011-07-09   9:53:58 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2808368 Bytes =  2.7 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.0-rc6ARM-linux-test+ (root@a1ien.n3t) (gcc version 4.4.3 (Gentoo 4.4.3-r2 p1.2) ) #3 Fri Jul 8 19:59:26 UTC 2011
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: MINI2440
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootf1
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 59300k/59300k available, 6236k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc4800000 - 0xf6000000   ( 792 MB)
    lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0027000   ( 124 kB)
      .text : 0xc0027000 - 0xc051cdc4   (5080 kB)
      .data : 0xc051e000 - 0xc0543d80   ( 152 kB)
       .bss : 0xc0543da4 - 0xc0580310   ( 242 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:85
irq: clearing subpending status 00000003
irq: clearing subpending status 00000002
Console: colour dummy device 80x30
console [ttySAC0] enabled
Calibrating delay loop... 201.52 BogoMIPS (lpj=503808)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
gpiochip_add: gpios 288..303 (GPIOK) failed to register
gpiochip_add: gpios 320..334 (GPIOL) failed to register
gpiochip_add: gpios 352..353 (GPIOM) failed to register
NET: Registered protocol family 16
MINI2440: Option string mini2440=5tb
MINI2440: 't' ignored, touchscreen not compiled in
MINI2440: LCD 0:240x320 1:800x480 2:1024x768 3:240x320 4:640x480 [5:240x320]
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, Copyright 2003-2006 Simtec Electronics
DMA channel 0 at c4804000, irq 33
DMA channel 1 at c4804040, irq 34
DMA channel 2 at c4804080, irq 35
DMA channel 3 at c48040c0, irq 36
S3C244X: Clock Support, DVS off
bio: create slab <bio-0> at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2440-i2c: slave address 0x10
s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
Advanced Linux Sound Architecture Driver Version 1.0.24.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) (SUMMARY)  ббL 2001-2006 Red Hat, Inc.
ROMFS MTD (C) 2007 Red Hat, Inc.
JFS: nTxBlock = 463, nTxLock = 3706
msgmni has been set to 115
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 60x53
fb0: s3c2410fb frame buffer device
s3c2440-uart.0: ttySAC0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: ttySAC1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: ttySAC2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
at24 0-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c2440-nand: Tacls=1, 9ns Twrph0=3 29ns, Twrph1=2 19ns
s3c24xx-nand s3c2440-nand: NAND soft ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Creating 4 MTD partitions on "nand":
0x000000000000-0x000000040000 : "u-boot"
uncorrectable error :
0x000000040000-0x000000060000 : "u-boot-env"
ftl_cs: FTL header not found.
0x000000060000-0x000000560000 : "kernel"
ftl_cs: FTL header not found.
0x000000560000-0x000010000000 : "root"
ftl_cs: FTL header not found.
dm9000 Ethernet Driver, V1.31
eth0: dm9000e at c48aa300,c48ac304 IRQ 51 MAC: 08:08:11:18:12:27 (chip)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
cpuidle: using governor ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
s3c-sdi s3c2440-sdi: powered down.
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: uda134x-hifi <-> s3c24xx-iis mapping ok
ALSA device list:
  #0: S3C24XX_UDA134X
TCP cubic registered
NET: Registered protocol family 17
Registering the dns_resolver key type
s3c-rtc s3c2410-rtc: setting system clock to 2011-07-09 15:05:08 UTC (1310223908)
dm9000 dm9000: eth0: link down
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
     device=eth0, addr=192.168.0.11, mask=255.255.255.0, gw=192.168.0.1,
     host=192.168.0.11, domain=, nis-domain=(none),
     bootserver=192.168.0.74, rootserver=192.168.0.74, rootpath=
dm9000 dm9000: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
VFS: Unable to mount root fs via NFS, trying floppy.
List of all partitions:
1f00             256 mtdblock0  (driver?)
1f01             128 mtdblock1  (driver?)
1f02            5120 mtdblock2  (driver?)
1f03          256640 mtdblock3  (driver?)
No filesystem could mount root, tried:  jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[<c002c5b0>] (unwind_backtrace+0x0/0xf4) from [<c0392c74>] (panic+0x58/0x190)
[<c0392c74>] (panic+0x58/0x190) from [<c0008e10>] (mount_block_root+0x1e0/0x220)
[<c0008e10>] (mount_block_root+0x1e0/0x220) from [<c0008ef4>] (mount_root+0xa4/0xc8)
[<c0008ef4>] (mount_root+0xa4/0xc8) from [<c0009070>] (prepare_namespace+0x158/0x1b0)
[<c0009070>] (prepare_namespace+0x158/0x1b0) from [<c00083e8>] (kernel_init+0xdc/0x110)
[<c00083e8>] (kernel_init+0xdc/0x110) from [<c00287f8>] (kernel_thread_exit+0x0/0x8)

Re: mini2440 подготовка и размещение rootfs

setar » 11 июл 2011, 13:30

я бы задумался над строчкой
Код: Выделить всёРазвернуть
Kernel command line: console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootf1

и попытался понять как она получилась в результате
bootargs console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootfstype=jffs2 ip=192.168.0.11:192.168.0.74:192.168.0.1

Re: mini2440 подготовка и размещение rootfs

alien » 11 июл 2011, 17:34

Ну я легко отвечу на этот вопрос. Дело в том что оно просто не влезло в консоль полностью ))
Цифра 1 в конц от 192.168.0.1

Re: mini2440 подготовка и размещение rootfs

setar » 12 июл 2011, 00:31

если мне не изменяет память то дело может быть не только в консоли
параметры ядра это текст 255 символов в длинну, хорошо бы проверить после задания этой переменной

Добавлено спустя 17 минут 58 секунд:
посмотрел ещё раз лог загрузки
проблему не увидел, но ядро явно не полное :
Код: Выделить всёРазвернуть
Creating 4 MTD partitions on "nand":
0x000000000000-0x000000040000 : "u-boot"
uncorrectable error :
0x000000040000-0x000000060000 : "u-boot-env"
ftl_cs: FTL header not found.
0x000000060000-0x000000560000 : "kernel"
ftl_cs: FTL header not found.
0x000000560000-0x000010000000 : "root"
ftl_cs: FTL header not found.

попробуйте с готовым точно работающим ядром (из первого поста возьмите)

Re: mini2440 подготовка и размещение rootfs

alien » 17 июл 2011, 18:38

Специально взял ядро отсюда http://projects.roboforum.ru/mini2440/k ... 2.2/uImage
Собственно теже ошибки.
Код: Выделить всёРазвернуть
Uncompressing Linux...........................................................................................................................................
Linux version 2.6.32.2-Roboforum (root@calculate) (gcc version 4.4.3 (Gentoo 4.4.3-r2 p1.2) ) #10 Fri Sep 3 16:02:16 MSD 2010
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: FriendlyARM Mini2440 development board
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootf1
.........
IP-Config: Complete:
     device=eth0, addr=192.168.0.11, mask=255.255.255.0, gw=192.168.0.1,
     host=192.168.0.11, domain=, nis-domain=(none),
     bootserver=192.168.0.74, rootserver=192.168.0.74, rootpath=
Looking up port of RPC 100003/2 on 192.168.0.74
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Looking up port of RPC 100005/1 on 192.168.0.74
VFS: Unable to mount root fs via NFS, trying floppy.
List of all partitions:
1f00             384 mtdblock0 (driver?)
1f01             128 mtdblock1 (driver?)
1f02            5120 mtdblock2 (driver?)
1f03             128 mtdblock3 (driver?)
1f04          125312 mtdblock4 (driver?)
No filesystem could mount root, tried:  jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
Backtrace:
[<c0033228>] (dump_backtrace+0x0/0x10c) from [<c039cc6c>] (dump_stack+0x18/0x1c)
r7:c042a9ac r6:00008000 r5:c3812006 r4:c04c8270
[<c039cc54>] (dump_stack+0x0/0x1c) from [<c039ccbc>] (panic+0x4c/0x114)
[<c039cc70>] (panic+0x0/0x114) from [<c0008e30>] (mount_block_root+0x1e8/0x228)
r3:00000000 r2:80000000 r1:c3823f60 r0:c042a944
[<c0008c48>] (mount_block_root+0x0/0x228) from [<c0008f34>] (mount_root+0xc4/0xfc)
[<c0008e70>] (mount_root+0x0/0xfc) from [<c0009094>] (prepare_namespace+0x128/0x18c)
r5:c001f81d r4:c04c7ac0
[<c0008f6c>] (prepare_namespace+0x0/0x18c) from [<c00084b0>] (kernel_init+0xe0/0x114)
r5:c001ea08 r4:c04c7880
[<c00083d0>] (kernel_init+0x0/0x114) from [<c004d4c0>] (do_exit+0x0/0x620)
r5:00000000 r4:00000000

Также проверил Kernel command line путем дублирование лога в файл. там Kernel command line полностью как должна быть.

Тут на LOR зада вопрос и получил ответ, что образ файловой системы по NFS нельзя загрузить(точнее таки образом как вы описываете).

Re: mini2440 подготовка и размещение rootfs

setar » 18 июл 2011, 21:19

8) ну передавайте им привет
не из головы же я логи взял ...

Добавлено спустя 2 минуты 2 секунды:
читайте пост forum96/topic8490-15.html#p174562 и выше немного - та же проблема что и у Вас

Re: mini2440 подготовка и размещение rootfs

alien » 18 июл 2011, 23:53

У меня jffs2 не модулем. Создав ФС на nand флеше все грузится по NFS нет.
Версия ядра одна и таже.
Дублирую для пояснения. Правим cmd line ядра на загрузку по NFS.
Если просто nfsroot=192.168.0.74:/var/tftproot/ то все ок рузится. То есть NFS работает.
Если nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 rootfstype=jffs2 то тогда то-что я писал. (да файл там есть)
Если root=/dev/mtdblock3 rootfstype=jffs2 то тоже грузит.
Что имеем. jffs2 в ядру есть NFS доступен. Еще варианты?

OFFTOP:
Длинна Kernel command line - 1024 символа.

Re: mini2440 подготовка и размещение rootfs

setar » 19 июл 2011, 18:09

видимо в серию экспериментов вкралась ошибка :)
в посте №212312 Вы взяли ядро без поддержки JFFS2 (это явно видно по логам), и не говорите что это ядро по указанной ссылке
там нет инициализации ("JFFS2 version 2.2. (NAND) (SUMMARY) ббL 2001-2006 Red Hat, Inc.")
в посте выше как я и говорил ядро с нарушенной поддержкой mtd (это кстати не должно мешать загрузке, но видимо в ядре что то ещё не так)

Re: mini2440 подготовка и размещение rootfs

alien » 19 июл 2011, 18:35

Я не знаю как еще вам объяснить.
Ядро в посте №212312 взято по той ссылке. Если вы не верите можете сравнить время компиляции.
Дальше..
там нет инициализации ("JFFS2 version 2.2. (NAND) (SUMMARY) ббL 2001-2006 Red Hat, Inc.")

А вас не смутил укороченный лог?
Точнее вот это.
Kernel command line: console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=5tb nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 root=/dev/nfs rw rootf1
.........
IP-Config: Complete:

Я вас заверяю там были строчки с JFFS2 version 2.2. (NAND)
Дальше.
в посте выше как я и говорил ядро с нарушенной поддержкой mtd (это кстати не должно мешать загрузке, но видимо в ядре что то ещё не так)

Вы не поверите. НО с тем ядром который лог я выкладывал первыйм ядро отлично стартует если jffs2 на nand флеше расположена.
Как так может быть что
Если просто nfsroot=192.168.0.74:/var/tftproot/ то все ок рузится. То есть NFS работает.
Если nfsroot=192.168.0.74:/var/tftproot/root_qtopia.jffs2 rootfstype=jffs2 то тогда то-что я писал. (да файл там есть)
Если root=/dev/mtdblock3 rootfstype=jffs2 то тоже грузит.

Re: mini2440 подготовка и размещение rootfs

k0der1 » 10 сен 2011, 22:59

setar писал(а):# zcat /proc/config.gz > .config # здесь мы получам конфигурацию текущего ядра, эта возможность может не поддерживаться ядром или вы и так знаете что текущий конфиг ядра актуален - тогда пропускаем

не могу получить конфиг запущеного ядра? нет такого файла. как я еще могу получить конфиг?

Re: mini2440 подготовка и размещение rootfs

setar » 31 окт 2011, 13:26

если в запущенном ядре нет такого файла то никак (не была включена опция хранить конфиг)


Rambler\'s Top100 Mail.ru counter