ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Про новые ядра для TionPro28  (Прочитано 21880 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: Про новые ядра для TionPro28
« Ответ #30 : 26 Июня, 2014, 14:57:37 »

Доброго времени суток!

Собрал образ, также собрал заново u-boot с патчем. Выполнил команду ./ltib -p boot_stream.spec -f.
 Кстати, ошибка недостатка памяти вылечилась установкой сжатия образа.
Далее попытался использовать скрипт mk_mx28_sd для записи SD-карточки непосредственно из-под ltib_host-ПК.
Карточка была успешно записана, далее вставлена в тион и запущена. Ввёл и успешно сохранил настройки для u-boot,
но вот запустить ядро не удается:
reading uImage

** Unable to read "uImage" from mmc 0:1 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX28 U-Boot >

содержимое команды printenv:
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
bootfile="uImage"
loadaddr=0x42000000
nfsroot=/home/notroot/nfs/rootfs
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serveri
p}:${nfsroot},v3,tcp fec_mac=${ethaddr}
bootcmd_net=run bootargs_nfs; dhcp; bootm
ethact=FEC0
mmc_root=/dev/mmcblk0p1 rw rootwait
bootargs_mmc=setenv bootargs ${bootargs} root=${mmc_root}
bootcmd_mmc=run bootargs_mmc; fatload mmc 0 ${loadaddr} uImage
bootcmd=run bootcmd_mmc; bootm
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.08 (Jun 26 2014 - 09:58:37)
bootargs=console=ttyAM0,115200n8 root=/dev/mmcblk0p1 rw rootwait

Environment size: 677/130044 bytes

Насколько я понимаю, данный скрипт формирует уже готовую к работе карточку, не требующую что-либо дополнительно записывать на неё?
Как сделать работоспособную карту используя этот скрипт?

Далее решил попробовать воспользоваться mfgtool.

сформировал архив КФС:
Для создания rootfs.tar.bz2 я использую не ltib, а команду
tar -C rootfs.tmp --owner=root --group=root -jcf rootfs.tar.bz2 .

(ключ -c указывается в нижнем регистре, иначе ошибка)

файлы ядра взял из /ltib/rootds/boot/
imx28_ivt_linux.sb
imx28_ivt_uboot.sb
uImage


