Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
michael_s (Guest)
Добавлено 07.04.2009 12:28 Редактировалось 07.04.2009 12:28 Сообщение: 71
michael_s (Guest)

Скомпилил ядро 2.6.29
при загрузке платы ругается в самом конце

can't open /dev/ttyS0: Permission denied
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 07.04.2009 17:29 Редактировалось 07.04.2009 17:29 Сообщение: 72
repairman (Guest)

От смены версии ядра в доступе к tty ничего не меняется...
Какие права стоят у /dev/ttyS0 ?? При загрузке ядра обнаруживается ttyS0 ??
Спуститься к концу Подняться к началу
alexvm (Guest)
Добавлено 15.04.2009 11:30 Редактировалось 15.04.2009 11:30 Сообщение: 73
alexvm (Guest)

Repairman, добрый день. Возник вопрос вот по этому утверждению

Цитата
Кстати, как выяснилось, для ядер >2.6.26 никакие патчи не требуются... чтобы ядро завелось/запустилось/загрузилось достаточно взять defconfig от at91sam9260ek и изменить частоту резонатора в [kernel src]/arch/arm/mach-at91/board/board-sam9260ek.c

http://www.starterkit.ru/new/index.php?name=Forums&op=showtopic&id=152&pagenum=6

беру ядро 2.6.28.9,

выполняю

make ARCH=arm at91sam9260ek_defconfig
make ARCH=arm menuconfig

меняю частоту кварца, затем

./make_kernel

В результате размер запакованного ядря > 4 МБ и ситуация, как у автора ветки.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно alexvm 15.04.2009 г. в 11:33:10
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 15.04.2009 17:15 Редактировалось 15.04.2009 17:15 Сообщение: 74
repairman (Guest)

Что такое "make_kernel" ???

Сборка (для моего кросса, свой префикс ставьте):
Код

make ARCH=arm CROSS_COMPILE=armv5l-linux-uclibc-


zImage = 1 315 880 байт.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 15.04.2009 г. в 17:26:40
Спуститься к концу Подняться к началу
alexvm (Guest)
Добавлено 15.04.2009 17:27 Редактировалось 15.04.2009 17:27 Сообщение: 75
alexvm (Guest)

Цитата
Что такое "make_kernel" ???


Это скрипт для создания zImage с диска, который идет с бордой.

Код

#!/bin/sh

make -j3 ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
arm-none-linux-gnueabi-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -c -9 linux.bin > linux.bin.gz
./mkimage -A arm -O linux -T kernel -C gzip -a 0x20008000 -e 0x20008000 -n "Linux Kernel Image" -d linux.bin.gz zlinux
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install
cp zlinux /var/tftpboot


Цитата
zImage = 1 315 880 байт.


Если не трудно, не могли бы выложить свой конфиг?
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 15.04.2009 17:38 Редактировалось 15.04.2009 17:38 Сообщение: 76
repairman (Guest)

Для конфига, получаемого по at91sam9260ek_defconfig, БЕЗ ПАТЧЕЙ И БЕЗ КАКИХ-ЛИБО ИЗМЕНЕНИЙ:

Ядро: 2.6.29.1, измененена 1 строка - частота резонатора в [kernel src]/arch/arm/mach-at91/board/board-sam9260ek.c.
zImage : 1 143 512 байт

Загрузка ядра:
Код

U-Boot> bootm 21000000
## Booting image at 21000000 ...
Image Name: linux-2.6
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1143512 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux........................................................................... done, booting the kernel.
Linux version 2.6.29.1 (repman@repairman._____.ru) (gcc version 4.2.4) #1 Wed Apr 15 17:30:03 MSD 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 200 MHz, master 100 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: root=/dev/ram rw initrd=0x2114A000,6000000 ramdisk_size=15360 ip=10.0.2.250:10.0.2.1:10.0.2.254:255.255.255.0 console=ttyS0,115200,mem=M
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
console [ttyS0] enabled
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 24204KB available (2068K code, 188K data, 112K init)
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 296 bytes
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 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
NET: Registered protocol family 1
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 5856K
NetWinder Floating Point Emulator V0.97 (double precision)
msgmni has been set to 58
io scheduler noop registered
io scheduler anticipatory registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
brd: module loaded
ssc ssc.0: Atmel SSC device at 0xc2828000 (irq 14)
eth0 (macb): not using net_device_ops yet
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (04:25:fe:ed:00:18)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
Driver 'sd' needs updating - please use bus_type methods
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
IRQ 1/rtc0: IRQF_DISABLED is not guaranteed on shared IRQs
rtc-at91sam9 at91_rtt.0: rtc0: SET TIME!
i2c /dev entries driver
i2c-gpio i2c-gpio: using pins 55 (SDA) and 56 (SCL)
AT91SAM9 Watchdog: sorry, watchdog is disabled
at91_wdt: probe of at91_wdt failed with error -5
TCP cubic registered
NET: Registered protocol family 17
rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
IP-Config: Complete:
device=eth0, addr=10.0.2.250, mask=255.255.255.0, gw=10.0.2.254,
host=10.0.2.250, domain=, nis-domain=(none),
bootserver=10.0.2.1, rootserver=10.0.2.1, rootpath=
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 112K
eth0: link up (100/Full)
Initializing random number generator... done.
Starting network...
ip: RTNETLINK answers: File exists
Getting initial time via ntp.
Starting network time protocol daemon: ntpd.
Starting drоpbеar sshd: OK
Starting vsftpd: OK



Welcome to the Erik's uClibc development environment running on the AT91SAM9260EK
at91sam9260dfc login:


_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 15.04.2009 г. в 17:57:53
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 15.04.2009 17:40 Редактировалось 15.04.2009 17:40 Сообщение: 77
repairman (Guest)

Для преобразования zImage (получаемого при сборке в arch/arm/boot/) в uImage (нужную UBoot) использую скрипт:
Код

#!/bin/bash
./mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/zImage uImage
cp uImage /tftpboot


mkimage - утилита от UBoot... от моего UBoot 1.2.0 я прикрепил, для своего соберите сами из исходников UBoot.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 15.04.2009 г. в 17:52:09
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 15.04.2009 17:50 Редактировалось 15.04.2009 17:50 Сообщение: 78
repairman (Guest)

Во... только что заметил... никак, наконец, драйвер RTC вылечили...
Спуститься к концу Подняться к началу
alexvm (Guest)
Добавлено 15.04.2009 18:10 Редактировалось 15.04.2009 18:10 Сообщение: 79
alexvm (Guest)

Цитата
для своего соберите сами из исходников UBoot.


Я родной U-Boot не менял, следовательно, могу пользоваться mkimage, что идет на диске. Единственно, не понятно, зачем перед её вызовом присутствует запихивания бинарника в архив.
Спуститься к концу Подняться к началу
repairman (Guest)
Добавлено 15.04.2009 20:32 Редактировалось 15.04.2009 20:32 Сообщение: 80
repairman (Guest)

Цитата
Единственно, не понятно, зачем перед её вызовом присутствует запихивания бинарника в архив.


Наверное, создатель "родного" скрипта не знал, что в результате компиляции ядра уже есть сжатый образ... вместо zImage брал vmlinux...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно repairman 15.04.2009 г. в 21:07:27
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux