ЗАО «ЗЭО»
Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: oev от 05 Сентября, 2014, 16:23:25
-
Есть КФС под ТИОН270, скачанная с wiki zeo
Есть U-boot-1.3.3
Вот переменные окружения:
bootcmd=setenv bootargs ${bootargs} ${mtdparts}; bootm 80000
bootdelay=1
baudrate=115200
ethaddr=40:D8:55:07:02:AF
ipaddr=192.168.0.110
serverip=192.168.0.86
gatewayip=192.168.0.86
netmask=255.255.255.0
bootfile="uImage"
mtdparts=mtdparts=flash:512k(u-boot)ro,4m(kernel)ro,-(root)
fileaddr=0xa0000000
machid=e66
kern_file=uImage
rfs_file=rootfs_tion270.jffs2
kern_fladdr=0x80000
rfs_fladdr=0x480000
rfs_addr=0xa1000000
splashimage=0x400000
stdout=serial
stderr=serial
kern_flash=tftpboot ${fileaddr} ${kern_file};flash protect off nor0,1;erase ${kern_fladdr} +${filesize};cp.b ${fileaddr} ${kern_fladdr} ${filesize};cmp.b ${kern_fladdr} ${fileaddr} ${filesize};flash protect on nor0,1
rfs_flash=tftpboot ${fileaddr} ${rfs_file};flash protect off nor0,2;erase ${rfs_fladdr} +${filesize};cp.b ${fileaddr} ${rfs_fladdr} ${filesize};cmp.b ${rfs_fladdr} ${fileaddr} ${filesize};flash protect on nor0,2;setenv rfs_size ${filesize};saveenv
reflash=run kern_flash;run rfs_flash
bootargs=console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=jffs2
mtdids=nor0=flash
partition=nor0,2
mtddevnum=2
mtddevname=root
Environment size: 1105/262140 bytes
$ mtdparts
device nor0 <flash>, # parts = 3
#: name size offset mask_flags
0: u-boot 0x00080000 0x00000000 1
1: kernel 0x00400000 0x00080000 1
2: root 0x01b80000 0x00480000 0
active partition: nor0,2 - (root) 0x01b80000 @ 0x00480000
defaults:
mtdids : nor0=flash
mtdparts: mtdparts=flash:512k(u-boot)ro,4m(kernel)ro,-(root)
Вот как не происходит монтирование
[ 9.253392] VFS: Unable to mount root fs via NFS, trying floppy.
[ 9.259721] List of all partitions:
[ 9.263309] 1f00 32768 mtdblock0 (driver?)
[ 9.268351] No filesystem could mount root, tried: jffs2
[ 9.273740] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
[ 9.282070] [<c003186c>] (unwind_backtrace+0x0/0xec) from [<c03bfcb4>] (panic+0x58/0xe4)
[ 9.290174] [<c03bfcb4>] (panic+0x58/0xe4) from [<c000912c>] (mount_block_root+0x1d4/0x21c)
[ 9.298513] [<c000912c>] (mount_block_root+0x1d4/0x21c) from [<c00093dc>] (prepare_namespace+0x164/0x1c8)
[ 9.308066] [<c00093dc>] (prepare_namespace+0x164/0x1c8) from [<c0008610>] (kernel_init+0x120/0x16c)
[ 9.317183] [<c0008610>] (kernel_init+0x120/0x16c) from [<c002d000>] (kernel_thread_exit+0x0/0x8)
Если использовать
bootargs=console=ttyS0,115200n8 root=/dev/mtdblock0 rw rootfstype=jffs2
То файловая система в принципе запускается, но я не понимаю как!
Как сделать так, чтобы было mtdblock2 и jffs2?
-
> List of all partitions:
> [ 9.263309] 1f00 32768 mtdblock0 (driver?)
А я не понимаю, почему у вас ядро имеет только один раздел.
-
Не хочется заводить новую тему, но вопросов много (заранее прошу простить)
Делая как описано в wiki, сборка КФС проходит успешно, но при монтировании КФС ( jffs2 )вылезают 2 ошибки
[ 8.624518] JFFS2 error: (1) jffs2_build_inode_pass1: child
dir "qss" (ino #2828) of dir ino #2698 appears to be a hard link
[ 8.637121] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "data" (ino #2847) of dir ino #2845 appears to be a hard link
[ 8.648465] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "logs" (ino #2848) of dir ino #2845 appears to be a hard link
[ 8.661543] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "utf8encodings" (ino #2805) of dir ino #960 appears to be a hard link
[ 8.673643] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "a" (ino #2823) of dir ino #961 appears to be a hard link
[ 8.684577] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "l" (ino #2824) of dir ino #961 appears to be a hard link
[ 8.695510] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "v" (ino #2825) of dir ino #961 appears to be a hard link
[ 8.706444] JFFS2 error: (1) jffs2_build_inode_pass1: child dir "x" (ino #2826) of dir ino #961 appears to be a hard link
/etc/init.d/S01gpio: do nothing
Modprobing modules from /etc/modules
Initializing random number generator... done.
Starting network...
ip: RTNETLINK answers: File exists
udhcpc (v1.14.4) started
Sending discover...
Sending discover...
Sending select for 192.168.0.195...
Lease of 192.168.0.195 obt
ained, lease time 86400
Starting inetd: done
Starting dropbear sshd: via inetd
Starting thttpd
Running Qt examples from /etc/init.d/S99qt-example
Playing WAVE '/home/default/Rear_Center.wav' : Signed 16 bit Lit
tle Endian, Rate 48000 Hz, Mono
Welcome to Buildroot
tion270 login:
[ 22.983563] JFFS2 error: (1001) jffs2_do_read_inode_internal
: Argh. Special inode #338 with mode 0x2190 had more than one node
Подскажите пожалуйста, где собака зарыта? busybox в КФС не ищет по inum,я даже не знаю, где искать потерянные inode
-
Вы так и монтируете на mtdblock0?
-
Нет, я перешел на uboot2010.03. Там все собирается и работает исправно
-
Как записываете образ jffs2 на плату, по командам?
-
Вообще к u-boot вопросов быть не может, потому что образ КФС c wiki zao-zeo монтируется отлично!
У меня есть готовая u-boot-авская заготовка для заливки ( несколько команд скопом ). В конце я делаю проверку через cmp.b . Проблем нет.
-
> Проблем нет.
Вопрос считаем закрытым?
-
нет, вопрос открытый! ошибки при монтировании остались, я лишь хотел сказать, что с u-boot проблем нет
-
Так как записываете? Можно с логом.
-
Все, разобрался. Перед загрузкой надо стирать весь раздел!!!
-
Ещё обратите внимание на erase block в Buildroot в параметрах создания jffs2, если не использовали файл local/tion270/tion270.config