Re: Does anyone run AXFS in 2.4 version of kernel ? I am trying my best to apply AXFS patches into 2.4.18
From: Bob Zhang
Date: Mon Jun 16 2008 - 10:20:28 EST
Hello Jaredeh,
First , I admire your devotion to AXFS , you are a great
programmer worth respecting , we pay you a great reverence and pay
homage to your genius on file system . I think AXFS is a huge
contribution to open source.
Now , I could run AXFS in 2.4.21 kernel by skyeye simulator supported
PXA platform . I modified some parts of linux2.4.21 code related with
memory management and ad justed some interfaces of AXFS code to fit
for 2.4, ,once XIP is OK , I will submit my patch.
Till now , all files in the AXFS rootfs image are compressed , they
are working OK . I can run "ls" , "ifconfig" and so on.
But I can't these files run directly XIP , I need your help to configure them .
I am puzzled for how to make files and pages are of XIP not compressed .
In your AXFS howto http://axfs.sourceforge.net/wordpress/?page_id=19
To use AXFS you must follow these steps:
» 1. pre patch kernel
» 2. use patchin.sh script to install files into kernel
» 3. build kernel with AXFS profiling on
» 4. create fully compressed AXFS image
» 5. run usecases with profiling on and fully compressed image
» 6. extract profile from /proc/axfs/volumeX
» 7. create new partially XIP image using the extracted profile
» 8. build kernel with profiling off
» 9. Enjoy!
For easily debugging , I am in 2.6.18 not 2.4.21 to test your method .
In 2.6.18 , my kernel whose axfs profiling on (make menuconfig) , and
Cat /proc/axfs/volume0 ,I can get
================ cat /proc/axfs/volume0 begin ===================
/ $
/ $ cat /proc/axfs/volume0
./bin/busybox,0,18
./bin/busybox,28672,2
./bin/busybox,53248,4
./bin/busybox,143360,3
./bin/busybox,147456,3
./bin/busybox,151552,8
./bin/busybox,155648,11
./bin/busybox,159744,10
./bin/busybox,163840,14
./bin/busybox,167936,4
./bin/busybox,204800,3
./bin/busybox,233472,13
./bin/busybox,237568,13
./bin/busybox,241664,13
./bin/busybox,245760,13
./bin/busybox,249856,3
./bin/busybox,253952,13
./bin/busybox,258048,2
./bin/busybox,262144,2
./bin/busybox,266240,2
./bin/busybox,270336,2
./bin/busybox,274432,2
./bin/busybox,278528,2
./bin/busybox,282624,13
./bin/busybox,286720,1
./bin/busybox,290816,1
./bin/busybox,294912,1
./bin/busybox,303104,1
./bin/busybox,307200,1
./bin/busybox,315392,1
./bin/busybox,339968,4
./bin/busybox,348160,2
./bin/busybox,376832,2
./bin/busybox,380928,15
./bin/busybox,413696,14
./bin/busybox,417792,14
./bin/busybox,421888,13
./bin/busybox,425984,19
./bin/busybox,430080,12
./bin/busybox,434176,7
./bin/busybox,438272,20
./bin/busybox,442368,20
./bin/busybox,446464,15
./bin/busybox,450560,11
./bin/busybox,454656,9
./bin/busybox,466944,11
./bin/busybox,471040,11
./bin/busybox,475136,10
./bin/busybox,479232,2
./bin/busybox,483328,18
./bin/busybox,487424,3
./bin/busybox,491520,10
./bin/busybox,495616,2
./bin/busybox,499712,1
./bin/busybox,503808,13
./bin/busybox,507904,9
./bin/busybox,512000,1
./bin/busybox,516096,2
./bin/busybox,520192,9
./bin/busybox,524288,10
./bin/busybox,528384,7
./bin/busybox,532480,11
./bin/busybox,536576,14
=================end of cat /proc/axfs/volume0=====================
There are only three columns of outputs ,
>From the source code , this function procfile_read() implement the
proc reading function ,
/* set everything up to print out */
len =
sprintf(current_buf_ptr,
"%s,%lu,%lu \n",
name, (unsigned
long)(inode_page_offset * PAGE_SIZE),
(profile_data->count));
it will print
./bin/busybox, 507904, 9
filename page_offset reference_count
But from your readme of mkfs.axfs.c directory .
You have written that :
Usage Notes
--------------------
1. "./mkfs.axfs [-h] [-i infile] indir outfile"
-h print this help
-i infile input file of the XIP information
dirname root of the directory tree to be compressed
outfile output file
About the Input File
--------------------
Input file should be an XML file with specific element name. See
example_xipfsmap_syntax.xml for an example.
<xipfsmap>
<file>
<name>./xxx</name>
<chunk>
<size>aaa</size>
<offset>bbb</offset>
</chunk>
</file>
</xipfsmap>
1. Input file is optional. If the option is not available, the writer will
compress every file.
I think I need to provide a Input file to tell the mkfs.axfs.c which
files and pages are of XIP .
So I need to provide their names ,size and offset , but "cat
/proc/axfs/volume0" , we can only get
./bin/busybox, 507904, 9
filename page_offset reference_count
Would you mind telling me more information or can you give me a fresh
example ? thanks very much!
Best Regards,
Bob
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/