This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
people:mmazur [2005-08-12 21:29] mmazur commits work :) |
people:mmazur [2006-11-14 18:19] mmazur test6 |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | [[http://ep09.pld-linux.org/~mmazur/|http://ep09.pld-linux.org/~mmazur/]] | + | |
+ | |||
+ | <file>[mmazur@rudy(pldac) linux-libc-headers]$ export|grep -i llh | ||
+ | declare -x LLHDIR="/home/users/mmazur/devel/pld/sandbox/linux-libc-headers/" | ||
+ | [mmazur@rudy(pldac) linux-libc-headers]$ pwd | ||
+ | /home/users/mmazur/devel/pld/sandbox/linux-libc-headers | ||
+ | [mmazur@rudy(pldac) linux-libc-headers]$ ls | ||
+ | 2.4 cvs linux-libc-headers skrypty tmp | ||
+ | 2.6 diffy paczka sources zepsute | ||
+ | </file> | ||
+ | Pod 'linux-libc-headers' jest zawartość cvsu, 'scripts' to link symboliczny do 'linux-libc-headers/scripts', jest tam kilka przydatnych rzeczy. W 'sources' są trzymane źródła kerneli, natomiast pod '2.4' i '2.6' są wyciągnięte ze źródeł nagłówki. Pierwsza rzecz, to zassać najnowszy kernel, rozpakować i wyciągnąć z niego nagłówki. W tym celu pierw sprawdzimy które katalogi z nagłówkami nas interesują. | ||
+ | |||
+ | |||
+ | |||
+ | <file>[mmazur@rudy(pldac) linux-libc-headers]$ ls 2.6/2.6.12.2/include/ | ||
+ | asm-alpha asm-generic asm-m68k asm-ppc64 asm-sparc64 mtd | ||
+ | asm-arm asm-h8300 asm-m68knommu asm-s390 asm-um scsi | ||
+ | asm-arm26 asm-i386 asm-mips asm-sh asm-v850 sound | ||
+ | asm-cris asm-ia64 asm-parisc asm-sh64 asm-x86_64 | ||
+ | asm-frv asm-m32r asm-ppc asm-sparc linux | ||
+ | </file> | ||
+ | Oto którymi nagłówkami interesowaliśmy się ostatnio. No to teraz dodajemy z obecnego kernela. | ||
+ | |||
+ | |||
+ | |||
+ | <file>[mmazur@rudy(pldac) linux-libc-headers]$ mkdir 2.6/2.6.13.2 | ||
+ | [mmazur@rudy(pldac) linux-libc-headers]$ cd 2.6/2.6.13.2/include/ | ||
+ | [mmazur@rudy(pldac) include]$ ls | ||
+ | acpi asm-cris asm-i386 asm-m68knommu asm-ppc64 asm-sparc asm-x86_64 media rxrpc | ||
+ | asm-alpha asm-frv asm-ia64 asm-mips asm-s390 asm-sparc64 asm-xtensa mtd scsi | ||
+ | asm-arm asm-generic asm-m32r asm-parisc asm-sh asm-um linux net sound | ||
+ | asm-arm26 asm-h8300 asm-m68k asm-ppc asm-sh64 asm-v850 math-emu pcmcia video | ||
+ | [mmazur@rudy(pldac) include]$ rm -rf acpi/ math-emu/ media/ net pcmcia/ rxrpc/ video/ | ||
+ | </file> | ||
+ | No to pozbyliśmy się nieistotnych katalogów. Robimy diffy. | ||
+ | |||
+ | |||
+ | |||
+ | <file>[mmazur@rudy(pldac) linux-libc-headers]$ cd scripts | ||
+ | [mmazur@rudy(pldac) scripts]$ ./mkdiffs.sh 2.6.12.2 2.6.13.2 | ||
+ | [mmazur@rudy(pldac) scripts]$ cd ../diffy/ | ||
+ | [mmazur@rudy(pldac) diffy]$ ls -lh | ||
+ | total 3.9M | ||
+ | -rw------- 1 mmazur users 16K Sep 28 19:56 add | ||
+ | -rw------- 1 mmazur users 424 Sep 28 19:56 del | ||
+ | -rw------- 1 mmazur users 3.1M Sep 28 19:55 full.diff | ||
+ | -rw------- 1 mmazur users 794K Sep 28 19:56 specific.diff | ||
+ | </file> | ||
+ | W 'add' jest lista plików dodanych w nowej wersji kernela, w 'del' usuniętych, 'full.diff' to pełny diff (diff -urN), natomiast 'specific.diff' to diff tylko pomiędzy plikami, które istnieją w obu wersjach kernela. Lista w 'add' jest taka długa, bo doszła nowa architektura, ale dodawaniem i wywalaniem plików, to już się ja zajmę. | ||
+ | |||
+ | Główna zabawa jest z nałożeniem 'specific.diff' na ostatnie llh. Trzeba pamiętać o wywaleniu z diffa makr ''__user'', ''__kernel'' i ''__iomem'' (i ewentualnie jakiś innych z linux/compiler.h). Poza tym nic nie powinno includować linux/config.h, a jak coś includuje asm-generic/*, to zostawić mi, bo to jest dziwnie rozwiązane. | ||
+ | |||
+ | test | ||