Debian Linux でカーネル 4.2 をコンパイルする際に発生する問題 (Jessie)

Debian Linux でカーネル 4.2 をコンパイルする際に発生する問題 (Jessie)

カーネルをコンパイルするのは今回が初めてです。私は新鮮なミニマリスト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

カーネルファイルがあるフォルダ構造の空白に問題があるようです。そのスペースを削除した後、すべてがうまくいきます!

関連情報