Все успешно записалось, пытаюсь грузиться с NAND:
LLLLLLLFLCLLJUncompressing Linux... done, booting the kernel.
Linux version 2.6.35.3-571-gcca29a0 (root@paul-linux) (gcc version 4.4.4 (4.4.4_
09.06.2010) ) #1 PREEMPT Thu Jun 19 11:31:12 NOVST 2014
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Freescale MX28EVK board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: -e noinitrd console=ttyAM0,115200 root=/dev/mmcblk0p3 rw ro
otwait ip=none gpmi
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 120220k/120220k available, 10852k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xfde00000 - 0xffe00000   (  32 MB)
    vmalloc : 0xc8800000 - 0xf0000000   ( 632 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0030000   ( 160 kB)
      .text : 0xc0030000 - 0xc04f7000   (4892 kB)
      .data : 0xc04f8000 - 0xc0535960   ( 247 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:288
Console: colour dummy device 80x30
console [ttyAM0] enabled
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Security Framework initialized
SELinux:  Initializing.
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal
regulator: vdddbo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal
vddio = 3380000, val=10
regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal
regulator: overall_current: fast normal
regulator: vbus5v:
regulator: mxs-duart-1: fast normal
regulator: mxs-bl-1: fast normal
regulator: mxs-i2c-1: fast normal
regulator: mmc_ssp-1: fast normal
regulator: mmc_ssp-2: fast normal
regulator: charger-1: fast normal
regulator: power-test-1: fast normal
regulator: cpufreq-1: fast normal
i.MX IRAM pool: 124 KB@0xc8820000
Initializing GPMI pins
usb DR wakeup device is registered
IMX usb wakeup probe
audit: cannot initialize inotify handle
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Freescale USB OTG Driver loaded, $Revision: 1.55 $
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Advanced Linux Sound Architecture Driver Version 1.0.23.
Switching to clocksource mxs clock source
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
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 udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (junk in compressed archive); looks like an initrd

Freeing initrd memory: 4096K
Bus freq driver module loaded
IMX usb wakeup probe
usb h1 wakeup device is registered
mxs_cpu_init: cpufreq init finished
audit: initializing netlink socket (disabled)
type=2000 audit(0.670:1): initialized
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) В© 2001-2006 Red Hat, Inc.
msgmni has been set to 242
alg: No test for stdrng (krng)
cryptodev: driver loaded.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 100x30
mxs-duart.0: ttyAM0 at MMIO 0x80074000 (irq = 47) is a DebugUART
mxs-auart.0: ttySP0 at MMIO 0x8006a000 (irq = 112) is a mxs-auart.0
Found APPUART 3.1.0
mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1
Found APPUART 3.1.0
mxs-auart.2: ttySP2 at MMIO 0x8006e000 (irq = 114) is a mxs-auart.2
Found APPUART 3.1.0
mxs-auart.3: ttySP3 at MMIO 0x80070000 (irq = 115) is a mxs-auart.3
Found APPUART 3.1.0
brd: module loaded
loop: module loaded
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
Boot ROM: Version 1, Single-chip boot area, block mark swapping supported
Scanning for NAND Flash chips...
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit
)
Unrecognized NAND Flash device.
gpmi-nfc gpmi-nfc.0: Chip scan failed
gpmi-nfc: probe of gpmi-nfc.0 failed with error 1
mxs-spi mxs-spi.0: Max possible speed 24000 = 24000000/2 kHz
mxs-spi mxs-spi.0: at 0x80014000 mapped to 0xF0014000, irq=84, bus 1, DMA ver_ma
jor 4
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci: irq 93, io base 0x80080000
fsl-ehci fsl-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.0: irq 92, io base 0x80090000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mice: PS/2 mouse device common for all mice
input: mxs-kbd as /devices/platform/mxs-kbd.0/input/input0
input: MXS touchscreen as /devices/virtual/input/input1
MXS RTC driver v1.0 hardware v2.3.0
mxs-rtc mxs-rtc.0: rtc core: registered mxs-rtc as rtc0
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
Linux video capture interface: v2.00
mxs-pxp mxs-pxp.0: initialized
WARNING : No battery connected !
Aborting power driver initialization
mxs-battery: probe of mxs-battery.0 failed with error 1
mxs watchdog: initialized, heartbeat 19 sec
mxs-mmc: MXS SSP Controller MMC Interface driver
__mxs_reset_block(f0010000): timeout when resetting
__mxs_reset_block(f0010000): timeout when resetting
__mxs_reset_block(f0010000): timeout when resetting
mxs-mmc mxs-mmc.0: mmc0: MXS SSP MMC DMAIRQ 82 ERRIRQ 96
dcp dcp.0: DCP crypto enabled.!
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
sgtl5000_hw_read: read reg error : Reg 0x00
Device with ID register 0 is not a SGTL5000
mxs-spdif mxs-spdif.0: MXS SPDIF Audio Transmitter
No device for codec mxs spdif
No device for DAI mxs spdif
No device for DAI mxs-saif
No device for DAI mxs-spdif
asoc: mxs spdif <-> mxs-spdif mapping ok
ALSA device list:
  #0: mxs-evk (mxs spdif)
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:00:20 UTC (20)
Waiting for root device /dev/mmcblk0p3...

ждет что-то в слоте MMC ????
вставляю туда карту и....

mmc0: new high speed SD card at address 4f98
mmcblk0: mmc0:4f98 SD01G 922 MiB (ro)
 mmcblk0: p1 p2 p3
VFS: Cannot open root device "mmcblk0p3" or unknown-block(179,3)
Please append a correct "root=" boot option; here are the available partitions:
b300          944128 mmcblk0 driver: mmcblk
  b301           40131 mmcblk0p1
  b302           40162 mmcblk0p2
  b303          859477 mmcblk0p3
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,3)

Backtrace:
[<c00344a8>] (dump_backtrace+0x0/0x114) from [<c03c9698>] (dump_stack+0x18/0x1c)

 r7:c047ba7e r6:00008000 r5:c7029000 r4:c0536898
[<c03c9680>] (dump_stack+0x0/0x1c) from [<c03c9714>] (panic+0x78/0xf4)
[<c03c969c>] (panic+0x0/0xf4) from [<c000902c>] (mount_block_root+0x1d8/0x218)
 r3:00000000 r2:00000001 r1:c7c27f60 r0:c047bb25
[<c0008e54>] (mount_block_root+0x0/0x218) from [<c0009130>] (mount_root+0xc4/0xf
c)
[<c000906c>] (mount_root+0x0/0xfc) from [<c00092d4>] (prepare_namespace+0x16c/0x
1c4)
 r5:c0029a29 r4:c0535c20
[<c0009168>] (prepare_namespace+0x0/0x1c4) from [<c00084f8>] (kernel_init+0x128/
0x170)
 r5:c0028a94 r4:c05359e0
[<c00083d0>] (kernel_init+0x0/0x170) from [<c005010c>] (do_exit+0x0/0x6dc)
 r5:c00083d0 r4:00000000

Вообщем, что делать?

Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #31 : 27 Июня, 2014, 14:24:13 »

Для загрузки через u-boot попробуйте задать такие переменные окружения:

setenv bootcmd_mmc 'run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000'
setenv mmc_root  /dev/mmcblk0p3 rw rootwait ip=dhcp; setenv bootargs_mmc 'setenv bootargs ${bootargs} root=${mmc_root}'
setenv bootcmd 'run bootcmd_mmc; bootm


