ЗАО «ЗЭО»

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

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

Новости:

Автор Тема: Не получается загрузить корневую систему в Тион-Про270  (Прочитано 6449 раз)

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

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

Помогите пожалуйста разобраться в следующей проблеме. Я собрал ядро и корневую согласно инструкциям, размещённым на этом сайте. Загрузил без особых сложностей образ ядра uImage. А вот с корневой возникли проблемы. В результате сборки корневой я получил два файла: rootfs.arm.jffs2 и rootfs.arm.ext2. Теперь пытаюсь выполнить загрузку на плату:

$ tftpboot A0000000 rootfs.arm.jffs2
dm9000 i/o: 0x8000000, id: 0x90000a46
MAC: 00:50:c2:bb:4f:f1
operating at 100M full duplex mode
TFTP from server 169.254.27.61; our IP address is 169.254.27.70
Filename 'rootfs.arm.jffs2'
Load address: 0xa0000000
Loading: *checksum bad
checksum bad
T\
done
Bytes transferred = 6029312 (5c0000 hex)

Сразу же настораживает надпись Loading: *checksum bad, хотя количество переданных байт совпадает с размером исходного файла. При загрузке образа ядра такого не было! Идём дальше:

$ erase 00480000 01FFFFFF

... done
Erased 110 sectors
$ cp.b A0000000 00480000 $filesize
Copy to Flash... done

Перезагружаю плату, процесс загрузки зависает на строках:

[    1.890000] XScale iWMMXt coprocessor detected.
[    1.900000] m41t00 0-0068: setting the system clock to 2010-09-10 13:52:28 (1284126748)
[    1.990000] VFS: Mounted root (jffs2 filesystem) readonly.
[    2.000000] Freeing init memory: 120K

Дальше ничего не происходит.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

На Тионе-Про270 ядро без поддержки EABI?
Записан

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

Про EABI сейчас ответить не могу. Сейчас гляну в конфигурацию ядра. Если его там не будет, то мне его следует добавить, так?

Я вот ещё попробовал пойти другим путём. Решил из исходного файла rootfs.arm.jffs2 изготовить образ при помощи mkimage подобно тому, как это делалось для изготовления образа ядра.

mkimage -A arm -O linux -T filesystem -C none -n 'rootfs.arm.jffs2' -d rootfs.arm.jffs2 uRootfs.arm.jffs2

Получившийся файл образа uRootfs.arm.jffs2 загрузил в плату после перезагрузки в огромном количестве плата стала выводить сообщения типа:

