קוד: |
$ cd $ mkdir kernel $ cd kernel $ apt-get source linux-image-`uname -r` $ ls -al total 122020 drwxrwxr-x 2 dez dez 4096 Feb 25 20:58 . drwxr-xr-x 17 dez dez 4096 Feb 25 18:46 .. -rw-r--r-- 1 root root 8502791 Feb 12 15:43 linux_3.13.0-46.75.diff.gz -rw-r--r-- 1 root root 11783 Feb 12 15:43 linux_3.13.0-46.75.dsc -rw-r--r-- 1 root root 116419243 Feb 3 2014 linux_3.13.0.orig.tar.gz $ cd linux-3.13.0 $ make oldconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o In file included from scripts/kconfig/zconf.tab.c:2537:0: scripts/kconfig/menu.c: In function ‘get_symbol_str’: scripts/kconfig/menu.c:587:18: warning: ‘jump’ may be used uninitialized in this function [-Wmaybe-uninitialized] jump->offset = strlen(r->s); ^ scripts/kconfig/menu.c:548:19: note: ‘jump’ was declared here struct jump_key *jump; ^ HOSTLD scripts/kconfig/conf scripts/kconfig/conf --oldconfig Kconfig # # using defaults found in /boot/config-3.13.0-46-powerpc-smp # warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects FSL_LBC which has unmet direct dependencies (FSL_SOC) # # configuration written to .config # $ make prepare scripts/kconfig/conf --silentoldconfig Kconfig warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects FSL_LBC which has unmet direct dependencies (FSL_SOC) warning: (MPC836x_RDK && MTD_NAND_FSL_ELBC && MTD_NAND_FSL_UPM) selects FSL_LBC which has unmet direct dependencies (FSL_SOC) CHK include/config/kernel.release UPD include/config/kernel.release WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/trace_clock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/vtime.h CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h CC kernel/bounds.s GEN include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s GEN include/generated/asm-offsets.h CALL scripts/checksyscalls.sh <stdin>:1226:2: warning: #warning syscall sched_setattr not implemented [-Wcpp] <stdin>:1229:2: warning: #warning syscall sched_getattr not implemented [-Wcpp] <stdin>:1232:2: warning: #warning syscall renameat2 not implemented [-Wcpp] <stdin>:1235:2: warning: #warning syscall seccomp not implemented [-Wcpp] $ make scripts HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/data.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-lexer.lex.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/util.o HOSTLD scripts/dtc/dtc HOSTCC scripts/genksyms/genksyms.o SHIPPED scripts/genksyms/lex.lex.c SHIPPED scripts/genksyms/keywords.hash.c SHIPPED scripts/genksyms/parse.tab.h HOSTCC scripts/genksyms/lex.lex.o SHIPPED scripts/genksyms/parse.tab.c HOSTCC scripts/genksyms/parse.tab.o HOSTLD scripts/genksyms/genksyms CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h CC scripts/mod/devicetable-offsets.s GEN scripts/mod/devicetable-offsets.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC scripts/selinux/genheaders/genheaders HOSTCC scripts/selinux/mdp/mdp HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash HOSTCC scripts/asn1_compiler $ cp -v /usr/src/linux-headers-$(uname -r)/Module.symvers . ‘/usr/src/linux-headers-3.13.0-46-powerpc-smp/Module.symvers’ -> ‘./Module.symvers’ |
קוד: |
$ cp ~/a2363ccd8f9bc52339576b2420e0eea54e92df84.patch ./ $ patch -p1 < a2363ccd8f9bc52339576b2420e0eea54e92df84.patch patching file arch/powerpc/kvm/book3s.c Hunk #1 succeeded at 862 (offset -24 lines). Hunk #2 succeeded at 871 (offset -24 lines). Hunk #3 FAILED at 905. 1 out of 3 hunks FAILED -- saving rejects to file arch/powerpc/kvm/book3s.c.rej patching file arch/powerpc/kvm/book3s_pr.c Hunk #1 succeeded at 1202 (offset 49 lines). Hunk #2 succeeded at 1247 (offset 49 lines). Hunk #3 succeeded at 1264 (offset 49 lines). |
קוד: |
$ cat arch/powerpc/kvm/book3s.c |head -n 910 .... .... static void kvmppc_book3s_exit(void) { #ifdef CONFIG_KVM_BOOK3S_32_HANDLER kvmppc_book3s_exit_pr(); #endif kvm_exit(); } .... .... |
קוד: |
$ cd arch/powerpc/kvm/ $ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules make: Entering directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' Building modules, stage 2. MODPOST 0 modules make: Leaving directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' $ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install make: Entering directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' mkdir: cannot create directory ‘/lib/modules/3.13.0-46-powerpc-smp/extra’: Permission denied make: *** [_emodinst_] Error 1 make: Leaving directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' |
קוד: |
$ sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install [sudo] password for dez: make: Entering directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' DEPMOD 3.13.0-46-powerpc-smp make: Leaving directory `/usr/src/linux-headers-3.13.0-46-powerpc-smp' |
קוד: |
$ ls -al /lib/modules/3.13.0-46-powerpc-smp/extra total 8 drwxr-xr-x 2 root root 4096 Feb 25 21:31 . drwxr-xr-x 5 root root 4096 Feb 25 21:31 .. |
קוד: |
$ cd ../../.. $ make menuconfig |
קוד: |
$ sudo apt-get install kvm |
קוד: |
$ sudo modprobe kvm modprobe: FATAL: Module kvm not found. $ sudo qemu-system-ppc -m 1024 -M g3beige -hda macosx.img -boot c -prom-env 'boot-args=-v' -g 1024x768x32 -enable-kvm Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory |
קוד: |
.... .... @@ -905,7 +905,7 @@ module_init(kvmppc_book3s_init); module_exit(kvmppc_book3s_exit); /* On 32bit this is our one and only kernel module */ -#ifdef CONFIG_KVM_BOOK3S_32 +#ifdef CONFIG_KVM_BOOK3S_32_HANDLER MODULE_ALIAS_MISCDEV(KVM_MINOR); MODULE_ALIAS("devname:kvm"); #endif .... .... |
קוד: |
#ifdef CONFIG_KVM_BOOK3S_32_HANDLER |