ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: Григорий от 10 Сентября, 2010, 15:02:41
-
Помогите пожалуйста разобраться в следующей проблеме. Я собрал ядро и корневую согласно инструкциям, размещённым на этом сайте. Загрузил без особых сложностей образ ядра 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
Дальше ничего не происходит.
-
На Тионе-Про270 ядро без поддержки EABI?
-
Про 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?
И, в итоге, плата виснет... Подскажите, пожалуйста, что я делаю не так?
-
> Решил из исходного файла rootfs.arm.jffs2 изготовить образ
> Подскажите, пожалуйста, что я делаю не так?
Нда...
-
Да, действительно, ядро было собрано без поддержки 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?
-
> Можете ли подсказать, где взять готовую корневую для ТИОН-ПРО270?
Откуда брали то что собирали?
-
По-поводу сборки корневой:
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
В результате этих действий получил образ корневой.
-
Можете попробовать из git?
git clone http://zao-zeo.ru/media/files/linux/buildroot-2009.08.git
-
Работа с репозиторием:
Сперва пришлось установить 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
-
Не виснет
ttyS2 замените на ttyS0
-
Исправил на ttyS0 в git
-
Спасибо! Помогло. Корневая грузится без проблем.