Автор Тема: Сборка ядра от loboris  (Прочитано 27637 раз)

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #75 : Март 18, 2016, 06:31:14 am »
Цитировать
Система обязательно должна быть х64

Это требование к поддержке процессором 64 битной архитектуры или на 32 битных процессорах тоже будет работать?
Это требование для удачной кросскомпиляции ядра "от Бориса" по инструкции из первого поста этой темы.
Т.к. git clone тянет вместе с ядром все необходимые для сборки скрипты и утилиты, и некоторые из них работают только на х64 системе, а другие требуют установки в этой системе 32-х разрядных библиотек.

misyachniy

  • Гость
Re: Сборка ядра от loboris
« Ответ #76 : Апрель 01, 2016, 08:08:11 pm »
Скачал 64 битную Ubuntu 15.10
Не хотела устанавливаться.
Переходила на BusyBox
На сколько я понял, требовался привод DVD с SATA интерфейсом.
Отнес на работу установил.
Принес домой.

Запустил apt-get update
и
sudo apt-get install lib32ncurses5 lib32ncurses5-dev lib32z1 u-boot-tools

Для скачивания ядра установил GIT больше ничего не ставил.

Запустил сборку - до конца не дошла.
При закрытии терминала ubuntu предупреждала о том, что процесс запущен.
uimage создался но размер не совпадал с логом.

Сегодня запустил сборку заново -

root@opi:~/OrangePI-Kernel# ./build_linux_kernel.sh
Building kernel for OPI-2 () ...
  Configuring ...
  Building kernel & modules ...
  Exporting modules ...
  Exporting firmware ...
[b]  Building mali drivers...
  Error: build.[/b]
***OK***

Посмотрел в логе
Цитировать
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-3.4.39-02-lobo
Created:      Thu Mar 31 23:57:53 2016
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    10983960 Bytes = 10726.52 kB = 10.48 MB
Load Address: 40008000
Entry Point:  40008000
  Image arch/arm/boot/uImage is ready

MC  показывает 10983968
На сколько я понял -8 байт контрольная сумма?
Можно уже пробовать на SD записывать?

Телевизор и USB читалку "окупировали"  для просмотра мультфильмов.

P.S. Просматривал kbuild_2_.log
Не понравилась ошибка отсутвие файла
grep: scripts/../arch/x86/syscalls/syscall_32.tb:

Также предупреждения о несоответствии размера буфера
drivers/net/wireless/rtl8189es/os_dep/linux/ioctl_linux.c:771:1: warning: the frame size of 1160 bytes is larger than 1024 bytes [-Wframe-larger-than=]


По файлу рекомендуют ядро пересобирать

По буферу есть информация о том, что просто проверка GCC размера для локальных переменных, и ничего не нужно делать.
В других пишут что программу вызвавшую такое сообщение подправят в следующим выпуске.



Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #77 : Апрель 02, 2016, 08:27:02 pm »
у вас ядро собралось, а ошибка на сборке модулей mali драйвера, смотрите соответствующий лог.

misyachniy

  • Гость
Re: Сборка ядра от loboris
« Ответ #78 : Апрель 03, 2016, 11:23:22 am »
Посмотрел "malibuild.log" размер 128 байт

Цитировать
drivers/net/wireless/ap6210/Kconfig:42:warning: defaults for choice values not supported
#
# configuration written to .config
#

посмотрел Kconfig

Цитировать
Interrupt through WL_HOST_WAKE.
config AP6210_SDIO_IRQ
   depends on  AP6210
   bool "In-Band Interrupt"
   default y
   ---help---

к драйверу mali  никакого отношения нет

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #79 : Апрель 03, 2016, 01:03:54 pm »
В скрипте ошибочка malibuild.log не в корне, а в ...OrangePI-Kernel/linux-3.4/modules/

Все Ваши подозрения на ошибки у меня тоже есть в логах, но собирается нормальное ядро.

Вот лог нормальной сборки мали:
« Последнее редактирование: Апрель 03, 2016, 01:22:45 pm от AlDemin »

misyachniy

  • Гость
Re: Сборка ядра от loboris
« Ответ #80 : Апрель 04, 2016, 07:02:04 pm »
В скрипте ошибочка malibuild.log не в корне, а в ...OrangePI-Kernel/linux-3.4/modules/

Очень похоже на ошибочку в скрипте.

...
  Building modules, stage 2.