[    4.170000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004bdffc: 0x2048 instead
[    4.180000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be000: 0xa888 instead
[    4.190000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be004: 0x00a7 instead
[    4.200000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be008: 0x000c instead
[    4.210000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be010: 0xf1a3 instead
[    4.220000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be014: 0x48d8 instead
[    4.230000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be018: 0xe002 instead
[    4.230000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004be02c: 0x02e9 instead
[    4.240000] Further such events for this erase block will not be printed
[    4.250000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c0038: 0xdfb8 instead
[    4.260000] jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x004c003c: 0x1885 instead
[    4.270000] CLEANMARKER node found at 0x004c0040, not first node in block (0x004c0000)
[    4.280000] Node at 0x004fea0c with length 0x00001634 would run over the end of the erase block
[    4.290000] Perhaps the file system was created with the wrong erase size?

И, в итоге, плата виснет... Подскажите, пожалуйста, что я делаю не так?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> Решил из исходного файла rootfs.arm.jffs2 изготовить образ
> Подскажите, пожалуйста, что я делаю не так?

Нда...
Записан

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

Да, действительно, ядро было собрано без поддержки EABI. Тогда решил востановить образы ядра и корневой как это было при поставке платы. Скачал с вашего сайта образ ядра:

http://www.zao-zeo.ru/media/files/linux/2.6.22/image/uImage-2.6.22.19_svn818_tion-pro270_eabi

Загрузил его в плату. Теперь на плате стоят ваше ядро и моя корневая. Так что теперь при загрузке плата зависает на строках:

[    2.030000] VFS: Mounted root (jffs2 filesystem) readonly.
[    2.030000] Freeing init memory: 120K
/etc/init.d/rcS: line 37: /etc/init.d/S10modprobe: Permission denied
Initializing random number generator... read-only file system detected...done
/etc/init.d/rcS: line 37: /etc/init.d/S30dirs: Permission denied
Starting network...
ip: RTNETLINK answers: File exists
[    2.660000] eth0: link down
udhcpc (v1.14.4) started
udhcpc: socket: Address family not supported by protocol
/etc/init.d/rcS: line 37: /etc/init.d/S41inetd: Permission denied
Starting dropbear sshd: mkdir: cannot create directory '/etc/dropbear': Read-only file system
generating rsa key... generating dsa key... [    4.660000] eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
OK
/etc/init.d/rcS: line 37: /etc/init.d/S55cups: Permission denied
/etc/init.d/rcS: line 37: /etc/init.d/S60alsa: Permission denied
/etc/init.d/rcS: line 37: /etc/init.d/S61aplay: Permission denied

Так что, очевидно, что я как-то криво собрал корневую. На вашем сайте поискал готовый образ корневой, но единственное, что хоть как-то смахивало на корневую это:

http://www.zao-zeo.ru/media/files/rootfs/pxa270/rootfs_pxa_ptx1.0.2.jffs

Но как показал эксперимент - это совсем не то. Можете ли подсказать, где взять готовую корневую для ТИОН-ПРО270?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> Можете ли подсказать, где взять готовую корневую для ТИОН-ПРО270?

Откуда брали то что собирали?
Записан

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

По-поводу сборки корневой:

1. Скачал оригинальный Buildroot: http://www.buildroot.org/downloads/buildroot-2009.08-rc3.tar.gz
   
2. Скачал патч с вашего сайта: http://www.zao-zeo.ru/media/files/rootfs/buildroot/buildroot-2009.08_20100713.tar.gz

Дальше всё в точности по инструкции:
     Распаковал Buildroot и наложить патч. Пропускать файлы .defconfig и .gitignore небыло необходимость, т.к. при наложении патча они и так остались нетронутыми.
     Скопировал файл конфигурации из buildroot-2009.08-rc3/local/tion270/tion270.config в buildroot-2009.08-rc3/.config
     Выполнил make oldconfig
     Выполнил make menuconfig и к текущей конфигурации добавил PHP и отключил менеджер пакетов ipkg, т.к. не получалось скачать его архив. Изменения конфигурации сохранил в                    local/tion270/tion270.config
     Выполнил make BOARD=tion270

В результате этих действий получил образ корневой.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Можете попробовать из git?
git clone http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
Записан

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

Работа с репозиторием:

Сперва пришлось установить Git на мою виртуалку
    apt-get install git-core
Затем скачиваем последнюю версию корневой
    git clone http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
Как я понял скаченную таким образом корневую не надо патчить, поэтому дальше делаю всё как и раньше. Скопировал файл конфигурации из /local/tion270/tion270.config в .config
Выполнил make oldconfig
Выполнил make BOARD=tion270

В итоге получил файл /binaries/tion270/rootfs.arm.jffs2     Загрузил его в плату, в результате плата всё равно виснет... Ниже привожу конец лога загрузки:

[    1.700000] pxa2xx_ac97_reset: cold reset timeout (GSR=0x0)
[    1.860000] input: UCB1400 touchscreen interface as /class/input/input0
[    1.870000] ALSA device list:
[    1.870000]   #0: pxa2xx-ac97 (Philips UCB1400)
[    1.880000] TCP cubic registered
[    1.880000] NET: Registered protocol family 1
[    1.880000] XScale iWMMXt coprocessor detected.
[    1.890000] m41t00 0-0068: setting the system clock to 2010-09-14 10:27:31 (1284460051)
[    2.000000] VFS: Mounted root (jffs2 filesystem) readonly.
[    2.000000] Freeing init memory: 120K
Modprobing modules from /etc/modules
Initializing random number generator... read-only file system detected...done
Starting network...
ip: RTNETLINK answers: File exists
[    2.780000] eth0: link down
udhcpc (v1.14.4) started
udhcpc: socket: Address family not supported by protocol
Starting inetd: done
Starting dropbear sshd via inetd mkdir: cannot create directory '/etc/dropbear': Read-only file system
Starting autmount: done
/etc/init.d/S60alsa: line 1: alsactl: not found
/etc/init.d/S61aplay: line 2: aplay: not found
[    4.780000] eth0: link up, 100Mbps, full-duplex, lpa 0x41E1


Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Не виснет
ttyS2 замените на ttyS0
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

Исправил на ttyS0 в git
Записан

Григорий

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 13

Спасибо! Помогло. Корневая грузится без проблем.
Записан