<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Кросс-компиляция пакетов под mips в Debian]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=36451&amp;type=atom" />
	<updated>2014-10-23T22:56:42Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=36451</id>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427982#p427982" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>но под неё не оказалось  дистрибутива Debian Wheezy</p></blockquote></div><p>не знаю где ты искал... <a href="http://cdimage.debian.org/debian-cd/7.7.0/mips/iso-cd/">http://cdimage.debian.org/debian-cd/7.7.0/mips/iso-cd/</a></p><p>и вообще похоже ты не то пробовал о чём я говорю... Алгоритм примерно такой:<br />(сейчас под рукой ничего нет, так что буду писать по памяти то, что выделено курсивом — очень условно)<br />1. <strong>mkdir debian-chroot</strong><br />2. распаковываешь в debian-chroot базовую систему с мипсом... в дебе должны быть механизмы, чтобы её бутстрапить, но угадать сейчас не смогу... можно даже с платы с корня твоей железяки обычный тарбол снять (подразумевая, что там есть работоспособный apt и bash)<br />3. <strong>apt-get install <em>qemu-user-mips-static</em></strong><br />4. <strong>modprobe <em>binfmt_misc</em> &amp;&amp; echo -e &#039;<em>очень сложное заклинание для mips&#039;a</em>&#039; &gt;<em>/proc/где-то-там/binfmt/misc</em></strong> # гуглится по ключевым словам... в принципе дебианщики могли сделать простой скрипт-обёртку над этим заклинанием<br />5. <strong>ln <em>/usr/bin/qemu-user-mips</em> debian-chroot/usr/bin</strong> # или cp если они на разных ФС<br />6. <strong>chroot debian-chroot /bin/bash</strong></p><p>дальше можно работать как будто ты в нативной mips системе...само собой, сборка будет идти значительно медленнее, чем нативная, но не будет геморроя кросс компиляции...<br />Если не понятно, то попозже могу расписать конкретнее...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2014-10-23T22:56:42Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427982#p427982</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427974#p427974" />
			<content type="html"><![CDATA[<p>Пробовал поднять debian:mips на qemu, но под неё не оказалось&nbsp; дистрибутива Debian Wheezy <img src="https://linuxforum.ru/img/smilies/ac.gif" alt="ac" />((</p>]]></content>
			<author>
				<name><![CDATA[NewUse]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35787</uri>
			</author>
			<updated>2014-10-23T21:11:29Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427974#p427974</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427950#p427950" />
			<content type="html"><![CDATA[<p>так... по поводу проблем с установкой библиотек другой архитектуры... есть два ряда граблей:<br />1) версии для разных архитектур должны совпадать с точности до последней +b1 (подчёркнуто <a href="http://www.lshift.net/blog/2012/06/17/using-debian-multiarch-for-cross-compiling/">тут</a>)<br />2) если пакет содержит исполняемые файлы (эльфы или скрипты — не важно, главное, что ложаться в /usr/bin), то он должен быть специальным образом адаптирован и пока этого не сделают с этим ничего не поделаешь, кроме как писать в дебиановские мейллисты/багзиллу. <a href="https://wiki.ubuntu.com/MultiarchCross">немного инфы</a></p><p><strong>libpcap0.8-dev</strong> как раз относится ко вторым из-за pcap-config. сюда же относятся и многие другие -dev пакеты...</p><div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>apt-get build-dep -a mips freeradius</p></blockquote></div><p>пробовал так:<br /></p><div class="codebox"><pre><code>apt-get build-dep freeradius:mips</code></pre></div><p>но у меня ставит нативные =(<br />а в начале было такое воодушивление...</p><p>После такого хочется сделать плачевный вывод, что multiarch в дебиане для кросскомпиляции, вообще говоря, не особо пригоден... <br />Может стоит рассмотреть альтернативы кросскомпиляции? я всё больше склоняюсь к тому, что поднять misp&#039;овый chroot-префикс с qemu-usermod эмуляцией будет проще... К тому же избавит в будущем от потенциальных проблем...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2014-10-23T17:24:32Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427950#p427950</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427787#p427787" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Этот пакет не содержит ничего существенног</p></blockquote></div><p>Да, я так и понял но в Build-Depends у freeradius значится именно он, а вот почему он не хватает архитектуру :all я так и не понял...<br />libpcap0.8-dev:mips стоит, поставить его параллельно с libpcap0.8-dev:i386 не удалось <img src="https://linuxforum.ru/img/smilies/ac.gif" alt="ac" /><br />попытка установить libpcap-dev:all приводит к попытке заменить libpcap-dev:mips на libpcap-dev:i386....</p>]]></content>
			<author>
				<name><![CDATA[NewUse]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35787</uri>
			</author>
			<updated>2014-10-22T20:42:03Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427787#p427787</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427784#p427784" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>Гуру, как быть, куда копать далее?</p></blockquote></div><p>Этот пакет <a href="https://packages.debian.org/ru/jessie/libpcap-dev">не содержит</a> ничего существенного, только документацию. Потому и all. При этом он зависит от libpcap0.8-dev, и я бы попробовал установить последний, а потом попробовал бы снова установить freeradius.</p>]]></content>
			<author>
				<name><![CDATA[yars]]></name>
				<uri>https://linuxforum.ru/profile.php?id=22799</uri>
			</author>
			<updated>2014-10-22T20:17:24Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427784#p427784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427781#p427781" />
			<content type="html"><![CDATA[<p>СПАСИБО ОГРОМНОЕ!</p><p>Вроде победил, установил бинарный кросстул из эмдебиан репозитоия, но вот незадача:<br />никак не могу победить зависимости:<br />:~#apt-get build-dep -a mips freeradius<br />Чтение списков пакетов… Готово<br />Построение дерева зависимостей<br />Чтение информации о состоянии… Готово<br />E: Зависимость типа Build-Depends для freeradius не может быть удовлетворена, так как пакет libpcap-dev не найден<br />Пакета под mips-архитектуру, похоже не существует, та как он под архитектуру :all<br />Гуру, как быть, куда копать далее?</p>]]></content>
			<author>
				<name><![CDATA[NewUse]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35787</uri>
			</author>
			<updated>2014-10-22T19:59:41Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427781#p427781</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427564#p427564" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>Да, надеялся на готовый пакет, ясно, значит ручкаи</p></blockquote></div><p>если что, то тут я похоже был не прав))</p><div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>На сколько я понимаю, <a href="https://wiki.debian.org/BuildingCrossCompilers">https://wiki.debian.org/BuildingCrossCompilers</a> там сказано и выделенно жирным, что эти кросс-тулчейны уже должны быть....но как найти их -- я не допёр.</p></blockquote></div><p>а ещё там сказано:<br /></p><div class="quotebox"><blockquote><p>Please note that most of this page is out-of-date. Emdebian toolchains are no longer supported, and multi-arch toolchains are the future. That said, multi-arch cross-gcc is not yet in Debian. Unofficial snapshots can be obtained from <a href="http://toolchains.secretsauce.net/">http://toolchains.secretsauce.net/</a></p></blockquote></div><p>т.е. или «надо ещё чуть-чуть подождать =) или пользоваться неофициальной репой, или собирать самому... <br />репа у меня не завилась т.к. версия gcc не соответствует ни sid&#039;у, ни jessie... возможно в течение недели поправят...</p><p>Сборку тулчейна делал по этой доке:&nbsp; <a href="https://wiki.debian.org/MultiarchCrossToolchainBuild">https://wiki.debian.org/MultiarchCrossToolchainBuild</a> (раздел Local building of multiarch cross-toolchains), но до конца не довёл т.к. места на харде под виртуалку найти сейчас не могу...</p><p>Из подводных камней:<br />На чистом wheezy сборка не работает хотя бы из-за того, что gcc староват...<br />Желательно перейти хотя бы на jessie полностью... (или я просто дзеном смешения ветвей debian&#039;а плохо владею)<br />gcc лучше сразу брать 4.9 после сборки 4.8 у меня пакеты не установились из-за конфликтов... (хотя это может быть связано с предыдущим пунктом)<br />binutils самому собирать не обязательно в jessie он уже запакован: binutils-mips-linux-gnu</p><p>пока всё...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2014-10-21T18:02:03Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427564#p427564</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427555#p427555" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>если ищешь готовый бинарный пакет, то в его существовании есть сомнения...</p></blockquote></div><p>Да, надеялся на готовый пакет, ясно, значит ручкаи</p><div class="quotebox"><blockquote><p>в чём затык случился?</p></blockquote></div><p>не нашёл пошагового how-to, добавил репозитории&nbsp; с целевой архитектурой (dpkg --add-architecture mips), а дальше на сколько я понял нужен cross-build toolchain под mips, а вот как его правильно собрать и как им пользоваться&nbsp; -- мозгов&nbsp; не хватает.</p><p>На сколько я понимаю, <a href="https://wiki.debian.org/BuildingCrossCompilers">https://wiki.debian.org/BuildingCrossCompilers</a> там сказано и выделенно жирным, что эти кросс-тулчейны уже должны быть....<br />но как найти их -- я не допёр.</p><p>apt-get source freeradius<br />apt-get build-dep -a mips freeradius:<br />Build-Depends для freeradius не может быть удовлетворена, так как пакет libpcap-dev не найден<br />хотя пакет стоит....<br />dpkg-buildpackage -amips -b<br />не проходит (не удаётся поставить все пакеты под мипс, некоторых нет в репозитории, некоторые то ли не нужны то ли имеют другое название)</p><div class="quotebox"><blockquote><p>ЗЫ: для сборки multiarch toolchain&#039;а пришлось кой-чего забрать из jessie...</p></blockquote></div><p>можете поподробнее накидать пример для получения готовой среды для сборки под мипс, если не сложно?</p>]]></content>
			<author>
				<name><![CDATA[NewUse]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35787</uri>
			</author>
			<updated>2014-10-21T16:50:10Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427555#p427555</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427449#p427449" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>Пытался собрать multiarch toolchain, и emdebian toolchain но ни то ни другое не увенчалось успехом</p></blockquote></div><p>сдаётся мне, что multiarch toolchain сейчас и есть самый Ъ способ... в чём затык случился?</p><div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>Не верю, чтоб не было штатного метода кросс-компиляции под штатную же архитектуру</p></blockquote></div><p>если ищешь готовый бинарный пакет, то в его существовании есть сомнения...</p><div class="quotebox"><cite>NewUse пишет:</cite><blockquote><p>не верю, чтоб девелоперы так же мудрили с тулчейнами, должен же быть простой механизм?</p></blockquote></div><p>для стоковой сборки пакетов используются либо нативные либо эмулируемые под qemu билд-фермы... т.к. кросс компиляция работает не для всех пакетов, а в худшем случае производит нерабочие бинарники...</p><p>ЗЫ: для сборки multiarch toolchain&#039;а пришлось кой-чего забрать из jessie...</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2014-10-21T06:49:01Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427449#p427449</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Кросс-компиляция пакетов под mips в Debian]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=427424#p427424" />
			<content type="html"><![CDATA[<p>Сорри за лаймерский вопрос, но не ужели нет простого способа кросскопиляции deb-src пакетов в i386 для офф. поддерживаемой архитектуры?</p><p>Имеется дохлая железяка под mips64 с debian7-based ОС, имеется другая &quot;мощная&quot; железяка с i386 архитектуой и Debian7.6.</p><p>Необходимо пересобрать пакет freeradius с добавлением специфичных патчей.</p><p>Debian7 официально портирован под mips и пакет freeradius под данную архитектуру существует и ставится из штатного репозитоия.</p><p>Гуру, подскажите лаймеру наиболее простой способ сборки из deb-source исходников пакета на i386 под mips.</p><p>Пытался собрать multiarch toolchain, и emdebian toolchain но ни то ни другое не увенчалось успехом <img src="https://linuxforum.ru/img/smilies/ac.gif" alt="ac" /></p><p>Не верю, чтоб не было штатного метода кросс-компиляции под штатную же архитектуру, но поиски соответствующей хау-тушки не увенчались успехом, не верю, чтоб девелоперы так же мудрили с тулчейнами, должен же быть простой механизм?</p><p>Подскажите, плз,<br />Заранее спасибо!</p>]]></content>
			<author>
				<name><![CDATA[NewUse]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35787</uri>
			</author>
			<updated>2014-10-20T20:21:14Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=427424#p427424</id>
		</entry>
</feed>