Во втором случае,  ядро, в соответствии со строкой
Kernel command line: -e noinitrd console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait ip=none gpmi
пытается найти КФС на sd-карте, в разделе mmcblk0p3. И не находит. Видимо, КФС записана с ошибкой.


Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: Про новые ядра для TionPro28
« Ответ #32 : 30 Июня, 2014, 12:00:23 »

Для загрузки через u-boot попробуйте задать такие переменные окружения:

setenv bootcmd_mmc 'run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000'
setenv mmc_root  /dev/mmcblk0p3 rw rootwait ip=dhcp; setenv bootargs_mmc 'setenv bootargs ${bootargs} root=${mmc_root}'
setenv bootcmd 'run bootcmd_mmc; bootm


Сделал попытку использовать данные параметры u-boot (SD-карта записана с использованием скрипта mk_mx28_sd).
Результат лучше не стал:
MMC read: dev # 0, block # 256,count 12288 ...
12288 blocks read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!

содержимое команды printenv:
bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
bootfile="uImage"
loadaddr=0x42000000
nfsroot=/home/notroot/nfs/rootfs
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serveri
p}:${nfsroot},v3,tcp fec_mac=${ethaddr}
bootcmd_net=run bootargs_nfs; dhcp; bootm
ethact=FEC0
bootcmd_mmc=run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000
mmc_root=/dev/mmcblk0p3 rw rootwait ip=dhcp
bootargs_mmc=setenv bootargs ${bootargs} root=${mmc_root}
bootcmd=run bootcmd_mmc; bootm
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.08 (Jun 26 2014 - 09:58:37)
bootargs=console=ttyAM0,115200n8 root=/dev/mmcblk0p1 rw rootwait root=/dev/mmcbl
k0p3 rw rootwait ip=dhcp

Environment size: 724/130044 bytes

Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Про новые ядра для TionPro28
« Ответ #33 : 30 Июня, 2014, 21:14:21 »

Запишите SD-карту с помощью прикрепленного скрипта, а затем задайте такие переменные:

setenv bootcmd_mmc 'run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000'
setenv mmc_root  /dev/mmcblk0p3 rw rootwait; setenv bootargs_mmc 'setenv bootargs ${bootargs} root=${mmc_root}'
setenv bootcmd 'run bootcmd_mmc; bootm
Записан

Paul

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 53
Re: Про новые ядра для TionPro28
« Ответ #34 : 01 Июля, 2014, 13:55:14 »

Запишите SD-карту с помощью прикрепленного скрипта, а затем задайте такие переменные:

Спасибо, заработало! почему же не работал скрипт от freescale?

Проблема оказалась еще в неправильном ядре (исходник которого я взял из виртуалки), название сборки "-571-gcca29a0", что сразу проявилось в отображении пингвина. Ядро запустилось, но не понятна его совместимость с железом (хотя при анализе исходников, патчи вроде применялись).

До этого пытался собрать ядро изначально из дистрибутива вместе с патчами, все успешно кроме той пресловутой ошибки _modinst_ в скрипте makefile - надо будет разобраться. Пока, временно подсунул образ из tion-pro28_linux_svn2909 в /ltib/rootfs/boot/ - с пингвином все в порядке, но вот при загрузке
после приглашения логина вылазит ошибка:
matchbox-panel: failed to open displaymatchbox-desktop: una
ble to open display !
matchbox: can't open display! check your DISPLAY variable.

matchbox, насколько я понял, какая-то графическая панель. Как ее настроить?
и еще вопрос, где можно настроить параметры автозагрузки?, т.е. как проконтролировать какие приложения автоматически загружаются и как их добавить/убрать?

ps примеры Qt работают корректно.


Записан

Genues

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 49
Re: Про новые ядра для TionPro28
« Ответ #35 : 05 Марта, 2015, 14:50:38 »

До этого пытался собрать ядро изначально из дистрибутива вместе с патчами, все успешно кроме той пресловутой ошибки _modinst_ в скрипте makefile - надо будет разобраться.
Столкнувшись с некоторой проблемой работы сети, полез применять последние патчи в виртуальной машине (опустим мои мучения с ними за кадром). Наткнулся на ту же проблему с _modinst_ и вроде разобрался с ней.
Проблема в одном из патчей, который добавляет в файл localversion в корне исходников ядра строчку "-zeo".
Убрал её и всё собралось нормально.
Записан

miks

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 31
Re: Про новые ядра для TionPro28
« Ответ #36 : 10 Апреля, 2015, 14:09:04 »

У меня скорее всего замечание-пожелание. Сделать в Вики раздел с патчами под различные ядра линукс и версии uboot. И хот бы в общих чертах расписать в каких конкретной файлах идет привязка к железу.

Я до сих пор не могу запустить звук на сириусе (((
Записан