Jury093
Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата scripts/basic/fixdep: 1: scripts/basic/fixdep: Syntax error: "(" unexpected
угу, забыл упомянуть, сам с этим столкнулся - если взять исходники ядра после сборки с виртуалки, то вспомогательные утилиты ядра будут естесно х86 архитектуры, которые на АРМ не запустятся:
Код root@imx6q-es:/mnt/root/moxa/0/kernel-fpga-test/scripts/basic# file fixdep
fixdep: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0x6531a02398ba8f336e707e10fac96905517d65f6, not stripped
тут либо полная пересборка на ките "make clean; make uImage", либо достаточно прибить
rm scripts/basic/fixdep
и проинициировать рекомпиляцию
Код make ARCH=arm menuconfig
будет выглядеть примерно так:
Код root@imx6q-es:/mnt/root/moxa/0/kernel-fpga-test/scripts/basic# file fixdep
fixdep: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xe048f277f91050d34b3a6c47a7da59558e6151cc, not stripped
вроде больше чудес не было..
На любой вопрос есть любой ответ.
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Код root@armets:~/moxa/linux-custom# rm scripts/basic/fixdep
root@armets:~/moxa/linux-custom# make ARCH=arm menuconfig
HOSTCC scripts/basic/fixdep
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1
make: *** [menuconfig] Error 2
root@armets:~/moxa/linux-custom# apt-get install ncurses
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ncurses is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'ncurses' has no installation candidate
root@armets:~/moxa/linux-custom# apt-get install ncurses-devel
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ncurses-devel
Код root@armets:~/moxa/linux-custom/scripts/basic# file fixdep
fixdep: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (us
es shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xe048f277f91050d34b3a6c47a
7da59558e6151cc, not stripped
Код root@armets:~/moxa/moxa# make
make -C /root/moxa/linux-custom SUBDIRS=/root/moxa/moxa modules
make[1]: Entering directory `/root/moxa/linux-custom'
CC [M] /root/moxa/moxa/npreal2.o
Building modules, stage 2.
MODPOST 1 modules
scripts/mod/modpost: 1: scripts/mod/modpost: Syntax error: word unexpected (expe
cting ")")
make[2]: *** [__modpost] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/root/moxa/linux-custom'
make: *** [module] Error 2
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Надо все скрипты таким образом перекомпилировать?
Но вот
scripts/mod/modpost не образуется вновь (после make ARCH=arm menuconfig), если его удалить
в папке scripts/mod остались
Код elfconfig.h
mk_elfconfig
.gitignore
empty.c
file2alias.c
Makefile
mk_elfconfig.c
modpost.c
modpost.h
sumversion.c
Jury093
Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Надо все скрипты таким образом перекомпилировать?
Но вот scripts/mod/modpost не образуется вновь (после make ARCH=arm menuconfig), если его удалить
видимо я поторопился для ускорения процесса и похоже проще почистить и пересобрать ядро на плате..
Код make clean
make -j2 ARCH=arm uImage
вероятно modpost не вызывается для menuconfig, а используется для компиляции отдельных модулей, отсюда и не рекомпилируется..
update чисто для справки - "Надо все скрипты таким образом" - это не скрипт, это исполнимый бинарный код
скриптом обычно называют текстовый файл с атрибутом +x, который построчно выполняется интерпретатором (например sh, bash и etc)
На любой вопрос есть любой ответ.
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата видимо я поторопился для ускорения процесса и похоже проще почистить и пересобрать ядро на плате..
Поясните, пожалуйста, как сейчас происходит загрузка/работа системы и что будет если, я пересоберу ядро на плате.
И что дальше делать, после пересборки.
Jury093
Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Поясните, пожалуйста, как сейчас происходит загрузка/работа системы и что будет если, я пересоберу ядро на плате.
не, с системой пока ничего делать не надо - достаточно почистить ядро от старых объектников и кода, потом просто пересобрать.
смысл операции - получить запускаемые утилиты, с помощью которых можно скомпилировать внешний модуль - в вашем случае для Moxa
Цитата И что дальше делать, после пересборки.
после сборки имеет смысл почитать файл-инструкцию README.TXT
как я понял, после компиляции создаются файлы
*.ko - это модули для железки
mx* - бинарники серверной части
скрипты и конфиги - для настройки штатной работы
не вчитывался, но вероятно в ридми.тхт сказано, что и как делать..
давайте сначала убедимся, что железо исправно и видно в системе в любом виде.. а потом видимо есть смысл мигрировать сборку на комп с x86 архитектурой, так программистам привычнее..
На любой вопрос есть любой ответ.
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Что-то пошло не так...
В конце сборки.
Код LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
SKIPPED include/generated/compile.h
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
CC arch/arm/boot/compressed/misc.o
CC arch/arm/boot/compressed/decompress.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/piggy.gzip.o
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
"mkimage" command not found - U-Boot images will not be built
make[1]: *** [arch/arm/boot/uImage] Error 1
make: *** [uImage] Error 2
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Не проще ли будет использовать ваши исходники )
Jury093
Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата Не проще ли будет использовать ваши исходники )
исходники чего? у меня копия ваших, включая ядро и Ко..
в принципе уже можно пробовать собрать модули - вероятно все нужные утилиты уже скомпилировались..
что касается этой ошибки, то не хватает mkimage, утилита которую создает исходник юбута..
попробуйте это:
Посмотреть или скачать файл «mkimage» —
https://yadi.sk/d/CltHdnVetdx9B
положить на плату, допустим в
/usr/local/bin или
/bin - чтобы по путям "видна" была
не забудьте
chmod +x mkimage
и повторно
make uImage - оно должно быстро пробежаться и шустро дособирать
На любой вопрос есть любой ответ.
qqqqq2
Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата
попробуйте это:
Посмотреть или скачать файл «mkimage» —
https://yadi.sk/d/CltHdnVetdx9B
положить на плату, допустим в
/usr/local/bin или
/bin - чтобы по путям "видна" была
не забудьте
chmod +x mkimage
и повторно
make uImage - оно должно быстро пробежаться и шустро дособирать
Код root@armets:~/moxa/linux-custom# make uImage
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
SKIPPED include/generated/compile.h
Kernel: arch/arm/boot/Image is ready
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.1.2
Created: Tue Jul 26 15:39:10 2016
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4243048 Bytes = 4143.60 kB = 4.05 MB
Load Address: 10008000
Entry Point: 10008000
Image arch/arm/boot/uImage is ready
root@armets:~/moxa/linux-custom#