Jump to content

    

Промышленный компьютер тион-про28

make menuconfig - Kernel - там указывается имя конфигурации для сборки ядра

Share this post


Link to post
Share on other sites

@Alex_Golubev, добрый совет: не надо постить текстовые сообщения скриншотами. Текст на то то текст, чтобы его передавать текстом, а не картинками.

Share this post


Link to post
Share on other sites

Вот нашел конфиг вроде он.

Spoiler

CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_PERF_EVENTS=y
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_BLK_DEV_INTEGRITY=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_MXS=y
# CONFIG_ARM_THUMB is not set
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_AEABI=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
CONFIG_CAN=m
CONFIG_CAN_FLEXCAN=m
# CONFIG_WIRELESS is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_GPMI_NAND=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_UBI=y
# CONFIG_BLK_DEV is not set
CONFIG_EEPROM_AT24=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_NETDEVICES=y
CONFIG_ENC28J60=y
CONFIG_ICPLUS_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_REALTEK_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_SMSC95XX=y
# CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_MXS_LRADC=y
CONFIG_TOUCHSCREEN_TSC2007=m
# CONFIG_SERIO is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_MXS_AUART=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MXS=y
CONFIG_SPI=y
CONFIG_SPI_GPIO=m
CONFIG_SPI_MXS=y
CONFIG_GPIO_SYSFS=y
# CONFIG_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_STMP3XXX_RTC_WATCHDOG=y
CONFIG_MFD_MXS_LRADC=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_FB=y
CONFIG_FB_MXS=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_MXS_SOC=y
CONFIG_SND_SOC_MXS_SGTL5000=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
CONFIG_USB_ETH=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_MMC=y
CONFIG_MMC_MXS=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_STMP=y
CONFIG_DMADEVICES=y
CONFIG_MXS_DMA=y
CONFIG_IIO=y
CONFIG_MXS_LRADC_ADC=y
CONFIG_IIO_SYSFS_TRIGGER=y
CONFIG_PWM=y
CONFIG_PWM_MXS=y
CONFIG_NVMEM_MXS_OCOTP=y
CONFIG_EXT4_FS=y
# CONFIG_DNOTIFY is not set
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
CONFIG_CACHEFILES=m
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RUBIN=y
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_15=y
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
CONFIG_FRAME_WARN=2048
CONFIG_UNUSED_SYMBOLS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_PROVE_LOCKING=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_STRICT_DEVMEM=y
CONFIG_DEBUG_USER=y
CONFIG_CRYPTO_DEV_MXS_DCP=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC7=m
CONFIG_FONTS=y
 

make menuconfig - Kernel 

В строчке defconfig name установлено mxs 

 

По пути /home/alexey/work/buildroot/output/build/linux-4.17.8/arch/arm/configs/mxs_defconfig нашел. 

 

[*] Linux Kernel                                                 │ │  
  │ │          Kernel version (Custom version)  --->                      │ │  
  │ │    (4.17.8) Kernel version                                          │ │  
  │ │    ()    Custom kernel patches                                      │ │  
  │ │          Kernel configuration (Using an in-tree defconfig file)  ---│ │  
  │ │    (mxs) Defconfig name                                             │ │  
  │ │    ()    Additional configuration fragment files                    │ │  
  │ │    ()    Custom boot logo file path                                 │ │  
  │ │          Kernel binary format (zImage)  --->                        │ │  
  │ │          Kernel compression format (gzip compression)  --->  

Edited by Alex_Golubev

Share this post


Link to post
Share on other sites
On 5/18/2019 at 5:55 PM, gosha-z said:

ЕМНИП, есть нюанс: этот параметр указывает, заголовочные файлы какой версии ядра использовались для сборки glibc из external toolchain. Запустите make - вам скажут, правы Вы, или нет.

Совершенно справедливо, только make ничего не скажет до тех пор, пока это не вылезет в виде реальной ошибки.

Нужно вернуть 4.10.x

 

On 5/18/2019 at 7:33 PM, Alex_Golubev said:

2. Собрать ядро отдельно

 

1. Клонируем репозиторий ядра нужной версии (в директории ~/work):

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --branch=v4.19 --depth=1

Если не знакомы с git, то настоятельно рекомендую изучить в объеме, несколько превышающем clone/pull - инструмент полезный.

 

