lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <85e7c2fc0806160720v510a565id709ee782851169d@mail.gmail.com>
Date:	Mon, 16 Jun 2008 22:20:04 +0800
From:	"Bob Zhang" <zhanglinbao@...il.com>
To:	"Jared Hulbert" <jaredeh@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: Does anyone run AXFS in 2.4 version of kernel ? I am trying my best to apply AXFS patches into 2.4.18

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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