ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Ядро

Сообщений 1 страница 13 из 13

1

[html]<a href="https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Cross-compiling_the_kernel">https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Cross-compiling_the_kernel</a>[/html]

знать бы ещё, какие туда модули нужны...

# USE="icu readline python" PYTHON_TARGETS="python3_8" aarch64-baikal-linux-gnu-emerge -v gentoo-sources

Total: 12 packages (12 new), Size of downloads: 142020 KiB

* Error: circular dependencies:

(sys-apps/util-linux-2.36.1-r1:0/0::gentoo, ebuild scheduled for merge to '/usr/aarch64-baikal-linux-gnu/') depends on
(dev-lang/python-3.8.7-r1:3.8/3.8::gentoo, ebuild scheduled for merge to '/usr/aarch64-baikal-linux-gnu/') (buildtime)
  (sys-apps/util-linux-2.36.1-r1:0/0::gentoo, ebuild scheduled for merge to '/usr/aarch64-baikal-linux-gnu/') (buildtime_slot_op)

It might be possible to break this cycle
by applying any of the following changes:
- sys-apps/util-linux-2.36.1-r1 (Change USE: +python_targets_python3_9 -python_targets_python3_8)
- sys-apps/util-linux-2.36.1-r1 (Change USE: -python)
- sys-apps/util-linux-2.36.1-r1 (Change USE: +python_targets_python3_7 -python_targets_python3_8)

Note that this change can be reverted, once the package has been installed.

Спасибо мейнтейнерам за прекрасные круги!

USE="unicode" PYTHON_TARGETS="python3_8" aarch64-baikal-linux-gnu-emerge -v gentoo-source
Total: 50 packages (49 new, 1 reinstall), Size of downloads: 238966 KiB

Отредактировано Лис (2021-01-30 20:43:24)

0

2

./.libs/libgmp.so: error adding symbols: file in wrong format

https://stelfox.net/blog/2017/11/file-in-wrong-format/
«configure script was unable to find a native g++ compiler for my target environment and thus fell back on to the system's native compiler…»

crossdev --stable -s4 -t aarch64-baikal-linux-gnu

>>> Completed installing dev-libs/gmp-6.2.1 into /usr/aarch64-baikal-linux-gnu/tmp/portage/dev-libs/gmp-6.2.1/image

Отредактировано Лис (2021-01-31 11:07:18)

0

3

aarch64-baikal-linux-gnu-emerge -v1a dev-lang/perl
...
[ebuild  N     ] dev-lang/perl-5.32.0-r1:0/5.32::gentoo to /usr/aarch64-baikal-linux-gnu/ USE="minimal -berkdb -debug -doc -gdbm -ithreads" 0 KiB

In file included from perl.h:31,
                 from miniperlmain.c:57:
xconfig.h:1279:3: error: invalid preprocessing directive #GENTOO_LIBDIRS
1279 | # GENTOO_LIBDIRS ""  /**/
      |   ^~~~~~~~~~~~~~
make[1]: *** [Makefile:108: miniperlmain.host.o] Error 1

Более новую версию билда выбрать не получается:
# ls /var/db/repos/gentoo/dev-lang/perl/ -1
Manifest
files
metadata.xml
perl-5.30.3-r1.ebuild
perl-5.30.3-r2.ebuild
perl-5.30.3.ebuild
perl-5.32.0-r1.ebuild
perl-5.32.1.ebuild

# aarch64-baikal-linux-gnu-emerge -v1a =dev-lang/perl-5.32.1
...
!!! All ebuilds that could satisfy "=dev-lang/perl-5.32.1" for /usr/aarch64-baikal-linux-gnu/ have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/perl-5.32.1::gentoo (masked by: package.mask)
/var/db/repos/gentoo/profiles/package.mask:
# Andreas K. Hüttel <dilfridge@gentoo.org> (2021-01-26)
# In preparation. Do not use yet.

to the best of my knowledge, our cross-compile process is currently unworkably bitrotten. I don't know anyone else (with a possible single exception) who's cross-built Perl in recent memory.

https://github.com/perl/perl5/issues/10651

Бага не закрыта с 2010-го года.

Отредактировано Лис (2021-01-31 12:09:47)

0

4

Зачем при установке gentoo-sources нужен perl, и как от него отвязаться?

[html]<a href="https://github.com/gentoo/gentoo/blob/master/sys-kernel/gentoo-sources/gentoo-sources-5.10.11.ebuild#L9">https://github.com/gentoo/gentoo/blob/master/sys-kernel/gentoo-sources/gentoo-sources-5.10.11.ebuild#L9</a>[/html]

Код:
inherit kernel-2

[html]<a href="https://github.com/gentoo/gentoo/blob/master/eclass/kernel-2.eclass#L608">https://github.com/gentoo/gentoo/blob/master/eclass/kernel-2.eclass#L608</a>[/html]

