Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jul 2010 23:44:06 +0300
From:      Mohammed Farrag <mfarrag@freebsd.org>
To:        Brooks Davis <brooks@freebsd.org>, soc-status@freebsd.org, monthly@freebsd.org
Cc:        bsdimp@gmail.com
Subject:   Re: Mohammed Farrag GSoC Status Report
Message-ID:  <AANLkTinJjL0LIq1IMcCdWjtGUIPIcst_eOWbf1ShpD60@mail.gmail.com>
In-Reply-To: <AANLkTikVID0Ksf7iijyLio4KZl6uhIkOJnpX68Xs8aBi@mail.gmail.com>
References:  <AANLkTim9HKaSebkhobZREPvTmTjw6FUjIqOmRIBENLUF@mail.gmail.com> <20100712161259.GC8835@lor.one-eyed-alien.net> <AANLkTikXMfxZYEMD10_p1MRGwL2GCqmW5ZGE4HBpdlql@mail.gmail.com> <AANLkTimIJbM-AfILvD6lskjZyOG0t308fzFfKFlWt3BZ@mail.gmail.com> <AANLkTikVID0Ksf7iijyLio4KZl6uhIkOJnpX68Xs8aBi@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
  My previous reply was the XML file for the status.
I will type the explanation in plain text here :
description.pdf decribes what I intended to do. That was the first
Milestone. I sent that document to FreeBSD mailing list & hackers. Actually,
I faced some problems at the implementation level So,I added additional
features and suggested clearer approach.
Completed Tasks :
1.Using sysctls in the loader.conf file to avoid some problems with read
only OIDs.  I used some document about kernel size reduction in NetBSD.
2. Disabling debugging options in the kernel
Using -O3 options which provide the lowest code size
& Using -O2 only in some situations because -O3 sometimes produce broken
kernels
That is concerened with cflag and coptflag
3.disable IP6,FFS,GEOM_PART_TABLE,GEOM_
LABEL,KTrace,SYSVSHM,SYSVMSG,SYSVSEM,MD,MD_ROOT,UFS_DIRHASA, UFS_GJOURNAL in
the kernel configuration file ==> sys/boot/i386/libi386/Makefile
4.Using only dynamic executables and remove the static ones (derived  from
minibsd) ==> /etc/make.conf ==> Type NOSHARED=no

5. Creation of  pl file which will read files we want to keep in the
directory (e.g /bin) (It can be used for other directories also) . (These
modules are compressed for saving space using gzip). At loading process,
program will read the specified files needed,  uncompress these files, load
it and deal with it. At the Shutdown process, it compresses those files
again.  Making them compressed  saves  much space  (about the half of the
space) and we don't need the same tools in directory (i.e. /bin) each boot
time. you can control the content of the directory by changing the contents
of names.files
How About abnormal shutdown ?!
Checking all the files and search for uncompressed ones, compress them and
complete the work normally.
On the other hand, Compressing the files at shutdown process by executing
Termination.pl should be done.
Program eliminate the source files after Compression/Uncompression process.
That mean /bin will include either compressed or uncompressed version of
specific file.
Snapshots are provided to determine how do you can use these files.



Next Tasks :

1.Figuring out the freebsd performance before and after applying that work.

2.Perform only one executable for all bins (derived from picobsd) using
crunchgen()

3.Parsing The output of the dmesg to determine which device found and which
is not found.

4.The completeness of the work will be by creating the loader file which
will load its modules based on the dmesg and user requirements which will be
indicated through somefile.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinJjL0LIq1IMcCdWjtGUIPIcst_eOWbf1ShpD60>