From: BlaisorBlade <bla...@ya...> - 2003-12-26 18:06:30
|
Go here: http://web.tiscali.it/no-redirect-tiscali/blaisorblade/index.html to fetch a bunch of patches against stock 2.6.0 kernel to build UML(no, you don't need the -test9 patch on main site: it's included). That page describes main changes of it against the latest 2.6 patch. They are described in the Readme, that you *should* read; the tarball contains that Readme, too. To apply this, you must apply all the patches in order apart from the F-02 one. If you are a developer, you can check the README and see what you want. You can then build both i386 with SKAS support and UML from the same tree. The SKAS guest kernels should work also on 2.4 host, unless you take the F-02 patch, too (between the split-out ones). Now I've collected also some patches from Ingo Molnar and Michael A. Young; the only remaining issue with this package is with Fedora (workarounds available, see the Readme). Plus all the patches still to port from UML 2.4. If you are just a user, and you find 00-Combo-1.patch.bz2, fetch and apply it: bzcat 00-Combo-1.patch.bz2|patch -p1 I've not yet built this combo patch since I've not got one 2.6.0 which is truely "vanilla". I hope you'll find it soon. Bye -- cat <<EOSIGN Paolo Giarrusso, aka Blaisorblade Linux Kernel 2.4.21/2.6.0-test on an i686; Linux registered user n. 292729 EOSIGN |
From: Jeff C. <je...@si...> - 2003-12-28 05:17:15
|
On Fri, 26 Dec 2003, BlaisorBlade wrote: > Now I've collected also some patches from Ingo Molnar and Michael A. Young; > the only remaining issue with this package is with Fedora (workarounds > available, see the Readme). Plus all the patches still to port from UML 2.4. > Thanks for the great pointer. I've downloaded all these patches and finally able to boot a clean 2.6.0-1um using initrd. There seems to some problem with network (tuntap), but I'm still looking it. Here's what I did ... My real linux version is 2.4.24-pre1. My /usr/src/linux points to 2.6.0 with reiser4 and Ingo Molnar's uml-combo-2.6.0-A5 patch applied ... in order for "make menconfig" to set CONFIG_PROC_MM=y Here's my patch against Ingo Molnar's uml-combo-2.6.0-A5 patch to make the patch works if you use reiser4 ... After that patch, it'll be followed by another patch pointed out by BlaisorBlade ... 160c160 < - error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); --- > - error = do_mmap_pgoff(current->mm, file, addr, len, prot, flags, pgoff); 6709,6749d6708 < --- linux/include/linux/mm.h.orig < +++ linux/include/linux/mm.h < @@ -487,6 +487,9 @@ static inline int set_page_dirty(struct < return __set_page_dirty_buffers(page); < } < < +extern long do_mprotect(struct mm_struct *mm, unsigned long start, < + size_t len, unsigned long prot); < + < /* < * On a two-level page table, this ends up being trivial. Thus the < * inlining and the symmetry break with pte_alloc_map() that does all < @@ -517,9 +520,15 @@ extern void exit_mmap(struct mm_struct * < < extern unsigned long get_unmapped_area(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); < < -extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, < - unsigned long len, unsigned long prot, < - unsigned long flag, unsigned long pgoff); < +extern long do_mmap2(struct mm_struct *mm, unsigned long addr, < + unsigned long len, unsigned long prot, < + unsigned long flags, unsigned long fd, < + unsigned long pgoff); < + < +extern unsigned long do_mmap_pgoff(struct mm_struct *mm, struct file *file, < + unsigned long addr, unsigned long len, < + unsigned long prot, unsigned long flag, < + unsigned long pgoff); < < static inline unsigned long do_mmap(struct file *file, unsigned long addr, < unsigned long len, unsigned long prot, < @@ -529,7 +538,8 @@ static inline unsigned long do_mmap(stru < if ((offset + PAGE_ALIGN(len)) < offset) < goto out; < if (!(offset & ~PAGE_MASK)) < - ret = do_mmap_pgoff(file, addr, len, prot, flag, offset >> PAGE_SHIFT); < + ret = do_mmap_pgoff(current->mm, file, addr, len, prot, flag, < + offset >> PAGE_SHIFT); < out: < return ret; < } 9759,9833d9717 < --- linux/mm/memory.c.orig < +++ linux/mm/memory.c < @@ -44,6 +44,7 @@ < #include <linux/highmem.h> < #include <linux/pagemap.h> < #include <linux/rmap-locking.h> < +#include <linux/init.h> < #include <linux/module.h> < < #include <asm/pgalloc.h> < @@ -680,6 +681,24 @@ static inline struct page *get_page_map( < } < < < +static struct vm_area_struct fixmap_vma = { < + /* Catch users - if there are any valid < + ones, we can make this be "&init_mm" or < + something. */ < + .vm_mm = NULL, < + .vm_page_prot = PAGE_READONLY, < + .vm_flags = VM_READ | VM_EXEC, < +}; < + < +static int init_fixmap_vma(void) < +{ < + fixmap_vma.vm_start = FIXADDR_START; < + fixmap_vma.vm_end = FIXADDR_TOP; < + return(0); < +} < + < +__initcall(init_fixmap_vma); < + < int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, < unsigned long start, int len, int write, int force, < struct page **pages, struct vm_area_struct **vmas) < @@ -700,19 +719,8 @@ int get_user_pages(struct task_struct *t < < vma = find_extend_vma(mm, start); < < -#ifdef FIXADDR_USER_START < - if (!vma && < - start >= FIXADDR_USER_START && start < FIXADDR_USER_END) { < - static struct vm_area_struct fixmap_vma = { < - /* Catch users - if there are any valid < - ones, we can make this be "&init_mm" or < - something. */ < - .vm_mm = NULL, < - .vm_start = FIXADDR_USER_START, < - .vm_end = FIXADDR_USER_END, < - .vm_page_prot = PAGE_READONLY, < - .vm_flags = VM_READ | VM_EXEC, < - }; < +#ifdef FIXADDR_START < + if (!vma && start >= FIXADDR_START && start < FIXADDR_TOP) { < unsigned long pg = start & PAGE_MASK; < pgd_t *pgd; < pmd_t *pmd; < --- linux/mm/mmap.c.orig < +++ linux/mm/mmap.c < @@ -462,11 +462,11 @@ static int vma_merge(struct mm_struct *m < * The caller must hold down_write(current->mm->mmap_sem). < */ < < -unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, < - unsigned long len, unsigned long prot, < - unsigned long flags, unsigned long pgoff) < +unsigned long do_mmap_pgoff(struct mm_struct *mm, struct file * file, < + unsigned long addr, unsigned long len, < + unsigned long prot, unsigned long flags, < + unsigned long pgoff) < { < - struct mm_struct * mm = current->mm; < struct vm_area_struct * vma, * prev; < struct inode *inode; < unsigned int vm_flags; 9836,9845d9719 < @@ -222,7 +222,8 @@ fail: < } < < asmlinkage long < -sys_mprotect(unsigned long start, size_t len, unsigned long prot) < +do_mprotect(struct mm_struct *mm, unsigned long start, size_t len, < + unsigned long prot) < { < unsigned long vm_flags, nstart, end, tmp; < struct vm_area_struct * vma, * next, * prev; 9858,9870d9731 < @@ -326,6 +327,11 @@ sys_mprotect(unsigned long start, size_t < prev->vm_mm->map_count--; < } < out: < - up_write(¤t->mm->mmap_sem); < + up_write(&mm->mmap_sem); < return error; < } < + < +asmlinkage long sys_mprotect(unsigned long start, size_t len, unsigned long prot) < +{ < + return(do_mprotect(current->mm, start, len, prot)); < +} On uml linux, apply the following patches from ... http://web.tiscali.it/no-redirect-tiscali/blaisorblade/linux/archives/UML/v2/ A-01-Uml-update.patch A-02-Hostfs+hppfs.patch A-03-TTY_silly.patch A-05-Compile_no_proc_mm.patch C-01-Fix_clean_mrproper.patch C-02-Apply_altern-constants.patch C-03-Module_support.patch C-04-User_obj_makefiles.patch D-01-WarningFix.patch E-01-Add_proc_mm_support.patch E-02-Proc_mm_speedup.patch F-01-i386_skas_support.patch G-01-Align_fix.patch Next, apply the following patches I created to make uml compiles ... I'm no expert, but with these patches, at least I can now boot uml 2.6.0 on top of 2.4.24pre1. Thanks, Jeff --- uml/include/asm/ptrace-generic.h Sat Dec 27 23:18:48 2003 +++ uml.good/include/asm/ptrace-generic.h Sat Dec 27 11:42:52 2003 @@ -15,7 +15,7 @@ #define pt_regs pt_regs_subarch #define show_regs show_regs_subarch -#include "asm/arch/ptrace.h" +//#include "asm/arch/ptrace.h" #undef pt_regs #undef show_regs --- uml/arch/um/sys-i386/bugs.c.org Sat Dec 27 23:28:01 2003 +++ uml/arch/um/sys-i386/bugs.c Sat Dec 27 23:29:19 2003 @@ -16,6 +16,9 @@ #define MAXTOKEN 64 +extern int modify_ldt(int func, void *ptr, unsigned long bytecount); + + /* Set during early boot */ int host_has_cmov = 1; int host_has_xmm = 0; @@ -107,7 +110,7 @@ static void disable_lcall(void) { - struct modify_ldt_ldt_s ldt; + struct user_desc ldt; int err; bzero(&ldt, sizeof(ldt)); --- uml/arch/um/sys-i386/ptrace_user.c Thu Dec 18 10:58:28 2003 +++ uml.good/arch/um/sys-i386/ptrace_user.c Sat Dec 27 11:57:03 2003 @@ -15,6 +15,28 @@ #include "user.h" #include "os.h" +#define PTRACE_TRACEME 0 +#define PTRACE_PEEKTEXT 1 +#define PTRACE_PEEKDATA 2 +#define PTRACE_PEEKUSR 3 +#define PTRACE_POKETEXT 4 +#define PTRACE_POKEDATA 5 +#define PTRACE_POKEUSR 6 +#define PTRACE_CONT 7 +#define PTRACE_KILL 8 +#define PTRACE_SINGLESTEP 9 + +#define PTRACE_ATTACH 0x10 +#define PTRACE_DETACH 0x11 + +#define PTRACE_SYSCALL 24 + +#define PTRACE_FAULTINFO 52 +#define PTRACE_SIGPENDING 53 +#define PTRACE_LDT 54 +#define PTRACE_SWITCH_MM 55 + + int ptrace_getregs(long pid, unsigned long *regs_out) { return(ptrace(PTRACE_GETREGS, pid, 0, regs_out)); --- uml/arch/um/sys-i386/ptrace_user.c.org Sat Dec 27 23:47:53 2003 +++ uml/arch/um/sys-i386/ptrace_user.c Sat Dec 27 23:48:49 2003 @@ -7,8 +7,9 @@ #include <errno.h> #include <unistd.h> #include <linux/stddef.h> -#include <sys/ptrace.h> -#include <asm/ptrace.h> +//#include <sys/ptrace.h> +#include <linux/ptrace.h> +//#include <asm/ptrace.h> #include <asm/user.h> #include "kern_util.h" #include "sysdep/thread.h" --- uml/arch/um/kernel/syscall_kern.c.org Sat Dec 27 23:59:53 2003 +++ uml/arch/um/kernel/syscall_kern.c Sun Dec 28 00:07:54 2003 @@ -76,7 +76,7 @@ unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long pgoff) { - return do_mmap_pgoff(file, addr, len, prot, flag, pgoff); + return do_mmap_pgoff(mm, file, addr, len, prot, flag, pgoff); } #endif --- uml/arch/i386/kernel/sys_i386.c.org Sun Dec 28 00:12:31 2003 +++ uml/arch/i386/kernel/sys_i386.c Sun Dec 28 00:12:54 2003 @@ -40,15 +40,6 @@ } /* See this definition in arch/um/kernel/syscall_kern.c for comments.*/ -#ifndef CONFIG_PROC_MM -static inline unsigned long __do_mmap_pgoff( - struct mm_struct *mm, struct file *file, - unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flag, - unsigned long pgoff) { - return do_mmap_pgoff(file, addr, len, prot, flag, pgoff); -} -#endif /* common code for old and new mmaps */ long do_mmap2(struct mm_struct *mm, --- uml/mm/mmap.c.org Sun Dec 28 00:17:14 2003 +++ uml/mm/mmap.c Sun Dec 28 00:17:43 2003 @@ -714,7 +714,7 @@ return error; } -EXPORT_SYMBOL(__do_mmap_pgoff); +EXPORT_SYMBOL(do_mmap_pgoff); /* Get an address range which is currently unmapped. * For shmat() with addr=0. |
From: Domenico A. <ca...@li...> - 2003-12-29 03:17:30
|
Jeff Chua wrote: > Thanks for the great pointer. I've downloaded all these patches and > finally able to boot a clean 2.6.0-1um using initrd. There seems to some > problem with network (tuntap), but I'm still looking it. > > Here's what I did ... > > My real linux version is 2.4.24-pre1. My /usr/src/linux points to 2.6.0 > with reiser4 and Ingo Molnar's uml-combo-2.6.0-A5 patch applied ... in > order for "make menconfig" to set CONFIG_PROC_MM=y > > Here's my patch against Ingo Molnar's uml-combo-2.6.0-A5 patch to make the > patch works if you use reiser4 ... > this patch against uml-combo-2.6.0-A5 to make it work also with reiser4 does not consider patch do_mmap2-fix.diff.patch from namesys's latest snapshot (2003.12.23), does it? > After that patch, it'll be followed by another patch pointed out by > BlaisorBlade ... > -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: Jeff C. <je...@si...> - 2003-12-29 03:54:53
|
On Mon, 29 Dec 2003, Domenico Andreoli wrote: > this patch against uml-combo-2.6.0-A5 to make it work also with reiser4 > does not consider patch do_mmap2-fix.diff.patch from namesys's latest > snapshot (2003.12.23), does it? I use reiser4 all.diff.gz from 2003.12.23, and do_mmap2-fix.diff.patch is included in that patch already. Jeff |
From: Domenico A. <ca...@li...> - 2003-12-29 04:19:55
|
Jeff Chua wrote: > On Mon, 29 Dec 2003, Domenico Andreoli wrote: > > >>this patch against uml-combo-2.6.0-A5 to make it work also with reiser4 >>does not consider patch do_mmap2-fix.diff.patch from namesys's latest >>snapshot (2003.12.23), does it? > > > I use reiser4 all.diff.gz from 2003.12.23, and do_mmap2-fix.diff.patch is > included in that patch already. > i'm using the same all.diff.gz but i need to apply do_mmap2-fix.diff.patch before uml-combo-2.6.0-A5b. oh.. i'd like a lot the update of uml code in linux 2.6.1 :) cheers dom -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: Jeff C. <jc...@fe...> - 2003-12-29 05:49:50
Attachments:
do_mmap2-fix.diff.patch
|
On Mon, 29 Dec 2003, Domenico Andreoli wrote: > i'm using the same all.diff.gz but i need to apply do_mmap2-fix.diff.patch > before uml-combo-2.6.0-A5b. attached is do_mmap2-fix.diff.patch if you need it. Thanks, Jeff |
From: Domenico A. <ca...@li...> - 2003-12-29 22:01:40
|
Jeff Chua wrote: > On Mon, 29 Dec 2003, Domenico Andreoli wrote: > >> i'm using the same all.diff.gz but i need to apply do_mmap2-fix.diff.patch >> before uml-combo-2.6.0-A5b. > i don't really know what i did yesterday night to write this... anyway, this is my current situation: HOST side: in order to have a clean linux 2.6.0+reiser4 i apply all.diff from namesys snapshot 2003.12.23 and unapply their do_mmap2-fix.diff.patch and init_fixmap_vma.diff.patch. to get 2.6.0+reiser4+skas i apply uml-combo-2.6.0-A5, uml-combo-2.6.0-A5b is for those who have not unapplied do_mmap2-fix.diff.patch and init_fixmap_vma.diff.patch. UML side: i'm not able to build a uml kernel :( if i apply 00-Combo-4.patch.bz2 from http://web.tiscali.it/no-redirect-tiscali/blaisorblade/linux/archives/UML/v2/ to a vanilla 2.6.0 linux kernel and i try to build i get the following errors: gcc -o arch/um/util/mk_task_user.o -c arch/um/util/mk_task_user.c CC arch/um/util/mk_task_kern.o In file included from include/asm/thread_info.h:13, from include/linux/thread_info.h:21, from include/linux/spinlock.h:12, from include/linux/capability.h:45, from include/linux/sched.h:7, from arch/um/util/mk_task_kern.c:1: include/asm/processor.h:66: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) include/asm/processor.h:66: error: requested alignment is not a constant In file included from include/linux/gfp.h:4, from include/linux/slab.h:15, from include/linux/percpu.h:4, from include/linux/sched.h:31, from arch/um/util/mk_task_kern.c:1: include/linux/mmzone.h:55: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) include/linux/mmzone.h:55: error: requested alignment is not a constant arch/um/util/mk_task_kern.c: In function `main': arch/um/util/mk_task_kern.c:13: error: structure has no member named `regs' make[1]: *** [arch/um/util/mk_task_kern.o] Error 1 i am completely unable to understand what is going here, i have no clues. i spent all the day to figure out how to build the uml kernel. i also tried older blaisorblade's patches but everything failed.. any help is appreciated cheers domenico -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: Domenico A. <ca...@li...> - 2003-12-30 00:08:47
|
Domenico Andreoli wrote: > UML side: > i'm not able to build a uml kernel :( > incredibly i moved forward :) i discovered a bashism in arch/um/Makefile at line 104: STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) ^ ^ my /bin/sh points to dash, dash doesn't like these paretheses and for who knows why this produces the error i reported below. > if i apply 00-Combo-4.patch.bz2 from to a vanilla 2.6.0 linux kernel and i > try to build i get the following errors: > > gcc -o arch/um/util/mk_task_user.o -c arch/um/util/mk_task_user.c > CC arch/um/util/mk_task_kern.o > In file included from include/asm/thread_info.h:13, > from include/linux/thread_info.h:21, > from include/linux/spinlock.h:12, > from include/linux/capability.h:45, > from include/linux/sched.h:7, > from arch/um/util/mk_task_kern.c:1: > include/asm/processor.h:66: error: `CONFIG_X86_L1_CACHE_SHIFT' > undeclared here (not in a function) > include/asm/processor.h:66: error: requested alignment is not a constant > after i made my /bin/sh point back to bash, i restarted the build. i had to make a little fix (i'm compiling with SMP option) for CC arch/um/kernel/irq.o arch/um/kernel/irq.c: In function `irq_affinity_write_proc': arch/um/kernel/irq.c:637: error: `tmp' undeclared (first use in this function) arch/um/kernel/irq.c:637: error: (Each undeclared identifier is reported only once arch/um/kernel/irq.c:637: error: for each function it appears in.) make[1]: *** [arch/um/kernel/irq.o] Error 1 and restarted build again. then it's the time for following error: USR-CC arch/um/sys-i386/bugs.o arch/um/sys-i386/bugs.c: In function `disable_lcall': arch/um/sys-i386/bugs.c:110: error: storage size of `ldt' isn't known arch/um/sys-i386/bugs.c:117: warning: implicit declaration of function `modify_ldt' arch/um/sys-i386/bugs.c:110: warning: unused variable `ldt' make[1]: *** [arch/um/sys-i386/bugs.o] Error 1 hmmm... i'm pretty sure to have already seen stuff about modify_ldt somewhere.. ah, si.. uml-combo-2.6.0-A5b.uml provided by Jeff Chua.. two easy rejects and i'm back ready to build again. this is the final error, which i'm trying to fix: CC arch/um/sys-i386/ptrace.o arch/um/sys-i386/ptrace.c: In function `putreg': arch/um/sys-i386/ptrace.c:41: error: `FS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:41: error: (Each undeclared identifier is reported only once arch/um/sys-i386/ptrace.c:41: error: for each function it appears in.) arch/um/sys-i386/ptrace.c:46: error: `GS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:51: error: `DS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:52: error: `ES' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:57: error: `SS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:58: error: `CS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:63: error: `EFL' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EIP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `UESP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EAX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EBX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `ECX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EDX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `ESI' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EDI' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `EBP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:68: error: `ORIG_EAX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c: In function `getreg': arch/um/sys-i386/ptrace.c:78: error: `FS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:79: error: `GS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:80: error: `DS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:81: error: `ES' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:82: error: `SS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:83: error: `CS' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EIP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `UESP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EAX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EBX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `ECX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EDX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `ESI' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EDI' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EBP' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `ORIG_EAX' undeclared (first use in this function) arch/um/sys-i386/ptrace.c:87: error: `EFL' undeclared (first use in this function) make[1]: *** [arch/um/sys-i386/ptrace.o] Error 1 so i'm asking again the magic question: anybody has any good advice for me? thanks domenico -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: BlaisorBlade <bla...@ya...> - 2003-12-30 18:53:33
|
Alle 01:03, marted=EC 30 dicembre 2003, Domenico Andreoli ha scritto: > after i made my /bin/sh point back to bash, i restarted the build. > > i had to make a little fix (i'm compiling with SMP option) for I think you should avoid that, as the SMP option is not a lot cared about, = and=20 because even it's not related to whether you have a physical SMP.=20 > > and restarted build again. then it's the time for following error: > > USR-CC arch/um/sys-i386/bugs.o > arch/um/sys-i386/bugs.c: In function `disable_lcall': > arch/um/sys-i386/bugs.c:110: error: storage size of `ldt' isn't known > arch/um/sys-i386/bugs.c:117: warning: implicit declaration of function > `modify_ldt' arch/um/sys-i386/bugs.c:110: warning: unused variable `ldt' > make[1]: *** [arch/um/sys-i386/bugs.o] Error 1 > > hmmm... i'm pretty sure to have already seen stuff about modify_ldt > somewhere.. ah, si.. uml-combo-2.6.0-A5b.uml provided by Jeff Chua.. two > easy rejects and i'm back ready to build again. > > this is the final error, which i'm trying to fix: > > CC arch/um/sys-i386/ptrace.o > arch/um/sys-i386/ptrace.c: In function `putreg': > arch/um/sys-i386/ptrace.c:41: error: `FS' undeclared (first use in this > function) arch/um/sys-i386/ptrace.c:41: error: (Each undeclared identifier > is reported only once arch/um/sys-i386/ptrace.c:41: error: for each > function it appears in.) [...] > > so i'm asking again the magic question: anybody has any good advice for m= e? These symbols come from include/asm-i386/ptrace.h, which is included by lin= e=20 18 of include/asm-um/ptrace-generic.h: #include "asm/arch/ptrace.h" That file is included by include/asm-um/ptrace.h and finally asm/ptrace.h i= s=20 included at the top of sys-i386/ptrace.c. In this chain there is a lot of=20 symlinks involved, so either you messed up with some of them, or by=20 hand-editing the code you broke this "inclusion chain". =2D-=20 cat <<EOSIGN Paolo Giarrusso, aka Blaisorblade Linux Kernel 2.4.21/2.6.0-test on an i686; Linux registered user n. 292729 EOSIGN |
From: Jeff D. <jd...@ad...> - 2004-01-06 02:39:06
|
ca...@li... said: > i discovered a bashism in arch/um/Makefile at line 104: It's not clear to me whether the build is allowed to assume that bash is the shell, but the assignment of CONFIG_SHELL in the main Makefile seems to indicate that bash is at least preferred for the config. Jeff |
From: Domenico A. <ca...@li...> - 2004-01-06 12:48:11
|
Jeff Dike wrote: > ca...@li... said: > >>i discovered a bashism in arch/um/Makefile at line 104: > > > It's not clear to me whether the build is allowed to assume that bash is the > shell, but the assignment of CONFIG_SHELL in the main Makefile seems to indicate > that bash is at least preferred for the config. > i don't know where CONFIG_SHELL is coming from, gnu make documentation says only that if SHELL variable (not the environmente variable, mine is zsh, but the make's SHELL variable) is not specified, /bin/sh is used. -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: Jeff C. <je...@si...> - 2003-12-30 14:44:54
|
On Mon, 29 Dec 2003, Domenico Andreoli wrote: > to get 2.6.0+reiser4+skas i apply uml-combo-2.6.0-A5, uml-combo-2.6.0-A5b > is for those who have not unapplied do_mmap2-fix.diff.patch and Are you able to build the host kernel successfully? > UML side: > i'm not able to build a uml kernel :( > if i apply 00-Combo-4.patch.bz2 from > http://web.tiscali.it/no-redirect-tiscali/blaisorblade/linux/archives/UML/v2/ > to a vanilla 2.6.0 linux kernel and i try to build i get the following errors: > include/asm/processor.h:66: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) You will get that error if you apply 00-Combo-4.patch.bz2. That's correct behavior. Please do this ... #start with your host's source, copy to uml directory #(the host is the one that contains reiser4, and my patch # uml-combo-2.6.0-A5b) mkdir uml; cd uml; cd ../linux-2.6.0; find . | cpio -pdum ../uml #undo my _host_ patch in uml ... cd ../uml patch -R -p1 </tar/uml/uml-combo-2.6.0-A5b # now don't apply 00-Combo-4.patch.bz2 # only apply the following patches ... patch -p1 </tar/uml/v2/A-01-Uml-update.patch patch -p1 </tar/uml/v2/A-02-Hostfs+hppfs.patch patch -p1 </tar/uml/v2/A-03-TTY_silly.patch patch -p1 </tar/uml/v2/A-05-Compile_no_proc_mm.patch patch -p1 </tar/uml/v2/C-01-Fix_clean_mrproper.patch patch -p1 </tar/uml/v2/C-02-Apply_altern-constants.patch patch -p1 </tar/uml/v2/C-03-Module_support.patch patch -p1 </tar/uml/v2/C-04-User_obj_makefiles.patch patch -p1 </tar/uml/v2/D-01-WarningFix.patch patch -p1 </tar/uml/v2/E-01-Add_proc_mm_support.patch patch -p1 </tar/uml/v2/E-02-Proc_mm_speedup.patch patch -p1 </tar/uml/v2/F-01-i386_skas_support.patch patch -p1 </tar/uml/v2/G-01-Align_fix.patch you'll notice one error in arch/i386/kernel/sys_i386.c.rej, but that can be ignored as the patch is already there. # now, apply my _uml_ patch uml-combo-2.6.0-A5b2.uml # attached is my updated uml-combo-2.6.0-A5b2.uml # - fixed ptrace.h, and include asm-um instead asm patch -p1 </tar/uml/fix/uml-combo-2.6.0-A5b2.uml # now configure your uml make menuconfig ARCH=um # or make config ARCH=um make linux ARCH=um strip linux make modules ARCH=um Attached are my host .config and uml .config Let me know how it goes. Jeff. |
From: Domenico A. <ca...@li...> - 2003-12-30 16:29:45
|
Jeff Chua wrote: > On Mon, 29 Dec 2003, Domenico Andreoli wrote: > >>to get 2.6.0+reiser4+skas i apply uml-combo-2.6.0-A5, uml-combo-2.6.0-A5b >>is for those who have not unapplied do_mmap2-fix.diff.patch and > > Are you able to build the host kernel successfully? > yes, it is the one i'm currently running, it seems to work nicely. >>UML side: >>i'm not able to build a uml kernel :( > > Please do this ... > > #start with your host's source, copy to uml directory > #(the host is the one that contains reiser4, and my patch > # uml-combo-2.6.0-A5b) > mkdir uml; cd uml; cd ../linux-2.6.0; find . | cpio -pdum ../uml > i made a cp -a linux-2.6.0.orig linux-2.6.0.uml, linux-2.6.0.orig is a clean untarred vanilla kernel (no reiser4). > #undo my _host_ patch in uml ... > cd ../uml > patch -R -p1 </tar/uml/uml-combo-2.6.0-A5b > skipped > # now don't apply 00-Combo-4.patch.bz2 > # only apply the following patches ... > patch -p1 </tar/uml/v2/A-01-Uml-update.patch > patch -p1 </tar/uml/v2/A-02-Hostfs+hppfs.patch > patch -p1 </tar/uml/v2/A-03-TTY_silly.patch > patch -p1 </tar/uml/v2/A-05-Compile_no_proc_mm.patch > patch -p1 </tar/uml/v2/C-01-Fix_clean_mrproper.patch > patch -p1 </tar/uml/v2/C-02-Apply_altern-constants.patch > patch -p1 </tar/uml/v2/C-03-Module_support.patch > patch -p1 </tar/uml/v2/C-04-User_obj_makefiles.patch > patch -p1 </tar/uml/v2/D-01-WarningFix.patch > patch -p1 </tar/uml/v2/E-01-Add_proc_mm_support.patch > patch -p1 </tar/uml/v2/E-02-Proc_mm_speedup.patch > patch -p1 </tar/uml/v2/F-01-i386_skas_support.patch > patch -p1 </tar/uml/v2/G-01-Align_fix.patch > applied, no rejects > # now, apply my _uml_ patch uml-combo-2.6.0-A5b2.uml > # attached is my updated uml-combo-2.6.0-A5b2.uml > # - fixed ptrace.h, and include asm-um instead asm > patch -p1 </tar/uml/fix/uml-combo-2.6.0-A5b2.uml > i have not include/asm-um/ptrace.h, which after a build magically points to include/asm-um/ptrace-i386.h. so i patched ptrace-i386.h instead. here i get also two rejects arch/um/kernel/syscall_kern.c.rej and arch/i386/kernel/sys_i386.c.rej. i had to apply also A-04-MM-compile-fix.patch to make it compile. finally i get an half boot, everything goes until "VFS: Mounted root (reiserfs filesystem) readonly." where it hangs sucking all the cpu. uml_mconsole works and i'm able to kill it. could it be something tied to the host kernel? i use debian and if i run Matt's uml kernel it gets stuck at the same point. -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: BlaisorBlade <bla...@ya...> - 2003-12-30 18:27:21
|
> > if i apply 00-Combo-4.patch.bz2 from > > http://web.tiscali.it/no-redirect-tiscali/blaisorblade/linux/archives/UML > >/v2/ to a vanilla 2.6.0 linux kernel and i try to build i get the > > following errors: include/asm/processor.h:66: error: > > `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function) > You will get that error if you apply 00-Combo-4.patch.bz2. That's correct > behavior. Sorry, I don't agree *AT ALL*. Yes, I've done many errors in the patches, but this is not my fault (and combo-4 works well here; I've now uploaded D-03-Debian_workaround.patch, which is still separate, for the modify_ldt problem). It happens if, after compiling an i386 kernel, you don't do either: - a make mrproper or - remove the include/asm symlink before compiling an UML kernel. The kernel makefiles don't update the symlink by themselves; I'm so sure because I know that error and because include/asm-um/processor.h hasn't got line 66: it's much shorter. So, this time, it's not my fault. Bye -- cat <<EOSIGN Paolo Giarrusso, aka Blaisorblade Linux Kernel 2.4.21/2.6.0-test on an i686; Linux registered user n. 292729 EOSIGN |
From: BlaisorBlade <bla...@ya...> - 2003-12-30 19:34:09
|
About this patch: > uml-combo-2.6.0-A5b2.uml That can be dropped. You only need the user_desc change from it; you don't need any more to comment out those headers, as I patched the duplicate definition in the combo-4. Bye -- cat <<EOSIGN Paolo Giarrusso, aka Blaisorblade Linux Kernel 2.4.21/2.6.0-test on an i686; Linux registered user n. 292729 EOSIGN |
From: BlaisorBlade <bla...@ya...> - 2003-12-30 18:53:29
|
Alle 06:46, luned=EC 29 dicembre 2003, Jeff Chua ha scritto: > On Mon, 29 Dec 2003, Domenico Andreoli wrote: > > i'm using the same all.diff.gz but i need to apply > > do_mmap2-fix.diff.patch before uml-combo-2.6.0-A5b. > > attached is do_mmap2-fix.diff.patch if you need it. Sorry, that seems just a piece of the UML SKAS patch... And it's the opposi= te=20 of uml-combo-2.6.0-A5b... Are you sure that is the right patch? > Thanks, > Jeff =2D-=20 cat <<EOSIGN Paolo Giarrusso, aka Blaisorblade Linux Kernel 2.4.21/2.6.0-test on an i686; Linux registered user n. 292729 EOSIGN |
From: Domenico A. <ca...@li...> - 2003-12-28 16:27:26
|
Jeff Chua wrote: > Here's what I did ... > > My real linux version is 2.4.24-pre1. My /usr/src/linux points to 2.6.0 > with reiser4 and Ingo Molnar's uml-combo-2.6.0-A5 patch applied ... in > order for "make menconfig" to set CONFIG_PROC_MM=y > > Here's my patch against Ingo Molnar's uml-combo-2.6.0-A5 patch to make the > patch works if you use reiser4 ... > ehm... i was not able to apply this patch... > After that patch, it'll be followed by another patch pointed out by > BlaisorBlade ... > > ... and also this. maybe it's a problem with cut&paste... would you be so kind to make them with diff -u and post them as attachment? many thanks domenico -----[ Domenico Andreoli, aka cavok --[ http://filibusta.crema.unimi.it/~cavok/gpgkey.asc ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50 |
From: Jeff C. <je...@si...> - 2003-12-28 17:48:45
|
On Sun, 28 Dec 2003, Domenico Andreoli wrote: > > Here's my patch against Ingo Molnar's uml-combo-2.6.0-A5 patch to make the > > patch works if you use reiser4 ... > ehm... i was not able to apply this patch... sorry, 1st wasn't a "diff -u". Attached should be the correct one (uml-combo-2.6.0-A5b.patch). Again, apply this patch to uml-combo-2.6.0-A5, then patch the kernel. > > After that patch, it'll be followed by another patch pointed out by > > BlaisorBlade ... > ... and also this. maybe it's a problem with cut&paste... Ok, second patch is attached as well (uml-combo-2.6.0-A5b.uml) I've also attached my uml .config. CONFIG_MODVERSIONS works. SKAS works too. Jeff |