makefile make.conf make
Gentoopc 18 мая, 2018 - 01:11
помогите пожалуйста разобраться:
make config -влючил нужные мне драйвера жестко или модульно которые я бы хотел видет и ядре.
make install -установил ядро
а чем и куда передается информация об архитектуре процессора? откуда ее возьмет компилятор? или ее нужно передавать ему в качестве параметра?
ну например у меня специфический процессор не x86. это же нужно как-то указать или нет?
»
- Для комментирования войдите или зарегистрируйтесь
Открой для себя поиск в Интернете! :)
И удивись - он реально работает! :)
Также настоятельно рекомендую почитать русскую классику, и более современную ее версию. Возможно кое-что уже устарело, но это легко компенсируется мозгами и экспериментами... ;)
P.S. А вообще-то в твоем случае лучше взять готовый конфиг ядра от работающего
stage
илиLive
образа и подстраивать под себя (добавлять/убирать модули и т.п.). И еще совет: обязательно сохраняй где-нибудь отдельно все работающие версии конфига и делай по одному изменению за раз. Так ты сможешь лучше понять и изучить систему.я просто хочу понять откуда
я просто хочу понять откуда компилятор черпает информацию об железе для которого будет скомпелированно ядро?
этого нет в инете и в тех статьях на которые Вы дали ссылки и за которые я Вам благодарен
учитывая Ваш интерес к
учитывая Ваш интерес к встраиваемым системам, я бы начал изучение этого вопроса отсюда.
Там и тулчейн и кросс-компиляция худо-бедно объясняется.
Все остальное уже предметно искать на просторах интернета.
ребята, сейчас речь о другом.
ребята, сейчас речь о другом. тема же Вы видите какая. makefile, make.conf
я прошу Вас , чтобы вы объяснили настолько на сколько Вам позволяют Ваши знания, о том как компилятор собирает инфу о железе, перед тем, как будет компилировать. или откуда он ее берет
В иНете есть все!
Последний раз делаю поиск за тебя, ибо если даже это сложно, то лучше займись чем-нибудь другим...
Мне это тема неинтересна, а тупо искать для тебя информацию я не нанимался, как ты понимаешь! :)
а искать ничего не надо. я
а искать ничего не надо. я вас прошу рассказать, как Вы это понимаете, а ни как написанно в гугл. я сюда захожу не как в поисковик, а как к людям которые в теме.
Тогда ты ошибся адресом!
Здесь НЕ учат, а только помогают решать проблемы, когда ты сам уже зашел в тупик... Причем предполагается, что основную и черную работу ты делаешь сам, а мы только подсказываем тебе направление, куда рыть... А тебе уже неоднократно здесь давали ссылки на документацию (и это был совсем не "Гугл", как ты пишешь! :)) и советы на что посмотреть и с чем разобраться, но тебе подавай готовенькое...
А я, как и большинство здесь присутствующих, не вижу резона тратить свое время на обучение кого бы то ни было самым азам, тем более, что не вижу у тебя желания разобраться, а только требование готовых решений.
ребята, Вы ссылки дали на
ребята, Вы ссылки дали на handbook Gentoo. там и не было никогда такой инфы. а хотя похорошему бы должна быть. это ведь главное в понимании. то есть не посчитали за трудность написать многое , но главное не указали. и когда кто-то приходит с вопросами, то начинается эта песня о том, что надо где -то что -то рыть.
и вот Вы не правильно делаете. как раз нужно научить азам, научить правильно и тогда тот, кого Вы этому научили не будет задавать вопросы на форумах, потому что он отталкиваясь от той базы которую Вы дали сможет все сделать сам.
ну вот смотрите, это как школа... допустим учитель бы сказал первоклассникам: идите и учитесь сами, а когда зайдете в тупик, то я покажу куда рыть.
нужно как раз, чтобы трудные задачи решали сами, а ни кто-то за них, а вот правильные азы нужно давать тут. какую культуру привьете, так и будет. поэтому и рождаются говносборки от тех, которые рыли инфу, где могли. я не прошу учить, просто скажите
как связаны makefile make.conf ? куда и зачем обращается утилита make.
вот компиляция ядра, когда я сделал make. куда первым делом отправится эта утилита и зачем?
ну или где об этом написанно?
зачем давать ссылки в которых нет об этом ни слова, а потом упрекать, что не смог найти даже по готовому.
Еще раз - это НЕ школа!
Как раз таки учитель нанимается, чтобы учить!
А здесь НЕ школа, и никто здесь НЕ обязан никому и ничего.
Здесь сообщество энтузиастов-единомышленников (как правило, весьма занятых специалистов), которые жертвуют своим временем, чтобы помочь друг другу в случае проблем (но НЕ решать ЗА кого-то), если этот кто-то не в состоянии решить их сам.
Теперь понятно?
А ссылки, которые тебе давали, разумеется не содержат готовых рецептов (см. выше и предыдущие посты), но там достаточно информации, чтобы приложив усилия и порывшись дальше, найти решение твоей проблемы. Кстати, даже я, до этого никогда еще не интересующийся этой проблемой, уже увидел способы ее решения. ;)
А тебе, с твоим действительно каким-то детско-школьным подходом, надо бы начать серьезно учиться или выбрать чего по-проще...
я разве сказал , что мне
я разве сказал , что мне кто-то что-то должен? я только задал вопрос. если есть что сказать специалисту , то он скажет, если нет-то не скажет.
если вдруг специалист-интузиаст-единомышленник привык говорить только тогда когда ему заплатят, то тогда да, спору нет. но зачем ему тогда находится тут, на этом замечательном сайте, с замечательной философией? шел бы этот интузиаст на сайт фрилансеров и не портил бы атмосферу тут.
а мой детско-школьный подход не повод, давать вам размышления на тему кем мне нужно стать. я делаю это это потому что не нравится, а не за деньги как вы. это хобби.
единомышленников должна объединять идея, которая строится на любви к делу. и если кто-то вдруг задаст мне вопрос , который касается моего любимого дела, то я постараюсь развернуто дать ответ, потому что мне это будет приятно. ведь приятно говорить о том , что ты любишь по настоящему. возможно, что я даже наговорю больше того, что хотел бы знать спрашивающий. потому что я бы хотел говорить и говорить об этом. вот это понастоящему то что ты любишь, если можешь говорить и говорить об этом.
а если кто-то пишет, что никому ни чем не обязан, когда вопрос на тему о его как бы любимом деле, то тут не стоит даже допускать мысль, что этот человек увлечен этим делом. и ведь эти сообщества как Gentoo , orange pi и прочие создаются именно с целью направленной на развитие Gentoo и orange pi и прочих, а не на попытку обогатиться на них. а какое может быть развитие, если кто-то интересуется например, как установить Gentoo , а ему говорят-иди гугли.
или задает вопрос: как научиться собирать ядра под orange pi, а ему говорят-тут не школа. а ведь научи ты того кто хочет собирать ядра под orange pi, собирать их, то этим самым один начнет делать "ПО" именно это и нужно было тем, кто создавал форум Orange pi , именно для того, чтобы туда заходили , задавали вопросы, и после делали их продукт более популярным и понятным для пользователя. эти сообщества не для того, чтобы отбивать желание узнавать, а для того, чтобы помогать узнавать. не надо говорить , что Gentoo не нуждается ни в ком. уверяю, что Gentoo нуждается в таких вот спрашивающих и не знающих намного больше, чем в тех кто хоть что-то знает, но не любит Gentoo.
вас ждут на фрилансе.
Ты опять ничего не понял!
Я вроде бы объяснил уже, что нет желания разжевывать что-то, поскольку не видно встречного желания и старания разобраться самому. А ведь информации было дано достаточно и не только мной... но увы!..
И обвинения твои беспочвенны... да и ты далеко не первый, кто бросается такими обвинениями... но если просмотришь форум, то увидишь что людям, которые сами пытаются вникнуть и разобраться, тут помогают весьма охотно и подробно... и новичкам тоже... А то, что посылают к поисковикам на форуме и в Интернете, - так надоедает по несколько раз снова и снова рассказывать одно и то же вновь прибывшим. А пересказывать то, что есть в открытом доступе в Интернете - это вообще нужно иметь маниакальные склонности учить и поучать! Кстати, индусы и пакистанцы этим страдают почему-то...
А ты все перевел на деньги... это тут вообще не причем... тут серьезный народ работает и зарабатывает достаточно, чтобы не заниматься мелкими подработками. :)
вроде русские, а друг друга
вроде русские, а друг друга не понимаем. вы говорите, что народ тут серьезный и зарабатывает достаточно... а я вот вам скажу, что денег много не бывает. не знает человек нормы. ему надо и надо. ну даже пусть денег будет достаточно, но есть уже привычка не делать бесплатно то, что можно сделать за деньги.
и вот еще не понятно, что значит нет желания объяснять тому, у кого не видно встречного желания и старания разобраться самому? тот кто способен разобраться сам, не будет задавать вопросы, а если будет, то лишь от скуки. и что ему нужно помогать?
это как кормить сытого, и не дать кусок голодному. ну то есть стараться накормить того, кто в силах сам набить свой живот, и не дать тому, кто не способен прокормится. я даже не могу выразить весь абсурд происходящего... это как упали двое, один легко так подымается и все кинулись ему помогать, потому что у него получается встать, а тот кто валяется без сил как-то не вызывает желания помочь ему, потому что он не проявляет желания встать сам.
я верю, что этот форум еще не насквозь прогнил, и может быть есть единицы, кто не одурел до конца, такими вот идеями помочь тому, кому это нафиг не надо, и если такой человек зайдет и подскажет, то будет супер, а не зайдет, да и не велика потеря.
форум для всех. для умных и не очень. нельзя быть такими, пусть эти серьезные будут серьезными так где они зарабатывают, а тут можно и без них. как -нибудь перескоками да перебегами доберемся до сути. их в эти темы никто не зовет. и в их темы тоже не лезу. так что друг другу не мешаем.
я задаю вопросы тем кто знает и хочет отвечать. к остальным они не адресованны. очень может быть что зайдет кто-то со стороны и даст ответ. а запретить размещать вопросы ни кто не может, ни серьезные ни жадные.
вас я понял, не тратьте время на объяснение более.
Gentoopc написал(а): я просто
Он ее ниоткуда не берет, он уже собран (да, да... "компилятор скомпилирован" - для gentoo это норма) под определенную платформу (на англ. host platform или target platform). Платформа в том числе определяет какой набор команд какого семейства (или архитектуры) процессоров будет использоваться для кодогенерации. Иногда делают так, чтобы на одной платформе можно было компилировать и собирать код для другой платформы. Тогда та платформа, на которой производим сборку, называется build target.
make вообще здесь не причем. Он просто выполняет инструкции, которые написаны в makefile. Читайте GNU build system, например.
-----------
И да, перестаньте тут философию разводить. Всегда на любых форумах, когда дают ответ в стиле "идите читайте", значит у вас недостаток базовых знаний и отвечать на него разумно, чтобы это в будущем помогло другим участникам форума, нет никакой возможности.
Вы задаете вопросы, ответы на которые уже пережевывались неоднократно, нужно просто осилить весь этот багаж знаний. Да, дистрибутив gentoo с ОЧЕНЬ высоким порогом вхождения, для новичков все сложно. С этим ничего не сделать кроме как прочитать, разобраться, потренироваться, задавая по ходу конкретные вопросы. И когда говорят "идите читайте", значит идите и читайте, а потом, прочитав, задавайте Ваш вопрос заново. Почти уверен, что вопрос будет задан совершенно по другому, либо вообще вы найдете ответ сами!
Приехали!...
Занавес!.. :)
Причем тут бинарники компилятора, если речь идет о будущем ядре?! Следуя вашей логике программы для новых платформ никогда не были бы собраны.
FYI: Конфигурация "железа" для ядра - в (сюрприз! :D) конфигурации ядра, но, чтобы бинарник ядра содержал правильные коды, нужна так называемая кросс-компиляция. Подробности по ссылкам, что я уже давал.
SysA написал(а): Причем тут
А следуя вашей, получается что исходники ядра сами себя собирают... может быть не передергивать?
Говоря словами автора комментария выше, кросс-компилятор это и есть тот самый "другой компилятор" который умеет собирать для другой платформы.
Есть мысль что стоит немного охладить пыл дискуссии, всем участвующим сторонам.
Абсолютно не так!
Вадим, от тебя-то весьма странно слышать подобные заявления...
Во-первых, исходники не собираются, а пишутся людьми! :) Это бинарники собираются ИЗ исходников.
А во-вторых, система команд, используемая компилятором для выходного бинарника, задается всего лишь КЛЮЧАМИ компилятора!
Принципиально нет! Суть кросс-компиляции как раз-таки в том, что ты используешь компилятор на одной платформе для сборки бинарников для другой! ;) Т.е. не компилятор другой, а ключи/опции! Ну и среда (библиотеки и пр.) соответственно...
Да ладно! Все тут нормально, на личности еще не переходили, :) все в рамках философской беседы... ;) Taк что побереги модераторский пафос для другого раза...
SysA написал(а):evadim
Я то понимаю. Просто автор не всегда точно выражается, а ты либо невзначай либо намеренно внимания на это не обращаешь.
Но для этого нужно собрать соответствующий компилятор, разве нет? Тот что по умолчанию так не может. В gentoo есть для этого пакет crossdev, который собирает набор специальных компиляторов, которые работая на одной платформе, собирают код для другой. Или я ошибаюсь? Я регулярно так делаю, собирая libreboot, например.
Ну не верная трактовка же....
Вы или невнимательно прочитали мое сообщение, или просто поспешили дать необдуманный комментарий.
Вы удивитесь, но можете хоть увешаться разными флагами, которые как будто выбирают для вас соответствующую систему команд для кодогенерации, но они не будут иметь должного эффекта, пока вы не подготовите target platform. В процессе ее подготовки вам придется собрать binutils, заголовки ядра, системную библиотеку (если мы о linux), вероятно еще пару пакетов (какой-нибудь mpc, mpfr и т.п. для gcc). Собирая, вас попросят определить и указать все ту же целевую платформу: опция конфигурации --target. Можно не указывать! Тогда надеюсь понятна, какая платформа будет взята для дальнейшей сборки. И знаете в чем прелесть, вы не сможете указать более одной target за раз. В частности binutils, gcc и так далее разбирают этот target и "подстраиваются"
под него.
Поэтому собрав компилятор, например, для x86_64, вы, ну никак не сможете собрать код для arm, даже если вам этого очень хочется. И никакие флаги выбора "железа" вам не помогут. И комментарий про другой компилятор ошибочен! Как раз-то и нужен другой компилятор, который поддерживает целевую платформу. И нет возможности собрать "универсальный" компилятор под множество платформ.
В пределах платформы, да, пожалуйста. Здесь стоит согласиться, что выбирать флагом -march=core2 вместо -march=skylake для какого-нибудь core-i7 было бы странно (хотя бы с точки зрения векторных расширений, которые для ряда задач дают существенное ускорение). Однако, этот выбор прежде всего уже поддерживается и обеспечивается вашей платформой, вашим уже подготовленным компилятором.
Поэтому, пожалуйста, Вы уж если хотите придираться к моим комментариям, делайте это как-то обоснованно что ли.
Извиняюсь...
вообще-то я упомянул о "среде", но, видимо, сделал это не очень внятно и понятно. Еще раз прошу прощения, если это прозвучало как-то обидно.
SysA написал(а): вообще-то я
Да Вам собственно не за что извиняться. Все нормально. Всем спасибо, что заставили освежить в памяти некоторые подробности.
фига вы тут натоптали...
Из ссылок ниже: https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Cross-compiling_the_kernel
Так же вероятно пригодится: https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Frequently_asked_questions
P.S. Интересно, что мешает открыть и почитать ссылки которые за вас нашли и любезно вам предоставили?