2. Для удобства создадим переменную с путем и префиксом к компилятору:

export ARMCC_GNUEABI7=/home/<что-то еще>/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-

 

3. Переходим в work/linux, снова правим arch/arm/boot/dts/imx28-evk.dts

Теперь это наша персональная песочница для сборки ядра, правки никуда не денутся, их можно и нужно будет со временем commit'ить.

 

4. Запускаем defconfig:

make ARCH=arm mxs_defconfig

 

5. Пробуем собрать:

make ARCH=arm CROSS_COMPILE=${ARMCC_GNUEABI7} zImage modules dtbs

 

Share this post


Link to post
Share on other sites

Получил ошибку:

Spoiler

alexey@debian:~/Рабочий стол$ cd /home/alexey/work/linux
alexey@debian:~/work/linux$ make ARCH=arm mxs_defconfig
  YACC    scripts/kconfig/zconf.tab.c
/bin/sh: 1: bison: not found
scripts/Makefile.lib:196: ошибка выполнения рецепта для цели «scripts/kconfig/zconf.tab.c»
make[1]: *** [scripts/kconfig/zconf.tab.c] Ошибка 127
Makefile:539: ошибка выполнения рецепта для цели «mxs_defconfig»
make: *** [mxs_defconfig] Ошибка 2
alexey@debian:~/work/linux$ 
 

 

Edited by Alex_Golubev

Share this post


Link to post
Share on other sites

Не последнюю, наверное. Ставим bison, пробуем собрать снова, доустанавливаем недостающее и т.д.

Share this post


Link to post
Share on other sites

Вот на команду 

make ARCH=arm CROSS_COMPILE=${ARMCC_GNUEABI7} zImage modules dtbs 

выдал ошибки. 

Spoiler

alexey@debian:~/work/linux$ cd /home/alexey/work/linux
alexey@debian:~/work/linux$ make ARCH=arm mxs_defconfig
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
alexey@debian:~/work/linux$ make ARCH=arm CROSS_COMPILE=${ARMCC_GNUEABI7} zImage modules dtbs
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-common.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-oabi.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-eabi.h
  UPD     include/config/kernel.release
  WRAP    arch/arm/include/generated/uapi/asm/bitsperlong.h
  WRAP    arch/arm/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/arm/include/generated/uapi/asm/errno.h
  WRAP    arch/arm/include/generated/uapi/asm/ioctl.h
  WRAP    arch/arm/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/msgbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/param.h
  WRAP    arch/arm/include/generated/uapi/asm/poll.h
  WRAP    arch/arm/include/generated/uapi/asm/resource.h
  WRAP    arch/arm/include/generated/uapi/asm/sembuf.h
  WRAP    arch/arm/include/generated/uapi/asm/shmbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/siginfo.h
  WRAP    arch/arm/include/generated/uapi/asm/socket.h
  WRAP    arch/arm/include/generated/uapi/asm/sockios.h
  WRAP    arch/arm/include/generated/uapi/asm/termbits.h
  WRAP    arch/arm/include/generated/uapi/asm/termios.h
  WRAP    arch/arm/include/generated/asm/compat.h
  WRAP    arch/arm/include/generated/asm/current.h
  WRAP    arch/arm/include/generated/asm/early_ioremap.h
  WRAP    arch/arm/include/generated/asm/emergency-restart.h
  WRAP    arch/arm/include/generated/asm/exec.h
  WRAP    arch/arm/include/generated/asm/extable.h
  WRAP    arch/arm/include/generated/asm/irq_regs.h
  WRAP    arch/arm/include/generated/asm/kdebug.h
  WRAP    arch/arm/include/generated/asm/local.h
  WRAP    arch/arm/include/generated/asm/local64.h
  WRAP    arch/arm/include/generated/asm/mm-arch-hooks.h
  WRAP    arch/arm/include/generated/asm/msi.h
  WRAP    arch/arm/include/generated/asm/parport.h
  WRAP    arch/arm/include/generated/asm/preempt.h
  WRAP    arch/arm/include/generated/asm/rwsem.h
  WRAP    arch/arm/include/generated/asm/seccomp.h
  WRAP    arch/arm/include/generated/asm/segment.h
  WRAP    arch/arm/include/generated/asm/serial.h
  WRAP    arch/arm/include/generated/asm/simd.h
  WRAP    arch/arm/include/generated/asm/sizes.h
  WRAP    arch/arm/include/generated/asm/timex.h
  WRAP    arch/arm/include/generated/asm/trace_clock.h
  UPD     include/generated/uapi/linux/version.h
  UPD     include/generated/utsrelease.h
  SYSNR   arch/arm/include/generated/asm/unistd-nr.h
  GEN     arch/arm/include/generated/asm/mach-types.h
  SYSTBL  arch/arm/include/generated/calls-oabi.S
  SYSTBL  arch/arm/include/generated/calls-eabi.S
  CC      kernel/bounds.s
gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
gcc: note: valid arguments to ‘-mabi=’ are: ms sysv
gcc: error: unrecognized command line option ‘-mlittle-endian’
gcc: error: unrecognized command line option ‘-mfpu=vfp’; did you mean ‘-mcpu=’?
Kbuild:21: ошибка выполнения рецепта для цели «kernel/bounds.s»
make[1]: *** [kernel/bounds.s] Ошибка 1
Makefile:1102: ошибка выполнения рецепта для цели «prepare0»
make: *** [prepare0] Ошибка 2
 

 

Share this post


Link to post
Share on other sites

ARMCC_GNUEABI7 не задана, судя по всему. Что скажет echo ${ARMCC_GNUEABI7} ?

Share this post


Link to post
Share on other sites

Не смог разобраться в чем проблема:

Spoiler

alexey@debian:~/work/linux$ echo ${ARMCC_GNUEABI7}
bash: ${ARMCC_GNUEABI7}: неверная подстановка
alexey@debian:~/work/linux$ clear
 

И вот еще одна ошибка

Spoiler

alexey@debian:~/Рабочий стол$ export ARMCC_GNUEABI7=/home/alexey/work/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-
bash: export: «ARMCC_GNUEABI7=/home/alexey/work/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-»: это недопустимый идентификатор
alexey@debian:~/Рабочий стол$ 
 

 

Edited by Alex_Golubev

Share this post


Link to post
Share on other sites

А в export'е что дословно было написано?

Share this post


Link to post
Share on other sites

Все понял. 

Spoiler

alexey@debian:~/Рабочий стол$ export ARMCC_GNUEABI7=/home/alexey/work/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-

alexey@debian:~/Рабочий стол$ echo ${ARMCC_GNUEABI7}
bash: ${ARMCC_GNUEABI7}: неверная подстановка
alexey@debian:~/Рабочий стол$ 

Но echo ${ARMCC_GNUEABI7} не работает хоть убей. 

 

Еще по пунктам прошел вроде все собралось. Наверное ошибся с export. 

Наверное нужно приступать к 3 пункту? 

Edited by Alex_Golubev

Share this post


Link to post
Share on other sites

Не мучайте себя, пользуйте make CROSS_COMPILE=/home/alexey/work/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-

1 hour ago, Alex_Golubev said:

Наверное нужно приступать к 3 пункту? 

Я бы вставил пункт 2а - научиться грузить свежесобранное ядро по tftp, чтобы после каждой пересборки не насиловать SD-карточку. Хотя бы для начала усвоить набор команд, а потом уже озадачиться хранилищем U-Boot environment

Share this post


Link to post
Share on other sites
3 hours ago, Alex_Golubev said:

Наверное нужно приступать к 3 пункту?

К четвертому, скорее. п.3 пойдет параллельно по мере надобности.

 

1 hour ago, gosha-z said:

Я бы вставил пункт 2а - научиться грузить свежесобранное ядро по tftp

да и rootfs через NFS лучше подключить.

 

Попозже попробую описать дальнейшие действия по пунктам.

Share this post


Link to post
Share on other sites
39 minutes ago, aaarrr said:

да и rootfs через NFS лучше подключить.

rootfs не так часто меняешь, как ядро на этапе конфигурирования функционала, тем более, что у него не GE, а FE, а памяти немного...

Share this post


Link to post
Share on other sites
44 minutes ago, gosha-z said:

rootfs не так часто меняешь, как ядро на этапе конфигурирования функционала, тем более, что у него не GE, а FE, а памяти немного...

Так ТС еще собирается кутовые приложения ваять. А FE не сильно медленнее карты и заметно быстрее NAND в данном случае.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now