...

  CC [M]  /home/orangepi/OrangePI-Kernel/linux-3.4/modules/mali/DX910-SW-99002-r4p0-00rel0_modify/driver/src/devicedrv/mali/linux/mali_osk_misc.o
/bin/sh: 1: Syntax error: Unterminated quoted string

/home/orangepi/OrangePI-Kernel/linux-3.4/modules/mali/DX910-SW-99002-r4p0-00rel0_modify/driver/src/devicedrv/mali/Kbuild:213: спроба виконання рецепта для мети «/home/orangepi/OrangePI-Kernel/linux-3.4/modules/mali/DX910-SW-99002-r4p0-00rel0_modify/driver/src/devicedrv/mali/__malidrv_build_info.c» зазнала невдачі


Я так понимаю линкер встретил строковую константу с незакрытой кавычкой.
Только не понятно где в строке вызова из скрипта или еще где?

Как на меня совсем непонятная ситуация.
Как мог скрипт испортится?
GIT должен вытащить файлы из сервера на локальную машину с контролем целостности.
Почему же ошибка появилась?

Или это я в дебри полез?
;-)





Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #81 : Апрель 04, 2016, 07:43:05 pm »
Ошибочка в скрипте build_mali_driver.sh , что лог не туда пишется.
Последние три 
>> ../malibuild.log 2>&1
должны быть:
 >> ../../../malibuild.log 2>&1

Но это не по делу, а по делу у вас скорее всего какой то либы не хватает.
« Последнее редактирование: Апрель 04, 2016, 08:06:51 pm от AlDemin »

misyachniy

  • Гость
Re: Сборка ядра от loboris
« Ответ #82 : Май 14, 2016, 05:18:10 pm »
После того как не удалось собрать драйвер Mali решил поработать с IDE программирования поl Ubuntu.
Еле установил Anjuta и GTK3  к ней.
При попытке создания главного окна  Anjuta закрывала все окна без каких либо сообщений об ошибке.
Решил обновить Ubuntu до 16.04
После обновления решил проверить сборку Loboris
Стер каталог и выполнил команды как в старт топике.

Получил

orangepi@opi:~$ cd OrangePI-Kernel
orangepi@opi:~/OrangePI-Kernel$ ./build_linux_kernel.sh
Building kernel for OPI-2 () ...
  Configuring ...
  Building kernel & modules ...
  Exporting modules ...
  Exporting firmware ...
  Building mali drivers...
 mali build OK.
***OK***
orangepi@opi:~/OrangePI-Kernel$

То ли библиотеки от Anjuta подошли то ли  Ubuntu  16.04 "правильнее."

ubobrov

  • Гость
Re: Сборка ядра от loboris
« Ответ #83 : Июнь 28, 2016, 01:55:29 pm »
Хочу вставить свои 5 копеек.
Есть люди, у которых уже установлен 32-х битный линукс и менять его на х64 они не хотят, или такие извращенцы как я, которые любят определённые компилляторы и не любят тулчейны с которыми не работали. Вот для таких этот пост.
Собственно, сама проблема - сборка данного ядра на linux 32 bit с любимым тулчейном.
Что касается меня, то я пользуюсь gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux по причине того, что давно с ним имею дело и не имею проблем :)
* Вся установка тулчейна сводится к распаковке его в удобный для вас каталог, например /opt/arm/ и остаётся прописать к нему путь. Я обычно добавляю путь в /etc/environment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/arm/gcc-linaro-4.8_arm-linux-gnueabihf/bin"
* Затем забираем исходники ядра loboris-а из всем известного репозитария. Перед сборкой ядра нам надо установить u-boot-tools (если не установлено) чтобы сборка прошла успешно: sudo apt-get install u-boot-tools
* После чего скачать этот патчик и накатить его:
patch -p1 < kernel-3.4.patch из каталога OrangePI-Kernel/. Патчик поправит некоторые объявления функций и заменит бинарник OrangePI-Kernel/linux-3.4/arch/arm/mach-sunxi/power/brom/gen_check_code, который там для x64 системы и под х32 не запускается.
* В завершение нам надо поправить файлы в каталоге OrangePI-Kernel/:
build_linux_kernel.sh,
build_mali_driver.sh,
config_linux_kernel.sh
а именно поменять путь в них к любимому тулчейну:
export PATH="/opt/arm/gcc-linaro-4.8_arm-linux-gnueabihf/bin":"$PATH"
cross_comp="arm-linux-gnueabihf"

