prst 0 12 февраля, 2007 Опубликовано 12 февраля, 2007 · Жалоба С каким bootargs запускаемся ? Поставь пару printk чтобы посмотреть где останавливается Судя по тому что ты таки исправил ошибку machine ID кернел у тебя таки грузится я вот тоже неделю или больше об этом подозреваю что грузится но выводит не туда.... но проверить это так и не удалось вот bootargs виден с скрина Area 3: C0028000 to C083FFFF *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 AT91RM9200_board$ printenv bootargs=root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=32M bootcmd=cp.b C002A000 20A00000 200000; bootm 20A00000 bootdelay=4 baudrate=115200 ethaddr=11:11:11:11:11:11 ipaddr=192.168.1.123 serverip=192.168.1.1 netmask=255.255.255.0 bootfile="uImage" stdin=serial stdout=serial stderr=serial Environment size: 331/8188 bytes AT91RM9200_board$ вот он bootargs=root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=32M в параметрах "Boot options" кернела сказано cat .config |grep CMDLINE CONFIG_CMDLINE="mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw" CONFIG_MTD_CMDLINE_PARTS=y пробовал ttyS4 - (как DBGU) - ни чего не менялось... был кернель 2.6.16 намекнули что может версия нета(но ведь у других же работает 2.6.16), после вопроса об этом на lists.arm.linux.org.uk... решил на 2.6.19 попробовать... пропатчил патчем от maxim, собрал... щяс уже воюю с 2.6.19 - все та же ерунда.... TFTP from server 192.168.1.1; our IP address is 192.168.1.123 Filename 'uImage'. Load address: 0x20800000 Loading: T ################################################################# ################################################################# ####################################################### done Bytes transferred = 942294 (e60d6 hex) AT91RM9200_board$ bootm ## Booting image at 20800000 ... Image Name: Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 942230 Bytes = 920.1 kB Load Address: 20008000 Entry Point: 20008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting kernel ... такое впечатление что кернель наботает но выводит инфо кудато в другое место... как проверить даже не знаю... разъем на плате лиш один и тот на DBGU, для перевода его в ttyS0 нада передергивать джампера, пробовал передергивать на ttyS0 во время загрузки кернеля, ни каких месаджей на нем небыло... а результат все тот же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lelick 0 12 февраля, 2007 Опубликовано 12 февраля, 2007 · Жалоба tftpboot 20007fc0 uImage;bootm 20007fc0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 13 февраля, 2007 Опубликовано 13 февраля, 2007 · Жалоба tftpboot 20007fc0 uImage;bootm 20007fc0 а 20007fc0 - это что за адрес? AT91RM9200_board$ tftpboot 20007fc0 AT91C_BASE_SPI->SPI_SR = 100F2 AT91C_BASE_PMC->PMC_MCKR = 302 change on AT91C_BASE_PMC->PMC_MCKR = TFTP from server 192.168.1.1; our IP address is 192.168.1.123 Filename 'uImage'. Load address: 0x20007fc0 Loading: ################################################################# ################################################################# ######################################################## done Bytes transferred = 950008 (e7ef8 hex) AT91RM9200_board$ bootm 20007fc0 Booting image at 20007fc0 ... Image Name: Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 949944 Bytes = 927.7 kBSize: 942182 Bytes = 920.1 kB Load Address: 20008000 Entry Point: 20008000 Load A Verifying Checksum ... OK Entry Point: Uncompressing Kernel Image ... Error: inflate() returned -3 Verifying Checksum ... OK########0]b GUNZIP ERROR - must RESET board to recoverÿ и перезагружается... я так понял из опыта что такое крайне редко и когда чтото вообще не верно узывается... вероятно 20007fc0 не нравится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lelick 0 13 февраля, 2007 Опубликовано 13 февраля, 2007 · Жалоба эти адреса зависят от утилиты mkinitrd, которой нужно обработать собранный кернел; утилита находится в u-boot/tools, для файловой системой с рам диском его тоже нужно обработать этой утилитой; "mem=16M console=ttyS0,115200 root=/dev/ram0 init=/linuxrc rw panic=10"; для старта системы c рамдиска использую "tftpboot 20007fc0 uuImage;tftpboot 20300000 ramdisk;bootm 20007fc0 20300000"; пользуюсь не зипованными ramdisk и кернел Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vanokuten 0 13 февраля, 2007 Опубликовано 13 февраля, 2007 · Жалоба а вообще включен в Linux kernel CONFIG_SERIAL_AT91=y CONFIG_SERIAL_AT91_CONSOLE=y ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 13 февраля, 2007 Опубликовано 13 февраля, 2007 · Жалоба З.Ы.: да еще на AT45DB321 запись у romboot'а глючит А поподробнее можно? а то у меня как раз 321-ая и есть проблемы, про которые я здесь хотел вычитать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 13 февраля, 2007 Опубликовано 13 февраля, 2007 · Жалоба а вообще включен в Linux kernel CONFIG_SERIAL_AT91=y CONFIG_SERIAL_AT91_CONSOLE=y ? включено, вот # # Non-8250 serial port support # CONFIG_SERIAL_ATMEL=y CONFIG_SERIAL_ATMEL_CONSOLE=y CONFIG_SERIAL_ATMEL_TTYAT=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 пробовал и с CONFIG_SERIAL_ATMEL_TTYAT is not set полностью конфиг тот что уже пересобранный раз 50, не получаетчя почему то прицепить :ohmy: прийдется по кускам показывать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vanokuten 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба >bootargs=root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=32M >bootcmd=cp.b C002A000 20A00000 200000; bootm 20A00000 А kernel который в dataflash он грузится? или вообще не грузится ни самосборный kernel ни тот что шел с платой? Пропробуй грузить kernel адресу 0x20A00000 как у тебя в bootcmd указано Также попробуй грузить командой не bootm а просто go Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба >bootargs=root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=32M >bootcmd=cp.b C002A000 20A00000 200000; bootm 20A00000 я вот щяс только заподозгил негаразд с вот этим - bootargs=root=/dev/ram, что то мне кажется что тут должно быть - bootargs "root=/dev/ram" щяс буду пробовать еще так... А kernel который в dataflash он грузится? или вообще не грузится ни самосборный kernel ни тот что шел с платой? я делаю все как по статье - http://heavy-online.ru/arm-linux/ с платой ни чего не шло, это наша самодельная плата... ядро пробовал разное грузить, и то что собрано под EVM9200 с сайта http://heavy-online.ru/arm-linux/ (версия 2.6.16 с патчами) и то что я сам кучу раз собрал(версия 2.6.16 с патчами и версия 2.6.19 с патчами, на последнем я остановился)... может у кого-то есть возможность дать мне конфиг от кернела, свой что бы я мог сравнить его с моим конфигом (хотя я и у уверен что у меня поряк) ? я гружу его по tftp в манять по адресу 20800000 и из памяти командой bootm его запускаю... вобщемто все же видно по скринам которыя я выкладывал.... Пропробуй грузить kernel адресу 0x20A00000 как у тебя в bootcmd указано Также попробуй грузить командой не bootm а просто go я его(упакованный uImage) гружу по tftp по адрессу 0x20800000 ( или 0x20A00000) щяс еще попробую не упакованный... попробовал, вот что выдает на команду iminfo ## Checking Image at 20800000 ... Bad Magic Number ...в статье сказано что именно упакованный надо грузить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба З.Ы.: да еще на AT45DB321 запись у romboot'а глючит А поподробнее можно? а то у меня как раз 321-ая и есть проблемы, про которые я здесь хотел вычитать. а что за проблеммы у Вас с romboot? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба З.Ы.: да еще на AT45DB321 запись у romboot'а глючит А поподробнее можно? а то у меня как раз 321-ая и есть проблемы, про которые я здесь хотел вычитать. а что за проблеммы у Вас с romboot? Сначала по Х-модему грузится, потом, как написано на http://heavy-online.ru/arm-linux/ гружу его же по адресу 0хС0000000, выдается Modification of Arm Vector 6 :421a015 Write 10240 bytes in DataFlash [0xc0000000] Verify Dataflash: Failed Hit a Key! и можно все начинать сначала. Причем я уже и память и флешку тестировал, грешил на них, все тесты вроде проходят. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба Сначала по Х-модему грузится, потом, как написано на http://heavy-online.ru/arm-linux/ гружу его же по адресу 0хС0000000, выдается Modification of Arm Vector 6 :421a015 Write 10240 bytes in DataFlash [0xc0000000] Verify Dataflash: Failed Hit a Key! и можно все начинать сначала. Причем я уже и память и флешку тестировал, грешил на них, все тесты вроде проходят. могу сказать что мне пришлось изрядно перелокопатьти исходник от romboot что бы найти подобную проблему и устранить причину... обратите внимание на ваш код возврата :421a015 и сравните его с датащитом на AT91RM9200 стр. 87,112 - там расписано что Вы должны получить для вашей AT45DB321 ... кстати, в моем случае устранение проблеммы свелось к понижению скорости работы SPI в 32 раза в конфигурационном регистре(смотри в сторону - DIV32). Рекомендую перечитать этот пост внимательно с начала... может это ваш случай? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба С каким bootargs запускаемся ? Поставь пару printk чтобы посмотреть где останавливается Судя по тому что ты таки исправил ошибку machine ID кернел у тебя таки грузится честно говоря я уже и не уверен что грузится.... вот что нашел в исходнике от u-boot-1.1.6 u-boot-1.1.6-worked-070209/cpu/arm920t/at91rm9200/armlinux.c :258 ... /* we assume that the kernel is in place */ printf ("\nStarting kernel ...\n\n"); #ifdef CONFIG_USB_DEVICE { extern void udc_disconnect (void); udc_disconnect (); } #endif cleanup_before_linux (); theKernel (0, bd->bi_arch_number, bd->bi_boot_params); } ... так что если верить переводу /* we assume that the kernel is in place */ перевести можно как - /* мы допускаем что зерно `размещено (или на месте, или поступает) ` */ так что мессадж "Starting kernel ..." не гарантирует что оно загрузилось вообще... но если верить всему сообщению AT91RM9200_board$ bootm ## Booting image at 20800000 ... Image Name: Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 949944 Bytes = 927.7 kB Load Address: 20008000 Entry Point: 20008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK Starting kernel ... ... то можно увидить что оно распоковалось, но не факт что загрузилось.... плюс ко всему еще одно смутное место u-boot-1.1.6-worked-070209/board/at91rm9200dk/at91rm9200dk.c int board_init (void) { /* Enable Ctrlc */ console_init_f (); /* Correct IRDA resistor problem */ /* Set PA23_TXD in Output */ ((AT91PS_PIO) AT91C_BASE_PIOA)->PIO_OER = AT91C_PA23_TXD2; /* memory and cpu-speed are setup before relocation */ /* so we do _nothing_ here */ /* arch number of AT91RM9200DK-Board */ gd->bd->bi_arch_number = MACH_TYPE_AT91RM9200; /* adress of boot parameters */ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; return 0; } здесь вооще странное место gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; почему именно + 0x100 ??? вот из хидера at91rm9200dk.h #define PHYS_SDRAM 0x20000000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lelick 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба должна быть выполнена следующая последовательность действий, для загрузки с рамдиска: 1) собираем ядро, с поддержкой initrd 2) собираем файловую систему пакетом buildroot или берем готовую 3) обрабатываем их утилитой mkinitrd из uboot/tools, в качестве параметров к этой утилите задаются адреса загрузки и старта 4)загружаем ядро, загружаем файловую систему 5)запускаемся результат: u-boot> tftpboot 20007fc0 extuuImage eth: setting MAC address to 00:12:34:56:78:9d PHY: RTL8201(B)L detected Link: 100baseTX Full Duplex end eth_init TFTP from server 192.168.4.28; our IP address is 192.168.4.172 Filename 'extuuImage'. Load address: 0x20007fc0 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###### done Bytes transferred = 2688528 (290610 hex) u-boot> tftpboot 20300000 extramdisk2 eth: setting MAC address to 00:12:34:56:78:9d PHY: RTL8201(B)L detected Link: 100baseTX Full Duplex end eth_init TFTP from server 192.168.4.28; our IP address is 192.168.4.172 Filename 'extramdisk2'. Load address: 0x20300000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ####### done Bytes transferred = 5357632 (51c040 hex) u-boot> bootm 20007fc0 20300000 ## Booting image at 20007fc0 ... Image Name: Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2688464 Bytes = 2.6 MB Load Address: 20007fc0 Entry Point: 20008000 Verifying Checksum ... OK XIP Kernel Image ... OK ## Loading Ramdisk Image at 20300000 ... Image Name: Image Type: ARM Linux RAMDisk Image (uncompressed) Data Size: 5357568 Bytes = 5.1 MB Load Address: 20300000 Entry Point: 20300000 Verifying Checksum ... OK ## Transferring control to Linux (at address 20008000) ... Starting kernel ... begin cleanup_before_linux end cleanup_before_linux ## Transferring control to Linux (at address 20008000) ... Linux version 2.6.13 (root@debian) (gcc version 3.4.3) #412 Mon Jan 8 04:32:35 MSK 2007 CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T) Machine: Atmel AT91RM9200-DK Memory policy: ECC disabled, Data cache writeback CPU0: D VIVT write-back cache CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets Built 1 zonelists Kernel command line: mem=16M console=ttyS0,115200 root=/dev/ram0 init=/linuxrc rw panic=10 AT91: 128 gpio irqs in 4 banks PID hash table entries: 128 (order: 7, 2048 bytes) Console: colour dummy device 80x30 Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 16MB = 16MB total Memory: 8200KB available (2233K code, 411K data, 88K init) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd Freeing initrd memory: 5232K NET: Registered protocol family 16 SCSI subsystem initialized NetWinder Floating Point Emulator V0.97 (double precision) NTFS driver 2.1.23 [Flags: R/O]. JFFS2 version 2.2. (NAND) © 2001-2003 Red Hat, Inc. Initializing Cryptographic API AT91 Real Time Clock driver. AT91 SPI driver loaded ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL ttyS1 at MMIO 0xfefc0000 (irq = 6) is a AT91_SERIAL ttyS2 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL ttyS3 at MMIO 0xfefc8000 (irq = 8) is a AT91_SERIAL ttyS4 at MMIO 0xfefcc000 (irq = 9) is a AT91_SERIAL io scheduler noop registered io scheduler anticipatory registered RAMDISK driver initialized: 1 RAM disks of 6000K size 1024 blocksize loop: loaded (max 8 devices) eth0: Link now 100-FullDuplex eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:12:34:56:78:9d) eth0: Realtek RTL8201(B)L PHY at91_dataflash: AT45DB642 detected [spi0] (8650752 bytes) Creating 3 MTD partitions on "AT45DB642.spi0": 0x00000000-0x00042000 : "bootloader" 0x00042000-0x0035a000 : "kernel" 0x0035a000-0x00840000 : "filesystem3" at91_init Adapter name AT91RM9200 Registered as minor 0 Found AT91 i2c NET: Registered protocol family 2 IP route cache hash table entries: 256 (order: -2, 1024 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered IPv4 over IPv4 tunneling driver NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 8 NET: Registered protocol family 20 RAMDISK: ext2 filesystem found at block 0 RAMDISK: Loading 5232KiB [1 disk] into ram disk... done. VFS: Mounted root (ext2 filesystem). Freeing init memory: 88K eth0: Link now 100-FullDuplex Initializing random number generator... urandom start: failed. done. Starting network... /bin/sh: run-parts: not found /bin/sh: run-parts: not found Welcome to the Erik's uClibc development environment. uclibc login: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prst 0 14 февраля, 2007 Опубликовано 14 февраля, 2007 · Жалоба должна быть выполнена следующая последовательность действий, для загрузки с рамдиска: 1) собираем ядро, с поддержкой initrd 2) собираем файловую систему пакетом buildroot или берем готовую 3) обрабатываем их утилитой mkinitrd из uboot/tools, в качестве параметров к этой утилите задаются адреса загрузки и старта 4)загружаем ядро, загружаем файловую систему 5)запускаемся 1) в ядре сказано что с поддержкой initrd < > Normal floppy disk support (NEW) < > Loopback device support < > Network block device support <*> RAM disk support (16) Default number of RAM disks (8192) Default RAM disk size (kbytes) (1024) Default RAM disk block size (bytes) [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support < > Packet writing on CD/DVD media < > ATA over Ethernet support 2),3) - пока не делал - нужно сначало что бы стартонуло ядро, позже разумеется буду делать файловую систему 4) я хочу сначала запустить только ядро, без файловой системы 5) вот это и есть - гвоздь программы %) eth: setting MAC address to 00:12:34:56:78:9d PHY: RTL8201( B) L detected Link: 100baseTX Full Duplex end eth_init просто инетерсно, а откуда эти строки? это ваши debug - printf() или какаято версия U-Boot специфическая у Вас? bootm 20007fc0 20300000 второй адрес что означает, это адрес initrd? если верить сайту автора убута http://www.denx.de/wiki/view/DULG/UBootCmdGroupExec#Section_5.9.4.2. To boot a Linux kernel image without a initrd ramdisk image, the following command can be used: => bootm ${kernel_addr} If a ramdisk image shall be used, you can type: => bootm ${kernel_addr} ${ramdisk_addr} в моем случае, я второй не указываю... begin cleanup_before_linux end cleanup_before_linux а эти строчки откуда взялись? ## Transferring control to Linux (at address 20008000) ... Linux version 2.6.13 (root@debian) (gcc version 3.4.3) #412 Mon Jan 8 04:32:35 MSK 2007 .... вот это я уже просто мечтаю получить.... вот что говорит bdinfo у меня, если это может помочь хоть както... AT91RM9200_board$ bdinfo arch_number = 0x000000FB env_t = 0x00000000 boot_params = 0x20000100 DRAM bank = 0x00000000 -> start = 0x20000000 -> size = 0x02000000 ethaddr = 11:11:11:11:11:11 ip_addr = 192.168.1.123 baudrate = 115200 bps Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться