LINUX.ORG.RU

Gentoo на arm

 


0

1

Чуваки, скажите, возможно ли такое, можно ли накатить Gentoo на orangepi. Он только идет мне. Купленный самый простенький. В чем я вижу проблему? В том что проц 64битный, и я думаю, что операционная система, на которой я буду разворачивать Gentoo тоже будет 64 битной. Но для arm STAGE все 32 битные. Где я начитался такой ереси? Мой ответ, что на форумах. Больше мне ничего не сказали. Я не хотел беспокоить вас такими детскими вопросами, но суть в томю что я плохо знаю Gentoo а про arm я прочитал тут от буратино. И загорелся и тоже захотел такое чудо. Помогите советом, как развернуть 32 битный gentoo на 64 битном armbian и чтобы все обновлялось


Ответ на: комментарий от burato

ну энтузиазисты у малинки сдували термофеном этот vl805 и паяли :)

но меня и так устраивает.

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

сферический gcc в вакууме имеет. как правило, те что ее имеют сами собраны под arm. в противном случае это кросс-компилятор, у него архитектура выходных файлов отличается от той на которой он собран.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Могу я собрать gcc из source на архитектуре x86, такой что мог бы компилить под arm на машине x86? То есть собрать новый компилятор, который могбы компилить как под x86 так и под arm

LGH
() автор топика
Ответ на: комментарий от LGH

Да, проще всего это делается при помощи crossdev или crosstlol-ng. Сборка требует также cross-binutils для той же архитектуры и сборку libc.

Если хочется повозиться вручную ректмендую собрать lfs а потом почитать crosslfs (CLFS).

Для задачи генту на микрокомпьютере достаточно stage3 под арм\арм64 и любого дистрибутива который позволит кросс-компилировать ядро.

В принципе можно даже взять готовое ядро из какого-нибудь archlinuxarm/armbian и уже загрузив генту собрать свое.

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

по поводу и на x86 и на arm я честро говоря не уверен что это правильно. Но вроде бы возможно такое сделать. Лично мое мнение что как gcc должен вызываться только системный компилятор, а все кросс-компиляторы должны иметь префикс в имени. Иначе очень высока вероятность в один прекрасный момент получить что-нибудь системное собранное под другую архитектуру. Конечно времена когда в генту легко можно было случайно удалить libc прошли, но все-же систему лучше так не насиловать. Тем более что отдельный кросс-компилятор гораздо выгодней при выходе новой версии gcc так как его можно собрать отдельно.

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

Xfce4+firefox, на 3й малинке был midori вместо фаерфокса. на 4й не было 3д из-за его отсутствия для арм64 в ядре 5.6(или 5.5, точно не помню) На данный момент рассматриваю варианты как сделать rootfs не на microsd по причине того что а)медленно б) 2 уже сдохло

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

Эмм.. ну он от обычного гцц отличается названием и поддерживаемыми опциями. Т.е. кросс-компилятор для арм будет поддерживать те же -march -mtune что и родной компилятор на арм архитектуре. Для сборки ядра кросс-компилятором надо указать

CROSS_COMPILE=aarch64-unknown-linux-gnu- ARCH=arm64 make menuconfig

Но лучше перед menuconfig сделать defconfig для вашей платы. Опять же для 32-бит арм будут отличаться обе переменные.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Нет основной. И та и другая в равной степени

LGH
() автор топика
Ответ на: комментарий от LGH

ну на генту crossdev поставьте и запустите crossdev -t aarch64-unknown-linux-gnu

Это создаст нужный для сборки ядра кросс-компилятор.

Вцелом на Orange Pi весьма вероятно заработает обычное gentoo-sources.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Браузер нужно будет собрать кросскомпилятором. Хотел компилить прям на arm плате, но форумчане мне объяснили, что нехватит ни мощности, но оперативы. Поэтому подумал и решил собрать кросскомпилятором.crossdev сможет?

LGH
() автор топика
Ответ на: комментарий от LGH

Честно не пробовал. На первой малинке вебкит собрался после прописывания однопоточной сборки. С фаерфоксом сложнне, ему нужен раст. Как скросскомпилировать фаерфокс в оенту я честно пока не думал, но при учете почти суток компиляции рано или поздно придется над этим думать. Мне кажется надо попробовать для начала разобраться как его компилируют в том же void( у них вроде бы кросс-компиляция под арм)

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

Пока удалось нарыть следующее: rust поддерживает распределенную компиляцию через sccache. как при этом обстоят дела с кросс-компиляцией мне не ведомо, хотя и догадываюсь что никак.

Еще у меня есть черное подозрение что кросс-компиляция не поддерживается в самом ebuild для firefox.

на мой взгляд наиболее приемлемое решение при отсутствии 4 гб оперативки - собирать midori проклиная вебкит каждый раз когда он обновляется.

При наличии нескольких машинок может иметь смысл запустить sccache , только я лично не уверен что он поддерживается portage.

Для себя я на данный момент планирую собирать firefox на самой малинке, возможно вручную через ebuild, поскольку 4гб этой заразе впритык.

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

https://firefox-source-docs.mozilla.org/build/buildsystem/supported-configurations.html

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

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