Теперь можно и собирать:
ubobrov@ubobrov-home:~/projects/OPI/OrangePI-Kernel$ ./build_linux_kernel.sh
Building kernel for OPI-2 () ...
  Configuring ...
  Building kernel & modules ...
  Exporting modules ...
  Exporting firmware ...
  Building mali drivers...
  mali build OK.
***OK***

Для полного счастья установите sunxi-tools, пригодятся :) для операций с файлами script.fex/script.bin
sudo apt-get install libusb-1.0-0-dev
git clone https://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools
make
sudo make install

Успехов!

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 220
  • Лайков: 14
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #84 : Июль 30, 2016, 09:55:19 am »
Подскажите, не компилируется ядро, если включаю драйвер SPI. Во вкладке драйверы > SPI support > SUNXI SPI Controller (NEW).
Как только ставлю возле него букву М. При попытке компиляции выдает ошибку Error: KERNEL NOT BUILT.
Без него компилируется нормально.
Мне нужен модуль spi-sunxi7.ko как его получить?????

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #85 : Июль 30, 2016, 03:25:36 pm »
Подскажите, не компилируется ядро, если включаю драйвер SPI. Во вкладке драйверы > SPI support > SUNXI SPI Controller (NEW).
Как только ставлю возле него букву М. При попытке компиляции выдает ошибку Error: KERNEL NOT BUILT.
У меня там стоит <*> те, драйвер вкомпилен непосредственно в ядро, и ядро собирается нормально.
Вам принципиально иметь драйвер в отдельном модуле?
Отдельно модулем так же не собирается.

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 220
  • Лайков: 14
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #86 : Июль 30, 2016, 04:17:34 pm »
А SPI работает? WiringPi поддерживает? Как инициализация у вас по SPI проходит?
« Последнее редактирование: Июль 30, 2016, 04:23:13 pm от vash_sa »

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 498
  • Лайков: 163
  • Карма: +25/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Re: Сборка ядра от loboris
« Ответ #87 : Июль 30, 2016, 05:54:29 pm »
А SPI работает?
Лично у меня нет таких устройств, чтоб проверить.
Цитировать
WiringPi поддерживает?
WiringOP - Эта библиотека-прокладка родом от малинки, из за разности железа у нас она неполноценна (могу ошибаться).
Особо не изучал, но как понял она стандартизирует работу с GPIO, но несколько ограничивает свободу действий.
« Последнее редактирование: Июль 30, 2016, 06:14:21 pm от AlDemin »

pcmax

  • Гость
Re: Сборка ядра от loboris
« Ответ #88 : Февраль 15, 2018, 12:50:49 am »
Попробовал интереса спортивного ради собрать ядро от loboris к моему удивлению ядро собирается и даже запускается :)

Для сборки нужно в терминале сделать следующие

sudo apt-get install lib32ncurses5 lib32ncurses5-dev lib32z1 u-boot-tools
git clone https://github.com/loboris/OrangePI-Kernel.git
cd OrangePI-Kernel
./build_linux_kernel.sh

Если нужно включить какие либо дополнительные опции, тогда перед ./build_linux_kernel.sh
выполнить
./config_linux_kernel.sh
привет
вот до меня не доходит, arm ядро тоже можно конфигурировать?  ну всмысле как ядро x86

Оффлайн UB3GAD

Re: Сборка ядра от loboris
« Ответ #89 : Февраль 15, 2018, 08:16:49 am »
Попробовал интереса спортивного ради собрать ядро от loboris к моему удивлению ядро собирается и даже запускается :)

Для сборки нужно в терминале сделать следующие

sudo apt-get install lib32ncurses5 lib32ncurses5-dev lib32z1 u-boot-tools
git clone https://github.com/loboris/OrangePI-Kernel.git
cd OrangePI-Kernel
./build_linux_kernel.sh

Если нужно включить какие либо дополнительные опции, тогда перед ./build_linux_kernel.sh
выполнить
./config_linux_kernel.sh
привет
вот до меня не доходит, arm ядро тоже можно конфигурировать?  ну всмысле как ядро x86
Абсолютно так же как и на х86, linux он и в Африке linux, единственное с этим старьем про которое я писал в первом посте возится уже смысла нет, слишком там все древнее, смотри лучше ядра от arambian
Orange Pi PC
Raspberry pi 3
Odroid C0