Eu tento construir o kernel do Linux com o Buildroot usando o Docker. Eu criei uma imagem simples do Docker:
FROM debian:7
MAINTAINER OrangeTux
RUN apt-get update && \
apt-get install -y \
build-essential \
bash \
bc \
binutils \
build-essential \
bzip2 \
cpio \
g++ \
gcc \
git \
gzip \
make \
libncurses5-dev \
patch \
perl \
python \
rsync \
sed \
tar \
unzip \
wget
WORKDIR /root
RUN git clone git://git.buildroot.net/buildroot
WORKDIR /root/buildroot
CMD ["/bin/bash"]
Eu quero manter dl/
e output/build/
quando o contêiner parar, então não preciso baixar e compilar todas as dependências todas as vezes. Eu também quero os produtos de compilação no meu host. Portanto, eu começo o container assim:
$ docker run -ti -v $(pwd)/dl:/root/buildroot/dl -v \
$(pwd)/output/build:/root/buildroot/output/build -v \
$(pwd)/output/images:/root/buildroot/output/images orangetux/buildroot
Consigo executar make menuconfig
, que cria a configuração para o Buildroot. Eu fiz algumas modificações nos padrões. Aqui está a saída de make savedefconfig
:
BR2_arm=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_DEFCONFIG="at91_dt"
O próximo passo é criar linux-menuconfig
. Esta ação falhou e não tenho ideia do que está errado:
$ make linux-menuconfig
/usr/bin/make -j1 HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" silentoldconfig
make[1]: Entering directory '/root/buildroot'
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/root/buildroot/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/root/buildroot/output/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/root/buildroot/output/build/buildroot-config/tristate.config BR2_CONFIG=/root/buildroot/.config BR2_EXTERNAL=support/dummy-external SKIP_LEGACY= /root/buildroot/output/build/buildroot-config/conf --silentoldconfig Config.in
*** Error during update of the configuration.
make[1]: *** [silentoldconfig] Error 1
make[1]: Leaving directory '/root/buildroot'
make: *** [/root/buildroot/output/build/buildroot-config/auto.conf] Error 2
O arquivo /root/buildroot/output/build/buildroot-config/auto.conf
não existe.
Por que o arquivo não existe e como posso criar linux-menuconfig
?