Судя по первому взгляду собрать кросс-компилятором ebuild не удастся, по крайней мере я не увидел где в mizcoreconf-v6 есть возможность настройки кросс-компилятора. НО я не исключаю что такая возможность может быть в других eclass.

И все-таки мне наиболее правильной идеей кажется сборка на чем-либо arm64 с 4гб оперативной памяти. Может оно и долго, зато результат предсказуем.

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

Я бы поставил -j1 и оставил на пару суток. поскольку лучше медленно но соберется чем быстро но нет)

И собирать лучше на HDD/SSD в USB, при этом если на плате USB не в проце а через хаб то на нем лучше радиатор иметь. про радиатор на проце я вообще молчу, а по-хорошему обдувать мелким кулером его еще.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Ну это на малине… на orangepi частота процессора невысокая и температура небольшая.

Я тоже хотел малину, но денег хватило на Orangepi. Купил также sd на одной armbian будет стоять, на вторую наднях попытаюсь установить Gentoo. Сегодня уже сил нет. Архитектура специфичная, нужно время и терпение.

Малина может крутить yotube в 4к?

LGH
() автор топика
Ответ на: комментарий от LGH

не имею 4к монитора, проверить не могу :) но видеовыход точно тянет 4к, вроде 60фпс. По-идее состояние видео-декодера можно глянуть в mesa, то что заявляют сами разработчики может быть для blobа.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Не, я просто хотел знать тянет ли малина ролики в 4к. То есть просто нужно было бы найти на youtube такие деморолики и выставить разрешение просмотра 4к. У меня orangepi жутко тормозит даже на fullhd

LGH
() автор топика
Ответ на: комментарий от LGH

а у вас на ней меса с ускорением для LIMA ?

я подозреваю что дело может быть в софтовом ускорении.

Насколько я понимаю все микрокомпьютеры кроме Raspberry Pi 2-3+ тянут ускоренный OpenGL ES, полноформатный OpenGL у меня был на 3й малинке.

Декодинг видео насколько понимаю у малинки выполняется отдельным кодеком под который надо лицензию, но по-идее есть вариант с mesa. Хотя я в этом пока и не копался :)

Slackware_user ★★★★★
()
Ответ на: комментарий от LGH

CONFIG_VIDEO_SUNXI_CEDRUS в конфиге ядра есть?

и да, ядро mainline или allwinner древний?

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

У меня orangepi. Конфиг ядра пока не смотрел.

Как посмотрю, сразу напишу

Про lima не знаю к сожалению

LGH
() автор топика
Ответ на: комментарий от LGH

Видимо, mainline. Ядро от производителя так и не вышло 3.14.

тогда берем свежие gentoo-sources, делаем defconfig для ARCH=arm64 и menuconfig. Ищем все касающееся allwinner в драйверах и включаем. Особенно cedrus и lima/panfrost в зависимости от проца.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Я сейчас только что загрузчик uboot скомпилил кое как… проверил записав его на флешку с armbian… все работает. Значит теперь можно будет на другую флешку распокавать stage3-arm64, где у меня уже создан раздел и отформатирован…. возьму для начала старое ядро , перенесу вего, запишу загрузчик и испытаю. Но уже несегодня. Сил нет. Сборка u-boot очень тяжело далась.

Только подскажите, откуда модули ядра взять, для копирования в Gentoo? В какой они директории? Туплю, не могу найти.

Как только стартану на ядре от arbian, так сразу соберу новое включив все, что вы указали.

С модулями подскажите

LGH
() автор топика
Ответ на: комментарий от LGH

ну модули ядра собираются вместе с самим ядром. Для начала можно собрать монолит минимальный и потом на самой железке скомпилировать gentoo-sources.

И серьезно советую собирать не на флешке, они очень быстро дохнут

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Ну так то да, примонтирую /usr/src к ssd через переходник usb-sata , а потом соберу. Ок, спасибо за совет.

Про модули…. я для старта , для первого старта Gentoo на arm хочу взять ядро от armbian вместе с модулями.

То есть есть на другой sd полностью рабочая система armbian… хочу скопировать с нее ядро и модули в sd карточку с gentoo.

Где обычно лежат модули ядра?

LGH
() автор топика
Ответ на: комментарий от anonymous

На али у сеньеров из китая. Думал, думал и купил orangepiwin. Я не шарю в них, просто прочитал характеристики поверхностно, глянул на цену и собрал гроши, и как раз хватило. Заказал и пришло. Usb порты лишь минус, хлипкие они, а так приятная вещица. Stage скачал отсюда, что давали ссылки выше

Не знаю подойдет ли

LGH
() автор топика
Ответ на: комментарий от LGH

для Orange Pi Win видеокарта mali 400, соответственно надо удостовериться что в конфигурации есть драйвер lima.

Для более новых апельсинок там нужен panfrost.

Slackware_user ★★★★★
()
Ответ на: комментарий от Slackware_user

Помню я дерево устройств. Как то пытался познакомится на x86. Как нистранно оно и там имело место…. Это ад.

Ладно, завтра может получится и ядро выкачить. Интернет жутко тормозит вечером.

Главное, чтоб со stage угадать. Там со systemdi еще есть. Вобщем сложно

LGH
() автор топика
Ответ на: комментарий от LGH

Для сборки ядра Вам и с системд сойти должен. А вот с дальнейшей работой это уже да, сложнее.

Slackware_user ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.