Дальше уже можем делать
Код: Выделить всё
[olej@notebook buildroot-2011.08]$ time make
...
P.S. здесь пошли очень длительные операции, поэтому их лучше делать под time, чтоб на следующий раз хоть знать, чего ожидать
Но! ... как уже было сказано, такой make будет: а). download исходник + б). make этот исходник...
Причём именно в последовательности: download1, make1, download2, make2, ... если на downloadN (через 2 часа сборки
) возникнет ошибка (просто URL требуемого пакета сменился), то весь процесс прервётся. Возможно, имеет смысл предварительно:
Код: Выделить всё
[olej@notebook buildroot-2011.08]$ make source-check
#
# configuration written to /home/olej/buildroot-2011.08/.config
#
...
Включен режим робота. Проверка существования удалённого файла.
--2011-11-21 01:11:35-- https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_9_RTM/src//
Распознаётся ftp.mozilla.org... 63.245.209.137, 3ff5:d189:3090:3001:dead:beef:cafe:fed4
Устанавливается соединение с ftp.mozilla.org|63.245.209.137|:443... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 5984608 (5,7M) [application/x-gzip]
Удалённый файл существует.
...
- проверка доступности ВСЕХ! файлов. Или даже:
Код: Выделить всё
[olej@notebook buildroot-2011.08]$ make source
...
- download все исходники, необходимые для сборки.
Я предварительно загрузки не делал и вот:
Код: Выделить всё
[olej@nvidia buildroot-2011.08]$ time make
...
--2011-11-21 02:02:47-- http://www.kernel.org/pub//linux/kernel/v2.6//linux-2.6.38.8.tar.bz2
Распознаётся www.kernel.org... 149.20.4.69
Устанавливается соединение с www.kernel.org|149.20.4.69|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 74811146 (71M) [application/x-bzip2]
Saving to: «/home/olej/buildroot-2011.08/dl/linux-2.6.38.8.tar.bz2»
...
/usr/lib/ccache/gcc -O2 -I/home/olej/buildroot-2011.08/output/host/include -I/home/olej/buildroot-2011.08/
/usr/bin/ld: cannot find -lc
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [insmod.static] Ошибка 1
make[2]: Выход из каталога `/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12/build'
make[1]: *** [all-all] Ошибка 2
make[1]: Выход из каталога `/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12'
make: *** [/home/olej/buildroot-2011.08/output/build/host-module-init-tools-3.12/.stamp_built] Ошибка 2
real 28m41.115s
user 11m53.697s
sys 3m43.161s
- здесь мы видим загрузку исходников ядра (в числе многих-многих других исходников) и ... ошибку...
Есть некоторые пакеты дистрибутива, которые должны быть у вас предварительно установлены для сборки, в данном случае - это статическая библиотека glibc. Этому делу легко помочь:
Код: Выделить всё
[olej@nvidia ~]$ yum list all glibc*
...
Установленные пакеты
glibc.i686 2.13-2
glibc-common.i686 2.13-2
glibc-devel.i686 2.13-2
glibc-headers.i686 2.13-2
Доступные пакеты
glibc-static.i686 2.13-2
glibc-utils.i686 2.13-2
[olej@nvidia ~]$ sudo yum install glibc-static
...
Объем загрузки: 1.1 M
Будет установлено: 4.4 M
Продолжить? [y/N]: y
...
Запускается сценарий
Установка : glibc-static-2.13-2.i686
Установлено:
glibc-static.i686 0:2.13-2
Готово!
Но я нигде в документации BuildRoot не встречал указания на это, что может привести в замешательство. Ещё одним таким пакетом (прерывающим сборку) может быть bison.
После доустановки:
Код: Выделить всё
[olej@nvidia buildroot-2011.08]$ time make
...
rootdir=/home/olej/buildroot-2011.08/output/target
table='/home/olej/buildroot-2011.08/output/build/_device_table.txt'
rm -f /home/olej/buildroot-2011.08/output/build/.fakeroot*
real 5m26.625s
user 4m2.834s
sys 0m45.166s
И смотрим время сборки: 5m26.625s + 28m41.115s = ~34m
Это:
а). чистое время задачи, не считая других загрузок ОС;
б). на очень быстром процессоре:
Код: Выделить всё
[olej@nvidia ~]$ cat /proc/cpuinfo | head -n10
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6600 @ 3.06GHz
в). сборку там make организует в 2 процессора (-j2), 2 - это у меня, а вообще - в числе доступных core...
И по размеру:
Код: Выделить всё
[olej@nvidia buildroot-2011.08]$ du -hs
2,5G .
Вот на такие ресурсы нужно быть готовым, приступая к игрищам с embedded