Код:
RDEPEND="!build? (
    dev-lang/perl
    sys-devel/bc
    sys-devel/bison
    sys-devel/flex
    sys-devel/make
    >=sys-libs/ncurses-5.2
    virtual/libelf
    virtual/pkgconfig
	)"

То есть, если добавить USE="build", то зависимость (времени исполнения) не будет подтягиваться! Хм. Хм.

>>> sys-kernel/gentoo-sources-5.10.11 merged.
Меня путает эта такая логика.

Отредактировано Лис (2021-01-31 13:06:04)

0

5

# cd /usr/aarch64-baikal-linux-gnu/usr/src/linux

# make alldefconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf

WARNING: unmet direct dependencies detected for NET_NS
  Depends on [n]: NAMESPACES [=y] && NET [=n]
  Selected by [y]:
  - GENTOO_LINUX_PORTAGE [=y] && GENTOO_LINUX [=y]

WARNING: unmet direct dependencies detected for UNIX
  Depends on [n]: NET [=n]
  Selected by [y]:
  - GENTOO_LINUX_UDEV [=y] && GENTOO_LINUX [=y]
#
# configuration written to .config
#

# make ARCH=arm64 CROSS_COMPILE=aarch64-baikal-linux-gnu-

Отредактировано Лис (2021-01-31 13:13:24)

0

6

LD      .tmp_vmlinux.kallsyms1
aarch64-baikal-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-baikal-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-baikal-linux-gnu-ld: kernel/nsproxy.o: in function `create_new_namespaces':
nsproxy.c:(.text+0x100): undefined reference to `copy_net_ns'
aarch64-baikal-linux-gnu-ld: nsproxy.c:(.text+0x2e0): undefined reference to `__put_net'
aarch64-baikal-linux-gnu-ld: kernel/nsproxy.o: in function `free_nsproxy':
nsproxy.c:(.text+0x44c): undefined reference to `__put_net'
aarch64-baikal-linux-gnu-ld: kernel/events/core.o: in function `perf_event_namespaces.part.0':
core.c:(.text+0x3688): undefined reference to `netns_operations'
aarch64-baikal-linux-gnu-ld: kernel/events/core.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `netns_operations' which may bind externally can not be used when making a shared object; recompile with -fPIC
core.c:(.text+0x3688): dangerous relocation: unsupported relocation
aarch64-baikal-linux-gnu-ld: core.c:(.text+0x368c): undefined reference to `netns_operations'
aarch64-baikal-linux-gnu-ld: fs/fs_context.o: in function `put_fs_context':
fs_context.c:(.text+0xbc8): undefined reference to `__put_net'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `io_file_put_work':
io_uring.c:(.text+0x2280): undefined reference to `skb_dequeue'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x22e8): undefined reference to `skb_dequeue'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x233c): undefined reference to `unix_notinflight'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x24f0): undefined reference to `kfree_skb'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `__io_sqe_files_scm':
io_uring.c:(.text+0x3228): undefined reference to `__alloc_skb'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x32b4): undefined reference to `unix_inflight'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x32d4): undefined reference to `unix_destruct_scm'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `unix_destruct_scm' which may bind externally can not be used when making a shared object; recompile with -fPIC
io_uring.c:(.text+0x32d4): dangerous relocation: unsupported relocation
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x32d8): undefined reference to `unix_destruct_scm'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x331c): undefined reference to `skb_queue_head'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x3370): undefined reference to `kfree_skb'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `__io_sqe_files_update.isra.0':
io_uring.c:(.text+0x4c00): undefined reference to `unix_inflight'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `io_sqe_files_unregister':
io_uring.c:(.text+0x50c0): undefined reference to `kfree_skb'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x50c8): undefined reference to `skb_dequeue'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `io_ring_exit_work':
io_uring.c:(.text+0x8e60): undefined reference to `sock_release'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: in function `io_uring_setup':
io_uring.c:(.text+0x9868): undefined reference to `init_net'
aarch64-baikal-linux-gnu-ld: fs/io_uring.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `init_net' which may bind externally can not be used when making a shared object; recompile with -fPIC
io_uring.c:(.text+0x9868): dangerous relocation: unsupported relocation
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x9870): undefined reference to `init_net'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x9880): undefined reference to `sock_create_kern'
aarch64-baikal-linux-gnu-ld: io_uring.c:(.text+0x9bf0): undefined reference to `sock_release'
aarch64-baikal-linux-gnu-ld: fs/proc/namespaces.o:(.data+0x0): undefined reference to `netns_operations'
aarch64-baikal-linux-gnu-ld: warning: creating a DT_TEXTREL in object
make: *** [Makefile:1170: vmlinux] Error 1

Я в этом не разбираюсь, но судя по смайликам всё очень грустно...

«weak symbol references being emitted. Since taking the address of a weak symbol can yield NULL, the only way for the linker to accommodate this is to use GOT indirection for the direct symbol reference, so that the GOT entry can be set to NULL if the reference is not satisfied at link time.»

https://lkml.org/lkml/2020/10/27/3502
такие изменения (для symbol_get) в исходниках у меня уже внесены.

Отредактировано Лис (2021-01-31 15:50:21)

0

7

Скопировал весь текст с данной страницы. Индекс кирилличности - 21%. По-моему, Лис пока как-то недостаточно преуспел во внедрении кириллицы в свою деятельность.

0

8

Да и в целом: ставит имеющий мало отношения к России линукс на столь же мало имеющий отношения к России ARM, и всё на английском. Прямо как в анекдоте "и партизан не спас, и с зайцами нехорошо получилось".

0

9

Если ничего не помогает, прочти Лис, наконец, инструкцию.

# cd /usr/aarch64-baikal-linux-gnu/usr/src/linux
# make pdfdocs
sphinx-build didn't return its version at ./scripts/sphinx-pre-install line 285.
make[1]: *** [Documentation/Makefile:87: latexdocs] Error 1
make: *** [Makefile:1598: pdfdocs] Error 2

[html]
<a href="https://stackoverflow.com/questions/37757151/the-sphinx-build-command-was-not-found/50772630">https://stackoverflow.com/questions/37757151/the-sphinx-build-command-was-not-found/50772630</a>
<br />
<a href="https://www.sphinx-doc.org/en/master/usage/installation.html">https://www.sphinx-doc.org/en/master/usage/installation.html</a>
[/html]

Отредактировано Лис (2021-01-31 23:51:20)

0

10

БудДен написал(а):

ставит имеющий мало отношения к России линукс на столь же мало имеющий отношения к России ARM

Вот когда будешь свой индекс кирилличности без Windows повышать, тогда и поговорим,

Война. Дед Мазай с зайцами плывет по реке. На берегу партизаны базируются.
Дед: - Партизаны,есть охота,зайцы голодные, дайте что-нибудь перекусить...
Партизаны:- Дед, плыви отсюда,не до тебя,самим жрать нечего! Не приставай,а то зайцев съедим,а тебе морду набьём!
Поплыл дед дальше... На другом берегу немцы базируются.
Дед: - Немцы, дайте поесть! Зайцы голодные... Да и самому охота...
Немцы: - Дед,скажи,где партизаны? Накормим и тебя и зайцев!
Дед Мазай подумал-подумал (зайцев жалко), да и сказал немцам где партизаны. Немцы ноги в руки,в лодки попрыгали...
Дед: - Немцы, а пожрать???
Немцы: - Отвали, дед! Радуйся,что жив!
Дед: - Так вы ж обещали...
Немцы деду Мазаю и зайцам морды набили,сказали,чтоб не приставали...
Сидит дед Мазай, чешет голову и сокрушается...
- Блин! Зайцы голодные остались...... и с партизанами так неудобно получилось.......

Я уже писал БудДену, что я поддерживаю идею о том, что Linux не нужен. Что нужно всё полностью сделать на кириллице с самого низа.
Но он старенький уже́ видимо, и память у него плохая.

А мне MihalNik писал, что одного форума мало, нужно больше инфраструктуры. Я пока в этом направлении думаю.

Кроме того, Юрий мне писал, что не с моими лапками про компиляторы рассуждать, что мне надо сначала хотя бы сайт сделать. Вот делаю - перевожу со вражеского процессора на официально российский процессор.

Эльбрус мне не продают, не доверяют. Поэтому приходится пользоваться микросхемой "второго уровня", как разумному второго сорта.

Отредактировано Лис (2021-02-01 02:36:37)

0

11

Лис много лет критиковал любые начинания примерно с теми же аргументами: недосточно кирилличное и недостаточно отечественное, дескать. Поэтому никак нельзя было пройти мимо и не отомстить :) Однако в целом БудДен одобряет начинание Лиса.

0

12

БудДен написал(а):

примерно

Это другое!

0

13

Отключил в конфиге пространства имён (CONFIG_NET_NS) и ядро собрать удалось:
# du -b arch/arm64/boot/Image.gz
1773428 arch/arm64/boot/Image.gz

25.06.2020 13:44
В ядро Linux добавлена поддержка российских процессоров Baikal T1
Компания Baikal Electronics объявила о принятии в основной состав ядра Linux кода для поддержки российского процессора Baikal-T1 и основанной на нём системы на кристалле BE-T1000. Изменения с реализацией поддержки Baikal-T1 были переданы разработчик...

Такого я там не видел (не смотрел), надо будет тоже поискать.

Дальше нужно образ (каталистом?) и четвёртая попытка.

Отредактировано Лис (2021-02-01 18:31:13)

0