0
私の目標は、CPUコアを有効/無効にするシステムコールをlinuxカーネルで実装することです。CPUホットプラグのシステムコールの実装
まず、4コアシステムでCPU3に矛盾するシステムコールを実装しました。
#include <linux/kernel.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include <linux/cpumask.h>
#include <linux/smp.h>
asmlinkage long sys_new_syscall(void)
{
unsigned int cpu3;
set_cpu_online (cpu3, false) ; /* clears the CPU in the cpumask */
printk ("CPU%u is offline\n", cpu3);
return 0;
}
システムコールはカーネルに正しく登録されていたと私はカーネルの設定時に「CPUホットプラグ」機能を有効にして次のように
システムコールのコードがあります。
しかし絵を参照してください、カーネルは、最後の段階でコンパイルに失敗し、私はこのエラーました:私が間違っているのは何
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.6.7-rt13-v7+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
arch/arm/boot/Makefile:99: recipe for target 'install' failed
make[1]: *** [install] Error 1
arch/arm/Makefile:333: recipe for target 'install' failed
make: *** [install] Error 2
を?
ありがとうございます。私はラズベリーpi3/ModelBでLinuxをコンパイルしています。どのように私はこの問題を解決できますか? –
さらにスペースが必要です。カーネルを他のハードウェアでよりよくコンパイルするべきだと思います。 –