カーネルをコンパイルするのは今回が初めてです。私は新鮮なミニマリストDebian Jessieをインストールしました...
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils
sudo apt-get install kernel-package
カーネルのインポート
cd /mnt/local/btrfs_a/Kernel\ Downloads/
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.tar.xz
タブレット
tar xvf linux-4.2.tar.xz
cd linux-4.2
既存のカーネル構成ファイルのコピー
cp /boot/config-$(uname -r) .config
次の行は変更されませんでした。
make menuconfig
make-kpkg clean
編む
fakeroot make-kpkg --initrd --revision=1.0.NAS kernel_image kernel_headers
しかし、結果は次のようになります。
IHEX firmware/yam/1200.bin
IHEX firmware/yam/9600.bin
make[1]: Leaving directory '/mnt/local/btrfs_a/Kernel Downloads/linux-4.2'
COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\
awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/stamp/build/info
uname -a >> debian/stamp/build/info
echo using the compiler: >> debian/stamp/build/info
if [ -f include/generated/compile.h ]; then \
grep LINUX_COMPILER include/generated/compile.h | \
sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> \
debian/stamp/build/info; \
elif [ -f include/linux/compile.h ]; then \
grep LINUX_COMPILER include/linux/compile.h | \
sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> \
debian/stamp/build/info; \
fi
echo done > debian/stamp/build/kernel
/usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-4.2.0
make[1]: Entering directory '/mnt/local/btrfs_a/Kernel Downloads/linux-4.2'
====== making target debian/stamp/install/linux-image-4.2.0 [new prereqs: ]======
This is kernel package version 13.014+nmu1.
rm -f -r .//mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0 .//mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0.deb
install -p -d -o root -g root -m 755 /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/etc/kernel/postinst.d /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/etc/kernel/preinst.d \
/mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/etc/kernel/postrm.d /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/etc/kernel/prerm.d
install -p -d -o root -g root -m 755 /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0//boot
install -p -d -o root -g root -m 755 /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/usr/share/doc/linux-image-4.2.0/examples
install -p -o root -g root -m 644 debian/changelog /mnt/local/btrfs_a/Kernel Downloads/linux-4.2/debian/linux-image-4.2.0/usr/share/doc/linux-image-4.2.0/changelog.Debian
install: target ‘Downloads/linux-4.2/debian/linux-image-4.2.0/usr/share/doc/linux-image-4.2.0/changelog.Debian’ is not a directory
debian/ruleset/targets/image.mk:34: recipe for target 'debian/stamp/install/linux-image-4.2.0' failed
make[1]: *** [debian/stamp/install/linux-image-4.2.0] Error 1
make[1]: Leaving directory '/mnt/local/btrfs_a/Kernel Downloads/linux-4.2'
debian/ruleset/local.mk:105: recipe for target 'kernel_image' failed
make: *** [kernel_image] Error 2
さて、私の初期のフォルダは../Kernel Downloads/..でした。気まぐれに「KernelDownloads」(空白なし)に変更して(上から)再コンパイルしてみました。今私に多くの質問をしています。これは正常ですか? Enterキーを押してデフォルト値を取得しました。これは正しいことですか?
答え1
多くの質問を受けることもカーネルを作る一つの方法です。私が知っているのは少し古いですが、「make xconfig」で始まり、設定をナビゲートする傾向があります。同じ問題なのにあまり残酷に感じられません。
すべてのデフォルト値を使用することをお勧めします。
答え2
カーネルファイルがあるフォルダ構造の空白に問題があるようです。そのスペースを削除した後、すべてがうまくいきます!