User Tools

Site Tools


people:mmazur

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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ę ostatnioNo 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 acpimath-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 
  
  
people/mmazur.txt · Last modified: 2013-01-17 11:44 (external edit)