Implement kernel bootstrap up to building Linux.

This commit is contained in:
rick-masters 2023-03-01 04:08:10 +00:00
parent ae7e1f9498
commit 6881d5dcf8
56 changed files with 4869 additions and 209 deletions

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,7 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0 .. SPDX-License-Identifier: CC-BY-SA-4.0
bootstrap-seeds bootstrap-seeds
=============== ===============
@ -14,7 +15,10 @@ This is where it all begins. We start with the two raw binary seeds ``hex0-seed`
First, we use those seeds to rebuild themselves. First, we use those seeds to rebuild themselves.
Note that all early steps before ``mes`` are part of `stage0-posix <https://github.com/oriansj/stage0-posix>`_. Note that all early compilers before ``mes`` are part of `stage0-posix <https://github.com/oriansj/stage0-posix>`_.
A kernel boostrapping option is also available at the beginning. The ``hex0-seed`` can be used to compile the ``builder-hex0`` kernel which has its own built-in shell, ``hex0`` compiler and ``src`` tool to load files into its file system. ``builder-hex0`` runs stage0-posix and then builds ``mes`` and ``tcc``. It then builds and launches the `Fiwix <https://github.com/mikaku/Fiwix>` kernel which runs the build until Linux takes over.
hex0 hex0
==== ====
@ -34,6 +38,12 @@ In the first steps we use initial ``hex0`` binary seed to rebuild ``kaem-optiona
``hex0`` can be approximated with: ``sed 's/[;#].*$//g' $input_file | xxd -r -p > $output_file`` ``hex0`` can be approximated with: ``sed 's/[;#].*$//g' $input_file | xxd -r -p > $output_file``
builder-hex0 (kernel bootstrap)
===============================
If the kernel-bootstrap option is enabled then the ``builder-hex0`` kernel boots from a hard drive and loads an enormous shell script which embeds files (loaded with the ``src`` command) and the initial commands to build ``hex0-seed``, ``kaem-optional-seed``, and the command which launches stage0-posix using ``kaem-optional-seed`` and the stage0-posix launch script ``kaem.x86``. Builder-hex0 is written in hex0 and can be compiled with the ``hex0-seed``, ``sed``, the tiny ``builder-hex0-mini`` boot kernel or it can build itself.
kaem-optional kaem-optional
============= =============
@ -189,6 +199,29 @@ using older versions compilable by tinycc. Prior to this point, all tools
have been adapted significantly for the bootstrap; now, we will be using have been adapted significantly for the bootstrap; now, we will be using
old tooling instead. old tooling instead.
Fiwix 1.4.0-lb1 (kernel bootstrap)
==================================
If the kernel bootstrap option is enabled then the Fiwix kernel is built next.
This is a Linux clone which is much simpler to understand and build than Linux.
This version of Fiwix is a fork of 1.4.0 that contains many modifications and
enhancements to support live-boostrap.
lwext4 1.0.0 (kernel bootstrap)
===============================
If the kernel bootstrap option is enabled then `lwext4 <https://github.com/gkostka/lwext4>`
is built next. This is a library for creating ext2/3/4 file systems from user land.
This is combined with a program called ``make_fiwix_initrd.c`` which creates
and populates an ext2 files system which Fiwix uses for an initial ram drive (initrd).
This file system contains all of the files necessary to build Linux.
kexec-fiwix (kernel bootstrap)
==============================
If the kernel bootstrap option is enabled then a C program `kexec-fiwix` is compiled
and run which places the Fiwix ram drive in memory and launches the Fiwix kernel.
make 3.82 make 3.82
========= =========
@ -586,6 +619,7 @@ musl 1.2.3
GCC can build the latest as of the time of writing musl version. GCC can build the latest as of the time of writing musl version.
We also don't need any of the TCC patches that we used before. We also don't need any of the TCC patches that we used before.
To accomodate Fiwix, there are patches to avoid syscalls set_thread_area and clone.
gcc 4.0.4 gcc 4.0.4
========= =========
@ -629,6 +663,11 @@ The next step is not a package, but the creation of the sysb rootfs, containing
all of the scripts for sysb (which merely move to sysc). Again, this is only all of the scripts for sysb (which merely move to sysc). Again, this is only
done in non-chroot mode, because sysb does not exist in chroot mode. done in non-chroot mode, because sysb does not exist in chroot mode.
musl 1.2.3
==========
Prior to building and booting Linux, musl is rebuilt yet again with syscalls
``clone`` and ``set_thread_area`` enabled for Linux thread support.
Linux kernel 4.9.10 Linux kernel 4.9.10
=================== ===================
@ -665,6 +704,14 @@ sysb is purely a transition to sysc, allowing binaries from sysa to get onto a
disk (as sysa does not necessarily have hard disk support in the kernel). disk (as sysa does not necessarily have hard disk support in the kernel).
It populates device nodes, mounts sysc, copies over data, and executes sysc. It populates device nodes, mounts sysc, copies over data, and executes sysc.
curl 7.83.0
===========
Curl is built in sysc because Linux must be running with support for threads.
Curl requires musl 1.2.3 with thread support which was built at the end of sysa.
Curl is built first in sysc so the rest of the packages can be downloaded.
Note that the tar file for curl itself was copied over from sysa because
curl is not yet available to download it.
bash 5.1 bash 5.1
======== ========

View file

@ -34,6 +34,7 @@ def create_configuration_file(args):
config.write("CHROOT_ONLY_SYSA=" + str(args.bwrap) + "\n") config.write("CHROOT_ONLY_SYSA=" + str(args.bwrap) + "\n")
config.write("UPDATE_CHECKSUMS=" + str(args.update_checksums) + "\n") config.write("UPDATE_CHECKSUMS=" + str(args.update_checksums) + "\n")
config.write("DISK=sda1\n") config.write("DISK=sda1\n")
config.write("KERNEL_BOOTSTRAP=" + str(args.kernel_bootstrap) + "\n")
# pylint: disable=too-many-statements # pylint: disable=too-many-statements
def main(): def main():
@ -86,6 +87,9 @@ def main():
parser.add_argument("-b", "--bare-metal", help="Build images for bare metal", parser.add_argument("-b", "--bare-metal", help="Build images for bare metal",
action="store_true") action="store_true")
parser.add_argument("--kernel-bootstrap",
help="Bootstrap kernels.",
action="store_true")
args = parser.parse_args() args = parser.parse_args()
@ -199,27 +203,42 @@ print(shutil.which('chroot'))
'/init') '/init')
elif args.bare_metal: elif args.bare_metal:
system_c.prepare(create_disk_image=True) if args.kernel_bootstrap:
system_a.prepare(create_initramfs=True) system_a.prepare(create_initramfs=True, kernel_bootstrap=True)
print("Please:")
print("Please:") print(" 1. Take tmp/sysa/sysa.img and write it to a boot drive and then boot it.")
print(" 1. Take tmp/sysa/initramfs and your kernel, boot using this.") else:
print(" 2. Take tmp/sysc/disk.img and put this on a writable storage medium.") system_c.prepare(create_disk_image=True)
system_a.prepare(create_initramfs=True)
print("Please:")
print(" 1. Take tmp/sysa/initramfs and your kernel, boot using this.")
print(" 2. Take tmp/sysc/disk.img and put this on a writable storage medium.")
else: else:
system_c.prepare(create_disk_image=True) if args.kernel_bootstrap:
system_a.prepare(create_initramfs=True) system_a.prepare(create_initramfs=True, kernel_bootstrap=True)
run(args.qemu_cmd,
'-enable-kvm',
'-m', "4G",
'-no-reboot',
'-drive', 'file=' + os.path.join(system_a.tmp_dir, 'sysa.img') + ',format=raw',
'-machine', 'kernel-irqchip=split',
'-nic', 'user,ipv6=off,model=e1000',
'-nographic')
else:
system_c.prepare(create_disk_image=True)
system_a.prepare(create_initramfs=True)
run(args.qemu_cmd, run(args.qemu_cmd,
'-enable-kvm', '-enable-kvm',
'-m', str(args.qemu_ram) + 'M', '-m', str(args.qemu_ram) + 'M',
'-no-reboot', '-no-reboot',
'-hda', tmpdir.get_disk("sysc"), '-hda', tmpdir.get_disk("sysc"),
'-nic', 'user,ipv6=off,model=e1000', '-nic', 'user,ipv6=off,model=e1000',
'-kernel', args.kernel, '-kernel', args.kernel,
'-initrd', system_a.initramfs_path, '-initrd', system_a.initramfs_path,
'-nographic', '-nographic',
'-append', 'console=ttyS0') '-append', 'console=ttyS0')
if __name__ == "__main__": if __name__ == "__main__":
main() main()

130
sysa.py
View file

@ -12,6 +12,7 @@ import shutil
import tarfile import tarfile
from lib.sysgeneral import SysGeneral, stage0_arch_map from lib.sysgeneral import SysGeneral, stage0_arch_map
from lib.utils import run
# pylint: disable=consider-using-with # pylint: disable=consider-using-with
# pylint: disable=too-many-instance-attributes # pylint: disable=too-many-instance-attributes
@ -36,7 +37,7 @@ class SysA(SysGeneral):
self.tmp_dir = tmpdir.add_sys("sysa") self.tmp_dir = tmpdir.add_sys("sysa")
def prepare(self, create_initramfs): def prepare(self, create_initramfs, kernel_bootstrap=False):
""" """
Prepare directory structure for System A. Prepare directory structure for System A.
We create an empty tmp directory, unpack stage0-posix. We create an empty tmp directory, unpack stage0-posix.
@ -58,6 +59,11 @@ class SysA(SysGeneral):
self.sysc(create_initramfs) self.sysc(create_initramfs)
if kernel_bootstrap:
self.create_fiwix_file_list()
self.create_builder_hex0_disk_image(os.path.join(self.tmp_dir, 'sysa.img'))
return
if self.repo_path: if self.repo_path:
repo_dir = os.path.join(self.tmp_dir, 'usr', 'src', 'repo-preseeded') repo_dir = os.path.join(self.tmp_dir, 'usr', 'src', 'repo-preseeded')
shutil.copytree(self.repo_path, repo_dir) shutil.copytree(self.repo_path, repo_dir)
@ -100,3 +106,125 @@ class SysA(SysGeneral):
# stage0-posix hook to continue running live-bootstrap # stage0-posix hook to continue running live-bootstrap
shutil.copy2(os.path.join(self.sys_dir, 'after.kaem'), shutil.copy2(os.path.join(self.sys_dir, 'after.kaem'),
os.path.join(self.tmp_dir, 'after.kaem')) os.path.join(self.tmp_dir, 'after.kaem'))
def find_tree(self, dirpath):
subdirs, files = [], []
for f in os.scandir(dirpath):
if f.is_dir():
subdirs.append(f.path)
if f.is_file():
files.append(f.path)
for subdir in list(subdirs):
more_dirs, more_files = self.find_tree(subdir)
subdirs.extend(more_dirs)
files.extend(more_files)
return subdirs, files
def add_fiwix_files(self, file_list_path, dirpath):
dirpaths, filepaths = self.find_tree(dirpath)
with open(file_list_path, 'a') as file_list:
for filepath in filepaths:
if 'stage0-posix' in filepath:
continue
file_list.write("/%s\n" % filepath)
def create_fiwix_file_list(self):
file_list_path = os.path.join(self.tmp_dir, 'sysa', 'lwext4-1.0.0-lb1', 'files', 'fiwix-file-list.txt')
shutil.copyfile(os.path.join(self.tmp_dir, 'sysa', 'lwext4-1.0.0-lb1', 'files', 'early-artifacts-needed-after-fiwix.txt'),
file_list_path)
save_cwd = os.getcwd()
self.add_fiwix_files(file_list_path, 'sysa')
self.add_fiwix_files(file_list_path, 'sysb')
self.add_fiwix_files(file_list_path, 'sysc')
os.chdir(save_cwd)
def output_dir(self, srcfs, dirpath):
srcline = "src 0 %s\n" % dirpath
srcfs.write(srcline.encode())
def output_file(self, srcfs, filepath):
srcline = "src %d %s\n" % (os.path.getsize(filepath), filepath)
srcfs.write(srcline.encode())
with open(filepath, 'rb') as srcfile:
srcfs.write(srcfile.read())
def append_srcfs(self, srcfs):
self.output_dir(srcfs, '/')
save_cwd = os.getcwd()
os.chdir(os.path.join(self.tmp_dir, 'sysa', 'stage0-posix', 'src'))
dirs, files = self.find_tree('.')
for dirpath in dirs:
if ".git" in dirpath:
continue
self.output_dir(srcfs, dirpath)
for filepath in files:
if ".git" in filepath:
continue
self.output_file(srcfs, filepath)
os.chdir(self.tmp_dir)
shutil.move(os.path.join('sysa','stage0-posix'), '.')
shutil.move(os.path.join('sysa', 'distfiles'), '.')
run('tar', '-c', '-z', '-p',
'--dereference', '--hard-dereference',
'-f', os.path.join('..', 'live-bootstrap.tar.gz'),
'sysa', 'sysb', 'sysc')
shutil.move('stage0-posix', 'sysa')
shutil.move('distfiles', 'sysa')
os.chdir('..')
self.output_file(srcfs, 'live-bootstrap.tar.gz')
os.chdir(self.tmp_dir)
# We need to have enough to start live-bootstrap without the
# live-bootstrap tar file which is not extracted right away.
shutil.copyfile(os.path.join('sysa', 'after.kaem'), 'after.kaem')
self.output_file(srcfs, 'after.kaem')
self.output_dir(srcfs, 'sysa')
self.output_file(srcfs, os.path.join('sysa', 'run.kaem'))
self.output_file(srcfs, os.path.join('sysa', 'bootstrap.cfg'))
self.output_dir(srcfs, os.path.join('sysa', 'distfiles'))
dirs, files = self.find_tree(os.path.join('sysa', 'distfiles'))
for filepath in files:
self.output_file(srcfs, filepath)
# Add commands to kick off stage0-posix
srcfs.write("hex0 ./bootstrap-seeds/POSIX/x86/hex0_x86.hex0 ./bootstrap-seeds/POSIX/x86/hex0-seed\n".encode())
srcfs.write("hex0 ./bootstrap-seeds/POSIX/x86/kaem-minimal.hex0 ./bootstrap-seeds/POSIX/x86/kaem-optional-seed\n".encode())
srcfs.write("./bootstrap-seeds/POSIX/x86/kaem-optional-seed ./kaem.x86\n".encode())
os.chdir(save_cwd)
def create_builder_hex0_disk_image(self, image_file):
run(os.path.join('sysa', 'stage0-posix', 'src', 'bootstrap-seeds', 'POSIX', 'x86', 'hex0-seed'),
os.path.join('kernel-bootstrap', 'builder-hex0-x86.hex0'),
image_file)
with open(image_file, 'ab') as srcfs:
self.append_srcfs(srcfs)
current_size = os.stat(image_file).st_size
MB = 1024 * 1024
# fill file with zeros up to next megabyte
extra = current_size % MB
round_up = MB - extra
with open(image_file, 'ab') as srcfs:
srcfs.write(b'\0' * round_up)
current_size += round_up
# fill file with zeros up to desired size, one megabyte at a time
with open(image_file, 'ab') as srcfs:
while current_size < 1008 * MB:
srcfs.write(b'\0' * MB)
current_size += MB

View file

@ -21,44 +21,44 @@ e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8
9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2 9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2
c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2 c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2
6e9f4263f8a938e2bf62ae1507092a7d3679a018c2037e2eac9cf424ca20c19c bash-5.1_0.tar.bz2 6e9f4263f8a938e2bf62ae1507092a7d3679a018c2037e2eac9cf424ca20c19c bash-5.1_0.tar.bz2
b06a20417c7dadb007f3e6930b8385ad934651756a339d8a87e086b1139e62d8 binutils-2.24_0.tar.bz2 5b574a878f165eff924b8a5c1be086243234db05d8b3ffb3c5e0a9afb6100e31 binutils-2.24_0.tar.bz2
aa910ea75172041b9285436c148f81b3a9fb205f61b88b5e5bbaab2c1cee9484 binutils-2.38_0.tar.bz2 aa910ea75172041b9285436c148f81b3a9fb205f61b88b5e5bbaab2c1cee9484 binutils-2.38_0.tar.bz2
9ff9b31de7aab2b10f29bb2e0cacc4a30b31e4c0dc15d6fa1202181204aaa6e6 bison-2.3_0.tar.bz2 9ff9b31de7aab2b10f29bb2e0cacc4a30b31e4c0dc15d6fa1202181204aaa6e6 bison-2.3_0.tar.bz2
b2e45aec68221e6874ea8aa7d5b6a0aab7879a3dbee493536e034b246a884b05 bison-3.4.1_0.tar.bz2 df9539b52384757d927bca5a27b1b58325b6024b23b0470e557f135eb69bae30 bison-3.4.1_0.tar.bz2
4b2fa2ddde419e9cc47f68e4aad4e4bd403570664c02a7d0d488417baecafd03 bison-3.4.1_1.tar.bz2 fed9e13409f6378f97e8cef61e6faac992f3b767dfdac22f32453ff57cf29e7b bison-3.4.1_1.tar.bz2
6a6111b1e8ca906406482053cf0af8c9dea46dc55e4bac9662c8fe47f94221cb bison-3.4.1_2.tar.bz2 44d143d9dcb4098138a8b8eee0e29de1c7e282b9582df153f75ae301336c0927 bison-3.4.1_2.tar.bz2
82f898a46d0d469a0df3bc547572fa08c0866251ec35a6a8c18f8d3aaf86ee1a bison-3.4.2_0.tar.bz2 82f898a46d0d469a0df3bc547572fa08c0866251ec35a6a8c18f8d3aaf86ee1a bison-3.4.2_0.tar.bz2
c6369fcf4ba1fae200a4a67f110563a11d6c51fa8ca80792dbc4630e3dba6f4d bzip2-1.0.8_0.tar.bz2 80e541fc4d3dfce4451318f26c31ccfe580848139672bd437131cdfd5e3664b2 bzip2-1.0.8_0.tar.bz2
ee54199d62226e22a10f9d816902d71e220ca4bcf5f7508c259702c6f480c446 ca-certificates-3.86_0.tar.bz2 ee54199d62226e22a10f9d816902d71e220ca4bcf5f7508c259702c6f480c446 ca-certificates-3.86_0.tar.bz2
0d02d37d02d6def11b5f12eab5d97f47dc1e4abd53627deb2d99994e1ab9c6a8 coreutils-5.0_0.tar.bz2 acd3ba50a33ea0172c3ca59e341a48e4233be48ded26fa031fd2e9417a2dfb31 coreutils-5.0_0.tar.bz2
27d0d3e84794f080f01c7c22547a308d1d781d8ce85d5b3f682c379f17bbeb47 coreutils-6.10_0.tar.bz2 09092e187588c5d33c023ac41671b367aef9f7ee967d2c7c03430b33cc03f251 coreutils-6.10_0.tar.bz2
6cb019c82dcef6db019ad2bbdf5ec70582805d363a8b285c435d25b1254e82b0 coreutils-8.32_0.tar.bz2 6cb019c82dcef6db019ad2bbdf5ec70582805d363a8b285c435d25b1254e82b0 coreutils-8.32_0.tar.bz2
83f818bc3219411d055cf2954484775b5d1ef7087c48aa7c2542ced3a78bf1f3 curl-7.83.0_0.tar.bz2 83f818bc3219411d055cf2954484775b5d1ef7087c48aa7c2542ced3a78bf1f3 curl-7.83.0_0.tar.bz2
d6a43ad9a56f21407e72820e0bafabd7b4bb3def9d9ba717203964fa2d500a00 curl-7.83.0_1.tar.bz2 d6a43ad9a56f21407e72820e0bafabd7b4bb3def9d9ba717203964fa2d500a00 curl-7.83.0_1.tar.bz2
8a25ed4c278fc08ae7cdb8b396aaca0d5b5e111042c50d5d2a1046dc7e6e5dea dhcpcd-9.4.1_0.tar.bz2 5b5e12f3f3c389a1f7fd123b470695937d474747f9228c8651a3eb50461bda9a dhcpcd-9.4.1_0.tar.bz2
f1a17f3d1c65140a6d3043ecb710e5fffe9c019cb3d2eaa982be03706876e534 diffutils-2.7_0.tar.bz2 c4008ae6b168aee4120b0f3624a1875f9e413d8f0c637708b8b04a1fb5be173c diffutils-2.7_0.tar.bz2
de6d9df33107ae63b8e0f30902fe9d00e42f78f44a60b256bb0b3c82ff75bd45 dist-3.5-236_0.tar.bz2 de6d9df33107ae63b8e0f30902fe9d00e42f78f44a60b256bb0b3c82ff75bd45 dist-3.5-236_0.tar.bz2
67cccd627c4f940214907c55d0a78c3b1abb996729298e2c41f7f83776e5dd0f e2fsprogs-1.45.7_0.tar.bz2 2e1eb11286bf05939e2cd1ebc3f99c19ce9d4a811aaf7dbd5a352b6dec1b73b4 e2fsprogs-1.45.7_0.tar.bz2
bc381a028836d7ba2b679d4c41167180f23d3d8a4720453534be9500185f05f9 file-5.44_0.tar.bz2 bc381a028836d7ba2b679d4c41167180f23d3d8a4720453534be9500185f05f9 file-5.44_0.tar.bz2
8a0405a66c09c6e1647078c919ae54948f069632214c8430af7adbdb176f62e2 findutils-4.2.33_0.tar.bz2 5984d3f2d5513dd04dc97619e2809d634fc7e3692f36f770e0202a61b6b2921d findutils-4.2.33_0.tar.bz2
3c85ce52e37c313d699a21cc741d24e808048461b105f58445a645a54ea55436 flex-2.5.11_0.tar.bz2 3c85ce52e37c313d699a21cc741d24e808048461b105f58445a645a54ea55436 flex-2.5.11_0.tar.bz2
857c77c8e8a53b8201901fa347a0c7cf44c5fea50a3204d171d49737a298fe24 flex-2.5.33_0.tar.bz2 857c77c8e8a53b8201901fa347a0c7cf44c5fea50a3204d171d49737a298fe24 flex-2.5.33_0.tar.bz2
3ad2660bff8b84ddb47cc5f9f57f10a7370fab1e1b7f94e8e36d472a4783871c flex-2.6.4_0.tar.bz2 408131b1c033a5f8a6845997b049784be0b466cec107a71270e5a04dae2c1e6c flex-2.6.4_0.tar.bz2
6e04827921b5f23de5c4d9367509b5644af0162189f007094447bc5f527b17c4 gawk-3.0.4_0.tar.bz2 5ff7fbe16b55563719b108260bd6a34ebabab0465d758ca98cba522932532e45 gawk-3.0.4_0.tar.bz2
458b64a564ca1ef32ed1c682187caa59743a772210fc51a2bc7f11859bdc98f8 gc-8.0.4_0.tar.bz2 458b64a564ca1ef32ed1c682187caa59743a772210fc51a2bc7f11859bdc98f8 gc-8.0.4_0.tar.bz2
d53d3945d5100228f6095821de9195cb117963a0fe95618e3e71d7f568fb4eaa gcc-10.4.0_0.tar.bz2 d53d3945d5100228f6095821de9195cb117963a0fe95618e3e71d7f568fb4eaa gcc-10.4.0_0.tar.bz2
c0f07510fad60d2131ab43f5b637510c72f00c8e8a17b3c097614767427dc200 gcc-4.0.4_0.tar.bz2 3f509d48dbd6bdddb4167895987307d37ea20dc923e0e5e5171567ba6ccc3fbc gcc-4.0.4_0.tar.bz2
f012bdfee3d5cd2eec44bcada88194ab0289ccda305c6133b8d3d29374f5f17f gcc-4.0.4_1.tar.bz2 569cd25eca055cc3bb1bece6660f4177fde40e06ebc5e38c4194917fc76b8b78 gcc-4.0.4_1.tar.bz2
56641523fc853138f8b6901a87129e45b5c26faffe8ba37eb819ea6b3fe61e21 gcc-4.7.4_0.tar.bz2 56641523fc853138f8b6901a87129e45b5c26faffe8ba37eb819ea6b3fe61e21 gcc-4.7.4_0.tar.bz2
5d8638631eb504d11111518902273f23bf656b44a3c52275779791b4bb7e17d7 gettext-0.21_0.tar.bz2 5d8638631eb504d11111518902273f23bf656b44a3c52275779791b4bb7e17d7 gettext-0.21_0.tar.bz2
7a2958d5a76de040a3f585e099c7388a7378aabdb3dedf6de735231675e3eaf7 gmp-6.2.1_0.tar.bz2 7a2958d5a76de040a3f585e099c7388a7378aabdb3dedf6de735231675e3eaf7 gmp-6.2.1_0.tar.bz2
880cfcbd1757102e91e80442a8da86be4d462b9dda7003948491672e65614cee gperf-3.1_0.tar.bz2 880cfcbd1757102e91e80442a8da86be4d462b9dda7003948491672e65614cee gperf-3.1_0.tar.bz2
c963b667dd0ac1e8cef4b2525fcd5d53237d83d16b6f70855c199472a0dc419f grep-2.4_0.tar.bz2 67d706423e079a9cd764fd9607027d296c0ff2380c1104006a2230a299eb2c1d grep-2.4_0.tar.bz2
c3b54377ea461e73a171158cef90e3f744c4bb18d2981e2cb1cf8948dd56dcf4 grep-3.7_0.tar.bz2 c3b54377ea461e73a171158cef90e3f744c4bb18d2981e2cb1cf8948dd56dcf4 grep-3.7_0.tar.bz2
48a31f39824e88d5a7adaae5b8f622b4fcca609bf01521c5dc9fb946e41cf73f guile-3.0.7_0.tar.bz2 48a31f39824e88d5a7adaae5b8f622b4fcca609bf01521c5dc9fb946e41cf73f guile-3.0.7_0.tar.bz2
911d2f496ce02e8b95e0f3bf6eb94460b4b083dd13601f81d45f68b896ac9ef4 help2man-1.36.4_0.tar.bz2 911d2f496ce02e8b95e0f3bf6eb94460b4b083dd13601f81d45f68b896ac9ef4 help2man-1.36.4_0.tar.bz2
45e7a0d2b78fd6c3635e399e0de73142ff1e39a12c95cba89083e3cc3dd03d35 kbd-1.15_0.tar.bz2 29e9dc2ed673311dd3abd4fdd35a1ffdf20e53f0903dfc48cdb9b24eead7464b kbd-1.15_0.tar.bz2
1198ca1fd2b62c34e265b9ba394670896693fde4470463cb00296fe809aa683e kexec-tools-2.0.22_0.tar.bz2 5e6c0d107452eb0899caccce59fbf693db981666b029d76c1f6e94308b679c2d kexec-tools-2.0.22_0.tar.bz2
180ebd545ccfefdf54b5497d8c75dd65f67df9658a24530a7ca3197ee9c59c65 libarchive-3.5.2_0.tar.bz2 180ebd545ccfefdf54b5497d8c75dd65f67df9658a24530a7ca3197ee9c59c65 libarchive-3.5.2_0.tar.bz2
e479b8ba2e13081bf31a416c463be98feb3f747630418de7ed40f309005c3412 libatomic_ops-7.6.10_0.tar.bz2 e479b8ba2e13081bf31a416c463be98feb3f747630418de7ed40f309005c3412 libatomic_ops-7.6.10_0.tar.bz2
fcf30550a8e84be824fd2296a7964c404cb54e9df2f31af484a504342342c0fe libffi-3.3_0.tar.bz2 fcf30550a8e84be824fd2296a7964c404cb54e9df2f31af484a504342342c0fe libffi-3.3_0.tar.bz2
@ -67,25 +67,26 @@ daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_
564fcf89cb762b99e58dddb39c3812084a701447209bd4cf0dc06661e337c265 libunistring-0.9.10_0.tar.bz2 564fcf89cb762b99e58dddb39c3812084a701447209bd4cf0dc06661e337c265 libunistring-0.9.10_0.tar.bz2
1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2 1d07aaf7049be45853fd409340cdb52bb3a1b6dfa4dbc8b69358c1ee966cd67f linux-4.9.10_0.tar.bz2
2fd5bec0c086cb89596f14894cbf078b3d1e990d297ba02b6cc4135e7d64996b linux-headers-5.10.41_0.tar.bz2 2fd5bec0c086cb89596f14894cbf078b3d1e990d297ba02b6cc4135e7d64996b linux-headers-5.10.41_0.tar.bz2
a8e75e491322f09b90e0685b9468c589ec38a52529c362e14516cb32e5e57fe3 m4-1.4.7_0.tar.bz2 3864f2c66516fc4f5086f626f4da2b2a7635e21babca86ba478f866920868e2b m4-1.4.7_0.tar.bz2
004db605e8f83d06ab4918f5c2fe3baac33767c8b88af82fa8c1ab9aff9cb997 make-3.82_0.tar.bz2 4f3ac8e622d22212740b703e0a2cb41baea4e2b7371625c2c31bf9e151bf253f make-3.82_0.tar.bz2
fd726204b37a1dbbd698ceb2d140dd9832fe216b31e24d335de75765eb6799f5 make-4.2.1_0.tar.bz2 fd726204b37a1dbbd698ceb2d140dd9832fe216b31e24d335de75765eb6799f5 make-4.2.1_0.tar.bz2
1f370b1611dc94e0c83e73a067a5775e7255b04e79f0279289e96d09780e8060 mpc-1.2.1_0.tar.bz2 1f370b1611dc94e0c83e73a067a5775e7255b04e79f0279289e96d09780e8060 mpc-1.2.1_0.tar.bz2
ec1692e077cbd24160bb4a07dfe08e7bcfd6549c1a159f3950550fdd44f2c8f4 mpfr-4.1.0_0.tar.bz2 ec1692e077cbd24160bb4a07dfe08e7bcfd6549c1a159f3950550fdd44f2c8f4 mpfr-4.1.0_0.tar.bz2
d06f045be683f7a2cdc3eb79592f75517100d0bcda4fe7924200c065ff52c9f5 musl-1.1.24_0.tar.bz2 a724c91a43e282c3d338a977e4eeac3b970df241db7872f9d5cf27984b609814 musl-1.1.24_0.tar.bz2
280b05d6c2f7458cf3bde6985c3b2f876e9c361943b0ba3044e389e033d97622 musl-1.1.24_1.tar.bz2 2a03a3707593997a0e03ce3aa6b2ee647cf2e5bfe1deb028357a2dfab56e33e2 musl-1.1.24_1.tar.bz2
553a23cf8ac138e7482bacf2b9ddcb794607bb42354b19f81e19a3ca5e8f35aa musl-1.1.24_2.tar.bz2 9bcf0458745369885189b908b1e61365964cd7c922bcdc5b2d5cbc2a2c3833fd musl-1.1.24_2.tar.bz2
f0339ce3cebb19dbb2e8359ba6894ca37f264579889df696bb23c6061a2ed30f musl-1.2.3_0.tar.bz2 3359dd70849d1d7b994174034555c82695d638b2f4ba7d556814b55d6b172f3c musl-1.2.3_0.tar.bz2
ab70ad217e736de89441817124f44eee39b0bbc7e005b67788974f08264074da musl-1.2.3_1.tar.bz2 f0339ce3cebb19dbb2e8359ba6894ca37f264579889df696bb23c6061a2ed30f musl-1.2.3_1.tar.bz2
ab70ad217e736de89441817124f44eee39b0bbc7e005b67788974f08264074da musl-1.2.3_2.tar.bz2
eed3605356b4e8442f35cd6eae458e45f477757a403b7ebc954717418f61438d openssl-1.1.1l_0.tar.bz2 eed3605356b4e8442f35cd6eae458e45f477757a403b7ebc954717418f61438d openssl-1.1.1l_0.tar.bz2
8a2f8ec8d559ae98560e73c729cbf8330a0f7923f9c3538d4dce0282f21db833 patch-2.7.6_0.tar.bz2 8a2f8ec8d559ae98560e73c729cbf8330a0f7923f9c3538d4dce0282f21db833 patch-2.7.6_0.tar.bz2
8edc149d22a1202938c8ed2c46488115a422fbc44ddfe606727fbe4d362fb07b perl-5.000_0.tar.bz2 914a7abf36a64723b6e9f9b0b6ccd19c8e544fa798896a2bb1151dc341890c22 perl-5.000_0.tar.bz2
85653922ee1fd39ef6e8ba6f3720d51c9585800767163f4f502296f4a39f4474 perl-5.003_0.tar.bz2 887d835562d471653bcda60e652fceb4b3ef58a83321a4eb5af0431dc182781b perl-5.003_0.tar.bz2
9bba76361c28da9a0c19054ccaf8432bbf7ce779584151600ad90c439f0baef5 perl5.004-05_0.tar.bz2
8efe3102f341c232510e6e24ab51337f15a9d1b3a344962f85131fe31bc50516 perl5.005-03_0.tar.bz2
d8dd24d5402beaee81effc6b9dfbbdec4bc0bef469743d92c65da55081fdb9ee perl-5.10.1_0.tar.bz2 d8dd24d5402beaee81effc6b9dfbbdec4bc0bef469743d92c65da55081fdb9ee perl-5.10.1_0.tar.bz2
0035aeef386b8ae3f05467ec17a21de646c885f479d31c194bb2351b6889ceb3 perl-5.32.1_0.tar.bz2 0035aeef386b8ae3f05467ec17a21de646c885f479d31c194bb2351b6889ceb3 perl-5.32.1_0.tar.bz2
89ae6fb13483b93623aa42f678eee076b42d9a6e2a80147a14e20807b097f940 perl-5.6.2_0.tar.bz2 9fa8850897248d77d554caa2b3d52e7890308cbf28750ffc24c09f498aee563c perl-5.6.2_0.tar.bz2
b86fc586d72a6d204d0b9017afe17aa2439529e13f43befc56648b78de17c8f8 perl5.004-05_0.tar.bz2
451ae6bb6e996a1c857fe92ec379654413fadec180c6477cf5fd4b5d7a079e26 perl5.005-03_0.tar.bz2
9cca79b23473f8d2171ee84533abf24bdce976f6149967bdac8b274b9aa4e2a4 python-2.0.1_0.tar.bz2 9cca79b23473f8d2171ee84533abf24bdce976f6149967bdac8b274b9aa4e2a4 python-2.0.1_0.tar.bz2
bd42838105f7c8c4088f95fe9248fec209f76e2614943dd611990e23b2b8c234 python-2.0.1_1.tar.bz2 bd42838105f7c8c4088f95fe9248fec209f76e2614943dd611990e23b2b8c234 python-2.0.1_1.tar.bz2
b66dcc0cb5500955009357ac48725f0e4d9f75e45c134925c579f81f36144fb6 python-2.3.7_0.tar.bz2 b66dcc0cb5500955009357ac48725f0e4d9f75e45c134925c579f81f36144fb6 python-2.3.7_0.tar.bz2
@ -98,15 +99,15 @@ ffd69a0d9ab88ca4f2d22ea4747f52610b05669e5faa87908918a1f54a3f724e python-3.1.5_1
000565c78e6678421c36f11a9f371f57b6a33723b261231494a71de0c57f4c73 python-3.4.10_0.tar.bz2 000565c78e6678421c36f11a9f371f57b6a33723b261231494a71de0c57f4c73 python-3.4.10_0.tar.bz2
80e1681adc1103c4a09237a351b9b6c290b04d3bcd5492fdbcc4d9923421fcd6 python-3.8.16_0.tar.bz2 80e1681adc1103c4a09237a351b9b6c290b04d3bcd5492fdbcc4d9923421fcd6 python-3.8.16_0.tar.bz2
3cb05f043fe4b01804a24077f465bc7470964747493c847b0db54199c29dd08d pkg-config-0.29.2_0.tar.bz2 3cb05f043fe4b01804a24077f465bc7470964747493c847b0db54199c29dd08d pkg-config-0.29.2_0.tar.bz2
e1eb72972dc5eb4bd0fd1fc6a477026440dd292b71f4ef0052f59d89869ab3e3 sed-4.0.9_0.tar.bz2 6081832f1fc258df7dd927986821991b49fa78a71b76f4b37b5c34a8ebc9bc86 sed-4.0.9_0.tar.bz2
4c4c0d811e43373541c2e8a684d0fd536ace7f749445d4e987d9fc3b0c6c228a sed-4.8_0.tar.bz2 4c4c0d811e43373541c2e8a684d0fd536ace7f749445d4e987d9fc3b0c6c228a sed-4.8_0.tar.bz2
2e1c061eaecd0de33ec696d923037d9525c33071cbddb74bafb1b0bea7e875cc tar-1.34_0.tar.bz2 2e1c061eaecd0de33ec696d923037d9525c33071cbddb74bafb1b0bea7e875cc tar-1.34_0.tar.bz2
a07edeebe88d27afe01ae4b9c2fec7d26f54d87928976927f73d9dba5f50782b tcc-0.9.27_0.tar.bz2 a07edeebe88d27afe01ae4b9c2fec7d26f54d87928976927f73d9dba5f50782b tcc-0.9.27_0.tar.bz2
6d2b9b7d7970ab06b56ec59785b7c7246ea1da4835893fa7aa0e80eebefe57ff tcc-0.9.27_1.tar.bz2 41a4b0fbf461dd26ecd31d77b300c979a4decae185c9e2d50c0470bc49d0b893 tcc-0.9.27_1.tar.bz2
afe30ba8abf45ac3605c09df93ec3b2fec29c242bf5193a2086ef32340c6ebc6 tcc-0.9.27_2.tar.bz2 cbfc578c709f677ec3e9792a8620e4e2a88d13d93969fd54aac93e4a29c2604d tcc-0.9.27_2.tar.bz2
90ccfdd7d8ff855183cd873af027262b525c63c65b438e49deeb9e84bef1542c tcc-0.9.27_3.tar.bz2 2b503cd31d3326ac1ed0eb9f506ac93c93770da51164e152a812cd248961069c tcc-0.9.27_3.tar.bz2
50b867379c97a45da3313c74341d3c880370b61f2ac20734e19b0714271a9861 texinfo-6.7_0.tar.bz2 50b867379c97a45da3313c74341d3c880370b61f2ac20734e19b0714271a9861 texinfo-6.7_0.tar.bz2
75a57f10e2e6060d6c754730297ee210976ed8adb03efe7a42095167da7a3507 util-linux-2.19.1_0.tar.bz2 363aa80da3fd599ba7f4bf3bb5ab72e788fa9ffdcd5afa1c1058da02b8170774 util-linux-2.19.1_0.tar.bz2
145bdcd8866199839f112cb1ccdef26b6d337c7aa651e95b9c8a6dc770450b3e which-2.21_0.tar.bz2 145bdcd8866199839f112cb1ccdef26b6d337c7aa651e95b9c8a6dc770450b3e which-2.21_0.tar.bz2
2f13766643924a17fea7f44d0a4ed353fe1b9a7d288799c5672619665582cd14 xz-5.0.5_0.tar.bz2 2f13766643924a17fea7f44d0a4ed353fe1b9a7d288799c5672619665582cd14 xz-5.0.5_0.tar.bz2
481c4b1970dbf9845be26b55c59556903b0b1f924f48efe5c728b76e482ab485 zlib-1.2.13_0.tar.bz2 481c4b1970dbf9845be26b55c59556903b0b1f924f48efe5c728b76e482ab485 zlib-1.2.13_0.tar.bz2

11
sysa/after2.kaem Normal file
View file

@ -0,0 +1,11 @@
prefix=/usr
bindir=${prefix}/bin
PATH=${bindir}
cd sysa
catm run2-after-fiwix.kaem bootstrap.cfg run-after-fiwix.kaem
chmod 755 run2-after-fiwix.kaem
kaem --file run2-after-fiwix.kaem

View file

@ -1,8 +0,0 @@
# SPDX-FileCopyrightText: 1998-2021 Daniel Stenberg <daniel@haxx.se>
#
# SPDX-License-Identifier: curl
my $pi = 3.1415;
foreach my $i (1 .. 200) {
printf "%d, ", sin($i/200 * 2 * $pi) * 500000 + 500000;
}

View file

@ -1,62 +0,0 @@
# SPDX-FileCopyrightText: 2022 fosslinux <fosslinux@aussies.space>
#
# SPDX-License-Identifier: curl
Regenerating help is not trivial. Help is unnecessary.
Disable help.
diff --color -ru src/Makefile.inc src/Makefile.inc
--- src/Makefile.inc 2022-05-09 16:48:37.195346967 +1000
+++ src/Makefile.inc 2022-05-09 16:49:46.503187644 +1000
@@ -69,11 +69,9 @@
tool_formparse.c \
tool_getparam.c \
tool_getpass.c \
- tool_help.c \
tool_helpers.c \
tool_hugehelp.c \
tool_libinfo.c \
- tool_listhelp.c \
tool_main.c \
tool_msgs.c \
tool_operate.c \
@@ -111,7 +109,6 @@
tool_formparse.h \
tool_getparam.h \
tool_getpass.h \
- tool_help.h \
tool_helpers.h \
tool_hugehelp.h \
tool_libinfo.h \
diff --color -ru src/tool_operate.c src/tool_operate.c
--- src/tool_operate.c 2022-05-09 16:48:37.196347022 +1000
+++ src/tool_operate.c 2022-05-09 16:54:00.696271863 +1000
@@ -78,7 +78,6 @@
#include "tool_writeout.h"
#include "tool_xattr.h"
#include "tool_vms.h"
-#include "tool_help.h"
#include "tool_hugehelp.h"
#include "tool_progress.h"
#include "dynbuf.h"
@@ -2607,19 +2606,7 @@
if(res) {
result = CURLE_OK;
- /* Check if we were asked for the help */
- if(res == PARAM_HELP_REQUESTED)
- tool_help(global->help_category);
- /* Check if we were asked for the manual */
- else if(res == PARAM_MANUAL_REQUESTED)
- hugehelp();
- /* Check if we were asked for the version information */
- else if(res == PARAM_VERSION_INFO_REQUESTED)
- tool_version_info();
- /* Check if we were asked to list the SSL engines */
- else if(res == PARAM_ENGINES_REQUESTED)
- tool_list_engines();
- else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
+ if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
result = CURLE_UNSUPPORTED_PROTOCOL;
else if(res == PARAM_READ_ERROR)
result = CURLE_READ_ERROR;

View file

@ -0,0 +1 @@
ea43c28e633529c26fe67ff08fca31b357b1b3570faeb0d109c193deee167e4b /boot/fiwix

View file

@ -0,0 +1,554 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -ex
# Check tarball checksums
checksum-transcriber sources
sha256sum -c sources.SHA256SUM
# Extract
mkdir build src
cd src
ungz --file ${distfiles}/${pkg}.tar.gz --output ${pkg}.tar
cd ..
cd build
untar --file ../src/${pkg}.tar
cd ${pkg}
cd kernel
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -traditional -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -c -o boot.o boot.S
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -traditional -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -c -o core386.o core386.S
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc2\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o main.o main.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o init.o init.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o gdt.o gdt.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o idt.o idt.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o syscalls.o syscalls.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pic.o pic.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pit.o pit.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o irq.o irq.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o traps.o traps.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o cpu.o cpu.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o cmos.o cmos.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o timer.o timer.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sched.o sched.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sleep.o sleep.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o signal.o signal.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o process.o process.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o multiboot.o multiboot.c
cd syscalls
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o umount.o umount.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getgid.o getgid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getppid.o getppid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fstatfs.o fstatfs.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getgroups.o getgroups.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fsync.o fsync.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setreuid.o setreuid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o newuname.o newuname.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fork.o fork.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setitimer.o setitimer.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fdatasync.o fdatasync.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o chmod.o chmod.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mmap2.o mmap2.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o msgsnd.o msgsnd.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o madvise.o madvise.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o exit.o exit.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o readlink.o readlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o socketcall.o socketcall.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o stat64.o stat64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o readv.o readv.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sigaction.o sigaction.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fstat.o fstat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o waitpid.o waitpid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setfsgid.o setfsgid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o chown.o chown.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o flock.o flock.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o uname.o uname.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o lseek.o lseek.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setsid.o setsid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o settimeofday.o settimeofday.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o unlink.o unlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sigprocmask.o sigprocmask.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ustat.o ustat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o open.o open.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sync.o sync.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o iopl.o iopl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o msgget.o msgget.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pipe.o pipe.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o shmdt.o shmdt.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getsid.o getsid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setfsuid.o setfsuid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o signal.o signal.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o newfstat.o newfstat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mkdir.o mkdir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getcwd.o getcwd.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o link.o link.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o msgctl.o msgctl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sethostname.o sethostname.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o semctl.o semctl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sysinfo.o sysinfo.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setdomainname.o setdomainname.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getegid.o getegid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o personality.o personality.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setregid.o setregid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setgid.o setgid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o lstat.o lstat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getuid.o getuid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o llseek.o llseek.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o select.o select.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ftruncate.o ftruncate.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getpgid.o getpgid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o brk.o brk.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getrusage.o getrusage.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sigsuspend.o sigsuspend.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o writev.o writev.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o times.o times.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ssetmask.o ssetmask.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o stat.o stat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fchdir.o fchdir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o chdir.o chdir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setgroups.o setgroups.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o newstat.o newstat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o creat.o creat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getdents64.o getdents64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getpid.o getpid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o read.o read.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dup.o dup.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o utimes.o utimes.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o semget.o semget.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mount.o mount.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o rmdir.o rmdir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setrlimit.o setrlimit.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sgetmask.o sgetmask.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pause.o pause.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o utime.o utime.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o statfs.o statfs.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ioperm.o ioperm.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o exit_group.o exit_group.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ftime.o ftime.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o truncate.o truncate.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pipe2.o pipe2.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o old_mmap.o old_mmap.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o olduname.o olduname.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o kill.o kill.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o gettimeofday.o gettimeofday.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fchmod.o fchmod.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fcntl64.o fcntl64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mprotect.o mprotect.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getitimer.o getitimer.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o old_select.o old_select.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o symlink.o symlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mknod.o mknod.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o write.o write.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o rename.o rename.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o shmat.o shmat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ipc.o ipc.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o lstat64.o lstat64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o access.o access.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getrlimit.o getrlimit.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sigreturn.o sigreturn.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ioctl.o ioctl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o umask.o umask.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o geteuid.o geteuid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o munmap.o munmap.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o alarm.o alarm.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o nanosleep.o nanosleep.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o close.o close.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o chroot.o chroot.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ftruncate64.o ftruncate64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o msgrcv.o msgrcv.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o umount2.o umount2.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o time.o time.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o stime.o stime.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o semop.o semop.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o newlstat.o newlstat.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sigpending.o sigpending.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o reboot.o reboot.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setuid.o setuid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o wait4.o wait4.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o chown32.o chown32.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fcntl.o fcntl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fstat64.o fstat64.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o shmctl.o shmctl.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dup2.o dup2.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o setpgid.o setpgid.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getdents.o getdents.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o getpgrp.o getpgrp.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fchown.o fchown.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o execve.o execve.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o shmget.o shmget.c
cd ../..
cd mm
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o bios_map.o bios_map.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o buddy_low.o buddy_low.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o memory.o memory.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o page.o page.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o alloc.o alloc.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fault.o fault.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o mmap.o mmap.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o swapper.o swapper.c
cd ..
cd fs
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o filesystems.o filesystems.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o devices.o devices.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o buffer.o buffer.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fd.o fd.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o locks.o locks.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o inode.o inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o namei.o namei.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o elf.o elf.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o script.o script.c
cd minix
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o bitmaps.o bitmaps.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o inode.o inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o namei.o namei.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o symlink.o symlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dir.o dir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o file.o file.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o v1_inode.o v1_inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o v2_inode.o v2_inode.c
cd ..
cd ext2
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o inode.o inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o namei.o namei.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o symlink.o symlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dir.o dir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o file.o file.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o bitmaps.o bitmaps.c
cd ..
cd pipefs
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fifo.o fifo.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pipe.o pipe.c
cd ..
cd iso9660
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o inode.o inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o namei.o namei.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dir.o dir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o file.o file.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o rrip.o rrip.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o symlink.o symlink.c
cd ..
cd procfs
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o super.o super.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o inode.o inode.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o namei.o namei.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dir.o dir.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o file.o file.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o symlink.o symlink.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o tree.o tree.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o data.o data.c
cd ../..
cd drivers/char
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o console.o console.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o tty.o tty.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o tty_queue.o tty_queue.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o vt.o vt.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o defkeymap.o defkeymap.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o keyboard.o keyboard.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o memdev.o memdev.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o serial.o serial.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o lp.o lp.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fb.o fb.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o sysrq.o sysrq.c
cd ..
cd block
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o dma.o dma.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o floppy.o floppy.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o part.o part.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ata.o ata.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ata_hd.o ata_hd.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o atapi.o atapi.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o atapi_cd.o atapi_cd.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ramdisk.o ramdisk.c
cd ..
cd pci
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o pci.o pci.c
cd ..
cd video
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o video.o video.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o vgacon.o vgacon.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fbcon.o fbcon.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o fonts.o fonts.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o bga.o bga.c
cd ../..
cd lib
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o ctype.o ctype.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o strings.o strings.c
tcc -m32 -march=i386 -std=c89 -D__KERNEL__ -DMAX_PID_VALUE=64000000 -DCONFIG_MMAP2 -DCONFIG_64BIT_SYSCALLS -DNR_PROCS=4096 -DCHILD_MAX=4096 -DOPEN_MAX=1536 -DNR_OPENS=1536 -DINIT_PROGRAM="\"/init\"" -DUTS_SYSNAME="\"Linux\"" -D__VERSION__=\"tcc\" -I/sysa/fiwix-1.4.0-lb1/build/fiwix-1.4.0-lb1/include -O2 -fno-pie -fno-common -ffreestanding -Wall -Wstrict-prototypes -c -o printk.o printk.c
cd ..
mkdir /boot
tcc -m32 -Wl,-Ttext=0xC0100000 -static -nostdlib -nostdinc \
kernel/boot.o \
kernel/core386.o \
kernel/main.o kernel/init.o \
kernel/gdt.o \
kernel/idt.o \
kernel/syscalls.o \
kernel/pic.o \
kernel/pit.o \
kernel/irq.o \
kernel/traps.o \
kernel/cpu.o \
kernel/cmos.o \
kernel/timer.o \
kernel/sched.o \
kernel/sleep.o \
kernel/signal.o \
kernel/process.o \
kernel/multiboot.o \
kernel/syscalls/umount.o \
kernel/syscalls/getgid.o \
kernel/syscalls/getppid.o \
kernel/syscalls/fstatfs.o \
kernel/syscalls/getgroups.o \
kernel/syscalls/fsync.o \
kernel/syscalls/setreuid.o \
kernel/syscalls/newuname.o \
kernel/syscalls/fork.o \
kernel/syscalls/setitimer.o \
kernel/syscalls/fdatasync.o \
kernel/syscalls/chmod.o \
kernel/syscalls/mmap2.o \
kernel/syscalls/msgsnd.o \
kernel/syscalls/madvise.o \
kernel/syscalls/exit.o \
kernel/syscalls/readlink.o \
kernel/syscalls/socketcall.o \
kernel/syscalls/stat64.o \
kernel/syscalls/readv.o \
kernel/syscalls/sigaction.o \
kernel/syscalls/fstat.o \
kernel/syscalls/waitpid.o \
kernel/syscalls/setfsgid.o \
kernel/syscalls/chown.o \
kernel/syscalls/flock.o \
kernel/syscalls/uname.o \
kernel/syscalls/lseek.o \
kernel/syscalls/setsid.o \
kernel/syscalls/settimeofday.o \
kernel/syscalls/unlink.o \
kernel/syscalls/sigprocmask.o \
kernel/syscalls/ustat.o \
kernel/syscalls/open.o \
kernel/syscalls/sync.o \
kernel/syscalls/iopl.o \
kernel/syscalls/msgget.o \
kernel/syscalls/pipe.o \
kernel/syscalls/shmdt.o \
kernel/syscalls/getsid.o \
kernel/syscalls/setfsuid.o \
kernel/syscalls/signal.o \
kernel/syscalls/newfstat.o \
kernel/syscalls/mkdir.o \
kernel/syscalls/getcwd.o \
kernel/syscalls/link.o \
kernel/syscalls/msgctl.o \
kernel/syscalls/sethostname.o \
kernel/syscalls/semctl.o \
kernel/syscalls/sysinfo.o \
kernel/syscalls/setdomainname.o \
kernel/syscalls/getegid.o \
kernel/syscalls/personality.o \
kernel/syscalls/setregid.o \
kernel/syscalls/setgid.o \
kernel/syscalls/lstat.o \
kernel/syscalls/getuid.o \
kernel/syscalls/llseek.o \
kernel/syscalls/select.o \
kernel/syscalls/ftruncate.o \
kernel/syscalls/getpgid.o \
kernel/syscalls/brk.o \
kernel/syscalls/getrusage.o \
kernel/syscalls/sigsuspend.o \
kernel/syscalls/writev.o \
kernel/syscalls/times.o \
kernel/syscalls/ssetmask.o \
kernel/syscalls/stat.o \
kernel/syscalls/fchdir.o \
kernel/syscalls/chdir.o \
kernel/syscalls/setgroups.o \
kernel/syscalls/newstat.o \
kernel/syscalls/creat.o \
kernel/syscalls/getdents64.o \
kernel/syscalls/getpid.o \
kernel/syscalls/read.o \
kernel/syscalls/dup.o \
kernel/syscalls/utimes.o \
kernel/syscalls/semget.o \
kernel/syscalls/mount.o \
kernel/syscalls/rmdir.o \
kernel/syscalls/setrlimit.o \
kernel/syscalls/sgetmask.o \
kernel/syscalls/pause.o \
kernel/syscalls/utime.o \
kernel/syscalls/statfs.o \
kernel/syscalls/ioperm.o \
kernel/syscalls/exit_group.o \
kernel/syscalls/ftime.o \
kernel/syscalls/truncate.o \
kernel/syscalls/pipe2.o \
kernel/syscalls/old_mmap.o \
kernel/syscalls/olduname.o \
kernel/syscalls/kill.o \
kernel/syscalls/gettimeofday.o \
kernel/syscalls/fchmod.o \
kernel/syscalls/fcntl64.o \
kernel/syscalls/mprotect.o \
kernel/syscalls/getitimer.o \
kernel/syscalls/old_select.o \
kernel/syscalls/symlink.o \
kernel/syscalls/mknod.o \
kernel/syscalls/write.o \
kernel/syscalls/rename.o \
kernel/syscalls/shmat.o \
kernel/syscalls/ipc.o \
kernel/syscalls/lstat64.o \
kernel/syscalls/access.o \
kernel/syscalls/getrlimit.o \
kernel/syscalls/sigreturn.o \
kernel/syscalls/ioctl.o \
kernel/syscalls/umask.o \
kernel/syscalls/geteuid.o \
kernel/syscalls/munmap.o \
kernel/syscalls/alarm.o \
kernel/syscalls/nanosleep.o \
kernel/syscalls/close.o \
kernel/syscalls/chroot.o \
kernel/syscalls/ftruncate64.o \
kernel/syscalls/msgrcv.o \
kernel/syscalls/umount2.o \
kernel/syscalls/time.o \
kernel/syscalls/stime.o \
kernel/syscalls/semop.o \
kernel/syscalls/newlstat.o \
kernel/syscalls/sigpending.o \
kernel/syscalls/reboot.o \
kernel/syscalls/setuid.o \
kernel/syscalls/wait4.o \
kernel/syscalls/chown32.o \
kernel/syscalls/fcntl.o \
kernel/syscalls/fstat64.o \
kernel/syscalls/shmctl.o \
kernel/syscalls/dup2.o \
kernel/syscalls/setpgid.o \
kernel/syscalls/getdents.o \
kernel/syscalls/getpgrp.o \
kernel/syscalls/fchown.o \
kernel/syscalls/execve.o \
kernel/syscalls/shmget.o \
mm/bios_map.o \
mm/buddy_low.o \
mm/memory.o \
mm/page.o \
mm/alloc.o \
mm/fault.o \
mm/mmap.o \
mm/swapper.o \
fs/filesystems.o \
fs/devices.o \
fs/buffer.o \
fs/fd.o \
fs/locks.o \
fs/super.o \
fs/inode.o \
fs/namei.o \
fs/elf.o \
fs/script.o \
fs/minix/super.o \
fs/minix/bitmaps.o \
fs/minix/inode.o \
fs/minix/namei.o \
fs/minix/symlink.o \
fs/minix/dir.o \
fs/minix/file.o \
fs/minix/v1_inode.o \
fs/minix/v2_inode.o \
fs/ext2/inode.o \
fs/ext2/super.o \
fs/ext2/namei.o \
fs/ext2/symlink.o \
fs/ext2/dir.o \
fs/ext2/file.o \
fs/ext2/bitmaps.o \
fs/pipefs/super.o \
fs/pipefs/fifo.o \
fs/pipefs/pipe.o \
fs/iso9660/inode.o \
fs/iso9660/super.o \
fs/iso9660/namei.o \
fs/iso9660/dir.o \
fs/iso9660/file.o \
fs/iso9660/rrip.o \
fs/iso9660/symlink.o \
fs/procfs/super.o \
fs/procfs/inode.o \
fs/procfs/namei.o \
fs/procfs/dir.o \
fs/procfs/file.o \
fs/procfs/symlink.o \
fs/procfs/tree.o \
fs/procfs/data.o \
drivers/char/console.o \
drivers/char/tty.o \
drivers/char/tty_queue.o \
drivers/char/vt.o \
drivers/char/defkeymap.o \
drivers/char/keyboard.o \
drivers/char/memdev.o \
drivers/char/serial.o \
drivers/char/lp.o \
drivers/char/fb.o \
drivers/char/sysrq.o \
drivers/block/dma.o \
drivers/block/floppy.o \
drivers/block/part.o \
drivers/block/ata.o \
drivers/block/ata_hd.o \
drivers/block/atapi.o \
drivers/block/atapi_cd.o \
drivers/block/ramdisk.o \
drivers/pci/pci.o \
drivers/video/video.o \
drivers/video/vgacon.o \
drivers/video/fbcon.o \
drivers/video/fonts.o \
drivers/video/bga.o \
lib/ctype.o \
lib/strings.o \
lib/printk.o \
-o /boot/fiwix
# Checksums
if match x${UPDATE_CHECKSUMS} xTrue; then
sha256sum /boot/fiwix
#sha256sum -o ${pkg}.checksums \
# /boot/fiwix
#cp ${pkg}.checksums ${srcdir}
else
sha256sum -c ${pkg}.checksums
fi

View file

@ -0,0 +1 @@
https://github.com/rick-masters/Fiwix/releases/download/v1.4.0-lb1/fiwix-1.4.0-lb1.tar.gz ff57d1fbf0547a27dec4d7146eb9c17d01158ca5886de54e5b9bac2bec473ef3

View file

@ -0,0 +1,4 @@
cd src
tcc -m32 -march=i386 -std=c89 -I../../tcc/tcc-0.9.27/include -o kexec-fiwix kexec-fiwix.c
./kexec-fiwix

View file

@ -0,0 +1,217 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "multiboot1.h"
#define MULTIBOOT_MAGIC 0x2BADB002
#define INITRD_MB 1152
int main() {
/* Read the kernel */
printf("kexec-fiwix: starting...\n\n");
FILE *fiwix_file = fopen("/boot/fiwix", "r");
fseek(fiwix_file, 0, SEEK_END);
int fiwix_len = ftell(fiwix_file);
printf("kexec-fiwix: Fiwix kernel file length: %d\n", fiwix_len);
puts("kexec-fiwix: Reading kernel...");
fseek(fiwix_file, 0, SEEK_SET);
char * fiwix_mem = malloc(fiwix_len);
int read_len = fread(fiwix_mem, fiwix_len, 1, fiwix_file);
fclose(fiwix_file);
if (read_len < 1) {
printf("kexec-fiwix: kernel fread error: %d\n", read_len);
return EXIT_FAILURE;
}
/* Display info from ELF header */
unsigned int e_entry = *((unsigned int *) (&fiwix_mem[0x18]));
printf("ELF virtual entry point : 0x%x\n", e_entry);
unsigned int e_phoff = *((unsigned int *) (&fiwix_mem[0x1C]));
printf("ELF program header offset : 0x%x\n", e_phoff);
unsigned int e_phnum = *((unsigned int *) (&fiwix_mem[0x2C]));
e_phnum &= 0xFFFF;
printf("ELF number of program headers: %d\n", e_phnum);
unsigned int e_phentsize = *((unsigned int *) (&fiwix_mem[0x2A]));
e_phentsize &= 0xFFFF;
printf("ELF size of program headers : %d\n", e_phentsize);
/* Load the kernel */
puts("kexec-fiwix: Placing kernel in memory...");
int header_num;
for (header_num = 0; header_num < e_phnum; header_num++) {
char * fiwix_prog_header = &fiwix_mem[e_phoff + header_num * e_phentsize];
unsigned int p_offset = *((unsigned int *) (&fiwix_prog_header[0x04]));
unsigned int p_vaddr = *((unsigned int *) (&fiwix_prog_header[0x08]));
unsigned int p_paddr = *((unsigned int *) (&fiwix_prog_header[0x0C]));
unsigned int p_filesz = *((unsigned int *) (&fiwix_prog_header[0x10]));
unsigned int p_memsz = *((unsigned int *) (&fiwix_prog_header[0x14]));
if (header_num == 0) {
e_entry -= (p_vaddr - p_paddr);
printf("ELF physical entry point : 0x%x\n", e_entry);
}
printf("header %d:\n", header_num);
printf(" p_offset: 0x%08x\n", p_offset);
printf(" p_paddr : 0x%08x\n", p_paddr);
printf(" p_filesz: 0x%08x\n", p_filesz);
printf(" p_memsz : 0x%08x\n", p_memsz);
memset((void *)p_paddr, 0, p_memsz + 0x10000);
memcpy((void *)p_paddr, &fiwix_mem[p_offset], p_filesz);
}
puts("Preparing multiboot info for kernel...");
char cmdline[256];
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=image.ext2", INITRD_MB * 1024);
char * boot_loader_name = "kexec-fiwix";
unsigned int next_avail_mem = 0x8000;
multiboot_info_t * pmultiboot_info = (multiboot_info_t *) next_avail_mem;
memset(pmultiboot_info, 0, sizeof(multiboot_info_t));
pmultiboot_info->flags = MULTIBOOT_INFO_BOOT_LOADER_NAME
| MULTIBOOT_INFO_MEMORY
| MULTIBOOT_INFO_CMDLINE
| MULTIBOOT_INFO_MODS
| MULTIBOOT_INFO_MEM_MAP;
next_avail_mem += sizeof(multiboot_info_t);
pmultiboot_info->mem_lower = 0x0000027F;
pmultiboot_info->mem_upper = 0x002FFB80;
/* Set command line */
pmultiboot_info->cmdline = next_avail_mem;
strcpy((char *) next_avail_mem, cmdline);
next_avail_mem += (strlen(cmdline) + 1);
/* Set ramdrive info */
pmultiboot_info->mods_count = 1;
pmultiboot_info->mods_addr = next_avail_mem;
multiboot_module_t *pmultiboot_module = (multiboot_module_t *) next_avail_mem;
pmultiboot_module->mod_start = 0x1C6000;
pmultiboot_module->mod_end = 0x1C6000 + (INITRD_MB * 1024 * 1024);
next_avail_mem += sizeof(multiboot_module_t);
pmultiboot_module->cmdline = next_avail_mem;
strcpy((char *) next_avail_mem, "image.ext2");
next_avail_mem += (strlen("image.ext2") + 1);
/* Set memory map info */
pmultiboot_info->mmap_addr = next_avail_mem;
pmultiboot_info->mmap_length = 7 * sizeof(multiboot_memory_map_t);
multiboot_memory_map_t *pmultiboot_memory_map = (multiboot_memory_map_t *) next_avail_mem;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0x00000000;
pmultiboot_memory_map->len = 0x0009FC00;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_AVAILABLE;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0x0009FC00;
pmultiboot_memory_map->len = 0x00000400;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0x000F0000;
pmultiboot_memory_map->len = 0x00010000;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0x00100000;
pmultiboot_memory_map->len = 0xBFEE0000;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_AVAILABLE;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0XBFFE0000;
pmultiboot_memory_map->len = 0x00020000;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0XFEFFC000;
pmultiboot_memory_map->len = 0x00004000;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
pmultiboot_memory_map++;
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
pmultiboot_memory_map->addr = 0XFFFC0000;
pmultiboot_memory_map->len = 0x00040000;
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
pmultiboot_memory_map++;
next_avail_mem += pmultiboot_info->mmap_length;
/* Set boot loader name */
pmultiboot_info->boot_loader_name = next_avail_mem;
strcpy((char *) next_avail_mem, boot_loader_name);
/* next_avail_mem += (strlen(boot_loader_name) + 1); */
/* Jump to kernel entry point */
unsigned int magic = MULTIBOOT_BOOTLOADER_MAGIC;
unsigned int dummy = 0;
unsigned int multiboot_info_num = (unsigned int) pmultiboot_info;
int filenum;
unsigned int filename_addr;
for (filenum = 4, filename_addr = 0x201000; filenum <= 14335; filenum++, filename_addr += 1024) {
if (!strcmp((char *) filename_addr, "/sysa/lwext4-1.0.0-lb1/build/lwext4-1.0.0-lb1/src/image.ext2")) {
printf("Found image at filenum %d\n", filenum);
break;
}
}
unsigned int initrd_src = *((unsigned int *) (0x01000000 + (16 * filenum) + 4));
unsigned int initrd_len = *((unsigned int *) (0x01000000 + (16 * filenum) + 8));
printf("initrd_src: 0x%08x\n", initrd_src);
printf("initrd_len: 0x%08x\n", initrd_len);
printf("Preparing trampoline...\n");
/* The ramdrive needs to be written to a location that would overwrite this program.
* Therfore, the code that copies the ram drive and jumps to the kernel needs to be
* run from a safe location. So, we put that code into an array variable and
* copy the code (called a "trampoline") to a safe location and then jump to it.
* The 0x00000000 values below are place holders which are set below
*/
char trampoline[] = {
0xBE, 0x00, 0x00, 0x00, 0x00, /* mov esi, 0x00000000 */
0xBF, 0x00, 0x00, 0x00, 0x00, /* mov edi, 0x00000000 */
0xB9, 0x00, 0x00, 0x00, 0x00, /* mov ecx, 0x00000000 */
0xFC, /* cld */
0xF3, 0xA4, /* rep movsb */
0xB8, 0x00, 0x00, 0x00, 0x00, /* mov eax, 0x00000000 */
0xBB, 0x00, 0x00, 0x00, 0x00, /* mov ebx, 0x00000000 */
0xEA, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 /* jmp far 0x0008:0x00000000 */
};
/* Set place holder values */
*((unsigned int *) &trampoline[1]) = initrd_src;
*((unsigned int *) &trampoline[6]) = 0x001C6000;
*((unsigned int *) &trampoline[11]) = INITRD_MB * 1024 * 1024;
*((unsigned int *) &trampoline[19]) = magic;
*((unsigned int *) &trampoline[24]) = multiboot_info_num;
*((unsigned int *) &trampoline[29]) = e_entry;
memcpy((void *)0x4000, trampoline, sizeof(trampoline));
printf("kexec-fiwix: jumping to trampoline...\n");
__asm__ __volatile__ (
".byte 0xEA, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00 \n\t"
);
}

View file

@ -0,0 +1,351 @@
/* multiboot.h - Multiboot header file. */
/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ANY
* DEVELOPER OR DISTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
* IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef MULTIBOOT_HEADER
#define MULTIBOOT_HEADER 1
/* How many bytes from the start of the file we search for the header. */
#define MULTIBOOT_SEARCH 8192
#define MULTIBOOT_HEADER_ALIGN 4
/* The magic field should contain this. */
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
/* This should be in %eax. */
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
/* Alignment of multiboot modules. */
#define MULTIBOOT_MOD_ALIGN 0x00001000
/* Alignment of the multiboot info structure. */
#define MULTIBOOT_INFO_ALIGN 0x00000004
/* Flags set in the flags member of the multiboot header. */
/* Align all boot modules on i386 page (4KB) boundaries. */
#define MULTIBOOT_PAGE_ALIGN 0x00000001
/* Must pass memory information to OS. */
#define MULTIBOOT_MEMORY_INFO 0x00000002
/* Must pass video information to OS. */
#define MULTIBOOT_VIDEO_MODE 0x00000004
/* This flag indicates the use of the address fields in the header. */
#define MULTIBOOT_AOUT_KLUDGE 0x00010000
/* Flags to be set in the flags member of the multiboot info structure. */
/* is there basic lower/upper memory information? */
#define MULTIBOOT_INFO_MEMORY 0x00000001
/* is there a boot device set? */
#define MULTIBOOT_INFO_BOOTDEV 0x00000002
/* is the command-line defined? */
#define MULTIBOOT_INFO_CMDLINE 0x00000004
/* are there modules to do something with? */
#define MULTIBOOT_INFO_MODS 0x00000008
/* These next two are mutually exclusive */
/* is there a symbol table loaded? */
#define MULTIBOOT_INFO_AOUT_SYMS 0x00000010
/* is there an ELF section header table? */
#define MULTIBOOT_INFO_ELF_SHDR 0X00000020
/* is there a full memory map? */
#define MULTIBOOT_INFO_MEM_MAP 0x00000040
/* Is there drive info? */
#define MULTIBOOT_INFO_DRIVE_INFO 0x00000080
/* Is there a config table? */
#define MULTIBOOT_INFO_CONFIG_TABLE 0x00000100
/* Is there a boot loader name? */
#define MULTIBOOT_INFO_BOOT_LOADER_NAME 0x00000200
/* Is there a APM table? */
#define MULTIBOOT_INFO_APM_TABLE 0x00000400
/* Is there video information? */
#define MULTIBOOT_INFO_VBE_INFO 0x00000800
#define MULTIBOOT_INFO_FRAMEBUFFER_INFO 0x00001000
#ifndef ASM_FILE
typedef unsigned char multiboot_uint8_t;
typedef unsigned short multiboot_uint16_t;
typedef unsigned int multiboot_uint32_t;
typedef unsigned long long multiboot_uint64_t;
struct multiboot_header
{
/* Must be MULTIBOOT_MAGIC - see above. */
multiboot_uint32_t magic;
/* Feature flags. */
multiboot_uint32_t flags;
/* The above fields plus this one must equal 0 mod 2^32. */
multiboot_uint32_t checksum;
/* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */
multiboot_uint32_t header_addr;
multiboot_uint32_t load_addr;
multiboot_uint32_t load_end_addr;
multiboot_uint32_t bss_end_addr;
multiboot_uint32_t entry_addr;
/* These are only valid if MULTIBOOT_VIDEO_MODE is set. */
multiboot_uint32_t mode_type;
multiboot_uint32_t width;
multiboot_uint32_t height;
multiboot_uint32_t depth;
};
/* The symbol table for a.out. */
struct multiboot_aout_symbol_table
{
multiboot_uint32_t tabsize;
multiboot_uint32_t strsize;
multiboot_uint32_t addr;
multiboot_uint32_t reserved;
};
typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t;
/* The section header table for ELF. */
struct multiboot_elf_section_header_table
{
multiboot_uint32_t num;
multiboot_uint32_t size;
multiboot_uint32_t addr;
multiboot_uint32_t shndx;
};
typedef struct multiboot_elf_section_header_table multiboot_elf_section_header_table_t;
struct multiboot_info
{
/* Multiboot info version number */
multiboot_uint32_t flags;
/* Available memory from BIOS */
multiboot_uint32_t mem_lower;
multiboot_uint32_t mem_upper;
/* "root" partition */
multiboot_uint32_t boot_device;
/* Kernel command line */
multiboot_uint32_t cmdline;
/* Boot-Module list */
multiboot_uint32_t mods_count;
multiboot_uint32_t mods_addr;
union
{
multiboot_aout_symbol_table_t aout_sym;
multiboot_elf_section_header_table_t elf_sec;
} u;
/* Memory Mapping buffer */
multiboot_uint32_t mmap_length;
multiboot_uint32_t mmap_addr;
/* Drive Info buffer */
multiboot_uint32_t drives_length;
multiboot_uint32_t drives_addr;
/* ROM configuration table */
multiboot_uint32_t config_table;
/* Boot Loader Name */
multiboot_uint32_t boot_loader_name;
/* APM table */
multiboot_uint32_t apm_table;
/* Video */
multiboot_uint32_t vbe_control_info;
multiboot_uint32_t vbe_mode_info;
multiboot_uint16_t vbe_mode;
multiboot_uint16_t vbe_interface_seg;
multiboot_uint16_t vbe_interface_off;
multiboot_uint16_t vbe_interface_len;
multiboot_uint64_t framebuffer_addr;
multiboot_uint32_t framebuffer_pitch;
multiboot_uint32_t framebuffer_width;
multiboot_uint32_t framebuffer_height;
multiboot_uint8_t framebuffer_bpp;
#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 0
#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB 1
#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT 2
multiboot_uint8_t framebuffer_type;
union
{
struct
{
multiboot_uint32_t framebuffer_palette_addr;
multiboot_uint16_t framebuffer_palette_num_colors;
};
struct
{
multiboot_uint8_t framebuffer_red_field_position;
multiboot_uint8_t framebuffer_red_mask_size;
multiboot_uint8_t framebuffer_green_field_position;
multiboot_uint8_t framebuffer_green_mask_size;
multiboot_uint8_t framebuffer_blue_field_position;
multiboot_uint8_t framebuffer_blue_mask_size;
};
};
};
typedef struct multiboot_info multiboot_info_t;
struct multiboot_color
{
multiboot_uint8_t red;
multiboot_uint8_t green;
multiboot_uint8_t blue;
};
struct multiboot_mmap_entry
{
multiboot_uint32_t size;
multiboot_uint64_t addr;
multiboot_uint64_t len;
#define MULTIBOOT_MEMORY_AVAILABLE 1
#define MULTIBOOT_MEMORY_RESERVED 2
#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE 3
#define MULTIBOOT_MEMORY_NVS 4
#define MULTIBOOT_MEMORY_BADRAM 5
multiboot_uint32_t type;
} __attribute__((packed));
typedef struct multiboot_mmap_entry multiboot_memory_map_t;
struct multiboot_mod_list
{
/* the memory used goes from bytes mod_start to mod_end-1 inclusive */
multiboot_uint32_t mod_start;
multiboot_uint32_t mod_end;
/* Module command line */
multiboot_uint32_t cmdline;
/* padding to take it to 16 bytes (must be zero) */
multiboot_uint32_t pad;
};
typedef struct multiboot_mod_list multiboot_module_t;
/* APM BIOS info. */
struct multiboot_apm_info
{
multiboot_uint16_t version;
multiboot_uint16_t cseg;
multiboot_uint32_t offset;
multiboot_uint16_t cseg_16;
multiboot_uint16_t dseg;
multiboot_uint16_t flags;
multiboot_uint16_t cseg_len;
multiboot_uint16_t cseg_16_len;
multiboot_uint16_t dseg_len;
};
/* VBE controller information. */
struct vbe_controller
{
unsigned char signature[4];
unsigned short version;
unsigned long oem_string;
unsigned long capabilities;
unsigned long video_mode;
unsigned short total_memory;
unsigned short oem_software_rev;
unsigned long oem_vendor_name;
unsigned long oem_product_name;
unsigned long oem_product_rev;
unsigned char reserved[222];
unsigned char oem_data[256];
} __attribute__ ((packed));
/* VBE mode information. */
struct vbe_mode
{
unsigned short mode_attributes;
unsigned char win_a_attributes;
unsigned char win_b_attributes;
unsigned short win_granularity;
unsigned short win_size;
unsigned short win_a_segment;
unsigned short win_b_segment;
unsigned long win_func;
unsigned short bytes_per_scanline;
/* >=1.2 */
unsigned short x_resolution;
unsigned short y_resolution;
unsigned char x_char_size;
unsigned char y_char_size;
unsigned char number_of_planes;
unsigned char bits_per_pixel;
unsigned char number_of_banks;
unsigned char memory_model;
unsigned char bank_size;
unsigned char number_of_image_pages;
unsigned char reserved0;
/* direct color */
unsigned char red_mask_size;
unsigned char red_field_position;
unsigned char green_mask_size;
unsigned char green_field_position;
unsigned char blue_mask_size;
unsigned char blue_field_position;
unsigned char reserved_mask_size;
unsigned char reserved_field_position;
unsigned char direct_color_mode_info;
/* >=2.0 */
unsigned long phys_base;
unsigned long reserved1;
unsigned short reversed2;
/* >=3.0 */
unsigned short linear_bytes_per_scanline;
unsigned char banked_number_of_image_pages;
unsigned char linear_number_of_image_pages;
unsigned char linear_red_mask_size;
unsigned char linear_red_field_position;
unsigned char linear_green_mask_size;
unsigned char linear_green_field_position;
unsigned char linear_blue_mask_size;
unsigned char linear_blue_field_position;
unsigned char linear_reserved_mask_size;
unsigned char linear_reserved_field_position;
unsigned long max_pixel_clock;
unsigned char reserved3[190];
} __attribute__ ((packed));
#endif /* ! ASM_FILE */
#endif /* ! MULTIBOOT_HEADER */

View file

@ -0,0 +1,14 @@
#define CONFIG_USE_DEFAULT_CONFIG 0
#define CONFIG_HAVE_OWN_OFLAGS 0
#define CONFIG_HAVE_OWN_ERRNO 1
#define CONFIG_HAVE_OWN_ASSERT 0
#define CONFIG_BLOCK_DEV_CACHE_SIZE 16
typedef long long unsigned int uint64_t;
typedef long long int int64_t;
#define fseeko fseek
#define ftello ftell
#define PRIu32 "u"
#define PRId32 "d"
#define PRIx32 "x"
#define PRIu16 "hu"

View file

@ -0,0 +1,91 @@
/usr/bin/blood-elf
/usr/bin/catm
/usr/bin/chmod
/usr/bin/get_machine
/usr/bin/hex2
/usr/bin/kaem
/usr/bin/match
/usr/bin/M1
/usr/bin/M2-Mesoplanet
/usr/bin/M2-Planet
/usr/bin/mkdir
/usr/bin/sha256sum
/usr/bin/unbz2
/usr/bin/ungz
/usr/bin/untar
/usr/bin/cp
/usr/bin/replace
/usr/bin/rm
/usr/bin/checksum-transcriber
/usr/bin/tcc
/usr/bin/tcc-0.9.26
/usr/lib/mes/libc.a
/usr/lib/mes/libgetopt.a
/usr/lib/mes/crt1.o
/usr/lib/mes/crti.o
/usr/lib/mes/crtn.o
/usr/lib/mes/tcc/libtcc1.a
/usr/include/alloca.h
/usr/include/argz.h
/usr/include/ar.h
/usr/include/assert.h
/usr/include/ctype.h
/usr/include/dirent.h
/usr/include/dirstream.h
/usr/include/dlfcn.h
/usr/include/endian.h
/usr/include/errno.h
/usr/include/fcntl.h
/usr/include/features.h
/usr/include/float.h
/usr/include/getopt.h
/usr/include/grp.h
/usr/include/inttypes.h
/usr/include/libgen.h
/usr/include/limits.h
/usr/include/locale.h
/usr/include/math.h
/usr/include/memory.h
/usr/include/pwd.h
/usr/include/setjmp.h
/usr/include/signal.h
/usr/include/stdarg.h
/usr/include/stdbool.h
/usr/include/stddef.h
/usr/include/stdint.h
/usr/include/stdio.h
/usr/include/stdlib.h
/usr/include/stdnoreturn.h
/usr/include/string.h
/usr/include/strings.h
/usr/include/termio.h
/usr/include/time.h
/usr/include/unistd.h
/usr/include/arch/kernel-stat.h
/usr/include/arch/syscall.h
/usr/include/linux/syscall.h
/usr/include/linux/x86/syscall.h
/usr/include/mes/builtins.h
/usr/include/mes/cc.h
/usr/include/mes/config.h
/usr/include/mes/constants.h
/usr/include/mes/lib.h
/usr/include/mes/lib-mini.h
/usr/include/mes/mes.h
/usr/include/mes/symbols.h
/usr/include/sys/cdefs.h
/usr/include/sys/dir.h
/usr/include/sys/file.h
/usr/include/sys/ioctl.h
/usr/include/sys/mman.h
/usr/include/sys/param.h
/usr/include/sys/resource.h
/usr/include/sys/select.h
/usr/include/sys/stat.h
/usr/include/sys/timeb.h
/usr/include/sys/time.h
/usr/include/sys/times.h
/usr/include/sys/types.h
/usr/include/sys/ucontext.h
/usr/include/sys/user.h
/usr/include/sys/wait.h

View file

@ -0,0 +1,273 @@
/*
* Copyright (c) 2015 Grzegorz Kostka (kostka.grzegorz@gmail.com)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* - The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Modifications: Copyright (c) 2023 Richard Masters, same license.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdbool.h>
#include <inttypes.h>
#include <time.h>
#include <unistd.h>
#include <sys/time.h>
#include <ext4.h>
#include <ext4_mkfs.h>
#include "../blockdev/linux/file_dev.h"
#include "../blockdev/windows/file_windows.h"
#define BLOCK_SIZE 1024
#define FILENAME_LENGTH 256
#define INITRD_MB 1152
const char *input_name = NULL;
/**@brief Block device handle.*/
static struct ext4_blockdev *bd;
/**@brief Block cache handle.*/
static struct ext4_bcache *bc;
static struct ext4_fs fs;
static struct ext4_mkfs_info info = {
.block_size = BLOCK_SIZE,
.journal = false,
.inode_size = 128,
};
#define MKDEV(major, minor) (((major) << 8) | (minor))
static bool open_filedev(void)
{
file_dev_name_set(input_name);
bd = file_dev_get();
if (!bd) {
printf("open_filedev: fail\n");
return false;
}
return true;
}
bool lwext4_mount(struct ext4_blockdev *bdev, struct ext4_bcache *bcache)
{
int r;
bc = bcache;
bd = bdev;
if (!bd) {
printf("lwext4_mount: no block device\n");
return false;
}
/* ext4_dmask_set(DEBUG_ALL); */
r = ext4_device_register(bd, "ext4_fs");
if (r != EOK) {
printf("ext4_device_register: rc = %d\n", r);
return false;
}
r = ext4_mount("ext4_fs", "/mp/", false);
if (r != EOK) {
printf("ext4_mount: rc = %d\n", r);
return false;
}
r = ext4_recover("/mp/");
if (r != EOK && r != ENOTSUP) {
printf("ext4_recover: rc = %d\n", r);
return false;
}
/* ext4_cache_write_back("/mp/", 1); */
return true;
}
bool lwext4_umount(void)
{
int r;
/* ext4_cache_write_back("/mp/", 0); */
r = ext4_umount("/mp/");
if (r != EOK) {
printf("ext4_umount: fail %d", r);
return false;
}
return true;
}
bool copy_file(char *src_path, char *dest_path) {
ext4_file dest_file;
FILE *src_file = fopen(src_path, "rb");
if (!src_file) {
printf("fopen '%s' error.\n", src_path);
return EXIT_FAILURE;
}
fseek(src_file, 0, SEEK_END);
int src_len = ftell(src_file);
char * src_mem = malloc(src_len);
int err;
fseek(src_file, 0, SEEK_SET);
if (src_len > 0) {
int read_len = fread(src_mem, src_len, 1, src_file);
fclose(src_file);
if (read_len < 1) {
printf("src fread error file: '%s' read count: %d\n", src_path, read_len);
}
}
err = ext4_fopen(&dest_file, dest_path, "wb");
if (err != EOK) {
printf("ext4_open error: %d \n", err);
return EXIT_FAILURE;
}
if (src_len > 0) {
err = ext4_fwrite(&dest_file, src_mem, src_len, 0);
if (err != EOK) {
printf("ext4_fwrite error: %d \n", err);
return EXIT_FAILURE;
}
}
err = ext4_fclose(&dest_file);
if (err != EOK) {
printf("ext4_fclose error: %d \n", err);
return EXIT_FAILURE;
}
free(src_mem);
}
bool copy_file_list(char *file_list_path) {
char src_filename[FILENAME_LENGTH];
char dst_filename[FILENAME_LENGTH];
FILE *file_list = fopen(file_list_path, "r");
while(fgets(src_filename, FILENAME_LENGTH, file_list)) {
src_filename[strlen(src_filename) - 1] = 0; /* strip newline */
strcpy(dst_filename, "/mp");
strcat(dst_filename, src_filename);
copy_file(src_filename, dst_filename);
}
fclose(file_list);
}
int main(int argc, char **argv)
{
int err;
char zeros[BLOCK_SIZE];
unsigned int next_file_address;
next_file_address = *((unsigned int *) 0x7F8D);
printf("Starting image.ext at addr 0x%08x\n", next_file_address);
/* Create zeroed out disk image file */
input_name = "image.ext2";
/* input_name = "/dev/hda"; */
memset(zeros, 0, BLOCK_SIZE);
FILE *ext2file = fopen(input_name, "w");
int b;
for (b=0; b < (BLOCK_SIZE * INITRD_MB); b++)
fwrite(zeros, BLOCK_SIZE, 1, ext2file);
fclose(ext2file);
if (!open_filedev()) {
printf("open_filedev error\n");
return EXIT_FAILURE;
}
/* ext4_dmask_set(DEBUG_ALL); */
err = ext4_mkfs(&fs, bd, &info, F_SET_EXT2_V0);
if (err != EOK) {
printf("ext4_mkfs error: %d \n", err);
return EXIT_FAILURE;
}
memset(&info, 0, sizeof(struct ext4_mkfs_info));
err = ext4_mkfs_read_info(bd, &info);
if (err != EOK) {
printf("ext4_mkfs_read_info error: %d\n", err);
return EXIT_FAILURE;
}
printf("Created filesystem with parameters:\n");
printf("Size: %"PRIu64"\n", info.len);
printf("Block size: %"PRIu32"\n", info.block_size);
printf("Blocks per group: %"PRIu32"\n", info.blocks_per_group);
printf("Inodes per group: %"PRIu32"\n", info.inodes_per_group);
printf("Inode size: %"PRIu32"\n", info.inode_size);
printf("Inodes: %"PRIu32"\n", info.inodes);
printf("Journal blocks: %"PRIu32"\n", info.journal_blocks);
printf("Features ro_compat: 0x%x\n", info.feat_ro_compat);
printf("Features compat: 0x%x\n", info.feat_compat);
printf("Features incompat: 0x%x\n", info.feat_incompat);
printf("BG desc reserve: %"PRIu32"\n", info.bg_desc_reserve_blocks);
printf("Descriptor size: %"PRIu32"\n",info.dsc_size);
printf("Label: %s\n", info.label);
if (!lwext4_mount(bd, bc))
return EXIT_FAILURE;
printf("ext4_dir_mk /mp/dev\n");
err = ext4_dir_mk("/mp/dev");
if (err != EOK) {
printf("ext4_dir_mk error: %d \n", err);
}
printf("ext4_mknod /mp/dev/console\n");
err = ext4_mknod("/mp/dev/console", EXT4_DE_CHRDEV, MKDEV(5, 1));
if (err != EOK) {
printf("ext4_mknod error: %d \n", err);
return EXIT_FAILURE;
}
copy_file("/usr/bin/kaem", "/mp/init");
copy_file("/sysa/after2.kaem", "/mp/kaem.run");
copy_file_list("/sysa/lwext4-1.0.0-lb1/files/fiwix-file-list.txt");
ext4_dir_mk("/mp/tmp");
ext4_dir_mk("/mp/usr");
ext4_dir_mk("/mp/usr/src");
if (!lwext4_umount())
return EXIT_FAILURE;
printf("Fiwix ext2 initrd created successfully.\n");
return EXIT_SUCCESS;
}

View file

@ -0,0 +1,47 @@
mkdir build src
cd src
ungz --file ${distfiles}/${pkg}.tar.gz --output ${pkg}.tar
cd ..
cd build
untar --file ../src/${pkg}.tar
cd ${pkg}
mkdir build_generic
mkdir build_generic/include
mkdir build_generic/include/generated
catm build_generic/include/generated/ext4_config.h ../../config/ext4_config.h
cd blockdev/linux
tcc -m32 -march=i386 -std=c89 -I../../include -I../../build_generic/include -I../../../tcc/tcc-0.9.27/include -DVERSION="\"1.0\"" -c file_dev.c
cd ../../src
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_balloc.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_bcache.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_bitmap.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_block_group.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_blockdev.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_crc32.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_debug.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_dir.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_dir_idx.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_extent.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_fs.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_hash.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_ialloc.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_inode.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_journal.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_mbr.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_mkfs.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_super.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_trans.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -c ext4_xattr.c
catm make_fiwix_initrd.c ../../../files/make_fiwix_initrd.c
tcc -m32 -march=i386 -std=c89 -I../include -I../build_generic/include -I../../tcc/tcc-0.9.27/include -DVERSION="\"1.0\"" -c make_fiwix_initrd.c
tcc -m32 -o make_fiwix_initrd ext4.o ext4_balloc.o ext4_bcache.o ext4_bitmap.o ext4_block_group.o ext4_blockdev.o ext4_crc32.o ext4_debug.o ext4_dir.o ext4_dir_idx.o ext4_extent.o ext4_fs.o ext4_hash.o ext4_ialloc.o ext4_inode.o ext4_journal.o ext4_mbr.o ext4_mkfs.o ext4_super.o ext4_trans.o ext4_xattr.o ../blockdev/linux/file_dev.o make_fiwix_initrd.o
./make_fiwix_initrd

View file

@ -0,0 +1 @@
https://github.com/rick-masters/lwext4/releases/download/v1.0.0-lb1/lwext4-1.0.0-lb1.tar.gz a90526665123d788fc23d14354468d22cc2e3e9e43a6c44ea452fbbec12b8451

View file

@ -1,5 +1,5 @@
93e16eb9264c5123fa7619edff4c2d2b9b0582b327bef4f3d7a339dd488a90c1 /usr/bin/mes b2a48b2724a7b791df66efc2384a405a91d26579459a6797514dec89c2e76658 /usr/bin/mes
9b2aafd217628f1bef74a7f36b541d1826ef3434235a7c7e1e041e33b95c26aa /usr/bin/mes-m2 148ce096422535832802494f1128c26b6580cf3b66635e56abb33f7b3fc26043 /usr/bin/mes-m2
17c86665c2f925d88e3c1f827f312bbc7575b9e6006ef57833e895b6e73b8087 /usr/bin/mescc.scm 17c86665c2f925d88e3c1f827f312bbc7575b9e6006ef57833e895b6e73b8087 /usr/bin/mescc.scm
4feafab424611c976dc4628aa862e37b4e92b5869aebbcf7655e684c3f589041 /usr/lib/x86-mes/crt1.s 4feafab424611c976dc4628aa862e37b4e92b5869aebbcf7655e684c3f589041 /usr/lib/x86-mes/crt1.s
69e9ec2ee2ebf065575cdaf878629178b85330257dde0da790a428c0280d1ecb /usr/lib/x86-mes/crt1.o 69e9ec2ee2ebf065575cdaf878629178b85330257dde0da790a428c0280d1ecb /usr/lib/x86-mes/crt1.o

View file

@ -28,6 +28,8 @@ cd ..
cd build cd build
untar --file ../src/${NYACC_PKG}.tar untar --file ../src/${NYACC_PKG}.tar
untar --non-strict --file ../src/${MES_PKG}.tar # ignore symlinks untar --non-strict --file ../src/${MES_PKG}.tar # ignore symlinks
/x86/bin/simple-patch /sysa/mes-0.24.2/build/mes-0.24.2/kaem.run \
/sysa/mes-0.24.2/simple-patches/mes-kaem.run-base-address.before /sysa/mes-0.24.2/simple-patches/mes-kaem.run-base-address.after
rm ../src/${NYACC_PKG}.tar ../src/${MES_PKG}.tar rm ../src/${NYACC_PKG}.tar ../src/${MES_PKG}.tar
@ -250,7 +252,7 @@ mescc src/symbol.c
mescc src/vector.c mescc src/vector.c
# Link everything into new mes executable # Link everything into new mes executable
${MES} -e main ${mescc_scm} -- -L ${libdir} -nostdlib -o ${bindir}/mes -L . crt1.o builtins.o cc.o core.o display.o eval-apply.o gc.o globals.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o vector.o -lc -lmescc ${MES} -e main ${mescc_scm} -- --base-address 0x08048000 -L ${libdir} -nostdlib -o ${bindir}/mes -L . crt1.o builtins.o cc.o core.o display.o eval-apply.o gc.o globals.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o vector.o -lc -lmescc
# Make directories # Make directories
mkdir ${prefix}/lib/linux ${incdir}/mes ${incdir}/sys ${incdir}/linux ${incdir}/arch mkdir ${prefix}/lib/linux ${incdir}/mes ${incdir}/sys ${incdir}/linux ${incdir}/arch

View file

@ -0,0 +1 @@
${mescc_scm} -- --base-address 0x08048000 -L

View file

@ -0,0 +1 @@
${mescc_scm} -- -L

View file

@ -0,0 +1 @@
--base-address 0x8048000

View file

@ -0,0 +1 @@
--base-address 0x1000000

View file

@ -0,0 +1,57 @@
diff -r -u musl-1.1.24.orig/arch/i386/pthread_arch.h musl-1.1.24/arch/i386/pthread_arch.h
--- arch/i386/pthread_arch.h 2019-10-13 21:58:27.000000000 +0000
+++ arch/i386/pthread_arch.h 2023-02-28 14:06:10.700603762 +0000
@@ -1,8 +1,18 @@
+#define BOOTSTRAP
+
+#ifdef BOOTSTRAP
+extern pthread_t g_pthread;
+#endif
+
static inline struct pthread *__pthread_self()
{
+#ifndef BOOTSTRAP
struct pthread *self;
__asm__ ("movl %%gs:0,%0" : "=r" (self) );
return self;
+#else
+ return g_pthread;
+#endif
}
#define TP_ADJ(p) (p)
diff -r -u musl-1.1.24.orig/src/env/__init_tls.c musl-1.1.24/src/env/__init_tls.c
--- src/env/__init_tls.c 2019-10-13 21:58:27.000000000 +0000
+++ src/env/__init_tls.c 2023-02-28 14:07:04.956604831 +0000
@@ -8,22 +8,31 @@
#include "libc.h"
#include "atomic.h"
#include "syscall.h"
+#define BOOTSTRAP
volatile int __thread_list_lock;
+#ifdef BOOTSTRAP
+pthread_t g_pthread;
+#endif
int __init_tp(void *p)
{
pthread_t td = p;
td->self = td;
+#ifndef BOOTSTRAP
int r = __set_thread_area(TP_ADJ(p));
if (r < 0) return -1;
if (!r) libc.can_do_threads = 1;
+#endif
td->detach_state = DT_JOINABLE;
td->tid = __syscall(SYS_set_tid_address, &__thread_list_lock);
td->locale = &libc.global_locale;
td->robust_list.head = &td->robust_list.head;
td->sysinfo = __sysinfo;
td->next = td->prev = td;
+#ifdef BOOTSTRAP
+ g_pthread = td;
+#endif
return 0;
}

View file

@ -0,0 +1,28 @@
diff -r -u musl-1.1.24.orig/src/process/posix_spawn.c musl-1.1.24/src/process/posix_spawn.c
--- src/process/posix_spawn.c 2019-10-13 21:58:27.000000000 +0000
+++ src/process/posix_spawn.c 2023-02-28 14:08:18.636606282 +0000
@@ -8,6 +8,7 @@
#include "syscall.h"
#include "pthread_impl.h"
#include "fdop.h"
+#define BOOTSTRAP
struct args {
int p[2];
@@ -182,8 +183,16 @@
args.envp = envp;
pthread_sigmask(SIG_BLOCK, SIGALL_SET, &args.oldmask);
+#ifndef BOOTSTRAP
pid = __clone(child, stack+sizeof stack,
CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
+#else
+ pid = fork();
+ if (pid == 0) {
+ _exit(child(&args));
+ }
+#endif
+
close(args.p[1]);
if (pid > 0) {

View file

@ -0,0 +1,57 @@
diff -r -u musl-1.1.24.orig/arch/i386/pthread_arch.h musl-1.1.24/arch/i386/pthread_arch.h
--- arch/i386/pthread_arch.h 2019-10-13 21:58:27.000000000 +0000
+++ arch/i386/pthread_arch.h 2023-02-28 14:06:10.700603762 +0000
@@ -1,8 +1,18 @@
+#define BOOTSTRAP
+
+#ifdef BOOTSTRAP
+extern pthread_t g_pthread;
+#endif
+
static inline struct pthread *__pthread_self()
{
+#ifndef BOOTSTRAP
struct pthread *self;
__asm__ ("movl %%gs:0,%0" : "=r" (self) );
return self;
+#else
+ return g_pthread;
+#endif
}
#define TP_ADJ(p) (p)
diff -r -u musl-1.1.24.orig/src/env/__init_tls.c musl-1.1.24/src/env/__init_tls.c
--- src/env/__init_tls.c 2019-10-13 21:58:27.000000000 +0000
+++ src/env/__init_tls.c 2023-02-28 14:07:04.956604831 +0000
@@ -8,22 +8,31 @@
#include "libc.h"
#include "atomic.h"
#include "syscall.h"
+#define BOOTSTRAP
volatile int __thread_list_lock;
+#ifdef BOOTSTRAP
+pthread_t g_pthread;
+#endif
int __init_tp(void *p)
{
pthread_t td = p;
td->self = td;
+#ifndef BOOTSTRAP
int r = __set_thread_area(TP_ADJ(p));
if (r < 0) return -1;
if (!r) libc.can_do_threads = 1;
+#endif
td->detach_state = DT_JOINABLE;
td->tid = __syscall(SYS_set_tid_address, &__thread_list_lock);
td->locale = &libc.global_locale;
td->robust_list.head = &td->robust_list.head;
td->sysinfo = __sysinfo;
td->next = td->prev = td;
+#ifdef BOOTSTRAP
+ g_pthread = td;
+#endif
return 0;
}

View file

@ -0,0 +1,28 @@
diff -r -u musl-1.1.24.orig/src/process/posix_spawn.c musl-1.1.24/src/process/posix_spawn.c
--- src/process/posix_spawn.c 2019-10-13 21:58:27.000000000 +0000
+++ src/process/posix_spawn.c 2023-02-28 14:08:18.636606282 +0000
@@ -8,6 +8,7 @@
#include "syscall.h"
#include "pthread_impl.h"
#include "fdop.h"
+#define BOOTSTRAP
struct args {
int p[2];
@@ -182,8 +183,16 @@
args.envp = envp;
pthread_sigmask(SIG_BLOCK, SIGALL_SET, &args.oldmask);
+#ifndef BOOTSTRAP
pid = __clone(child, stack+sizeof stack,
CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
+#else
+ pid = fork();
+ if (pid == 0) {
+ _exit(child(&args));
+ }
+#endif
+
close(args.p[1]);
if (pid > 0) {

View file

@ -2,6 +2,19 @@
# #
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
src_get() {
pwd
ls ..
# Before the last pass the tar file is moved before
# the linux build removes all distfiles to save space.
if [ -e "../${pkg}.tar.gz" ]; then
mkdir "${DISTFILES}"
mv "../${pkg}.tar.gz" "${DISTFILES}"
else
default
fi
}
src_configure() { src_configure() {
CC=gcc ./configure \ CC=gcc ./configure \
--host=i386-unknown-linux-musl \ --host=i386-unknown-linux-musl \

View file

@ -0,0 +1,55 @@
diff -u -r musl-1.2.3.orig/arch/i386/pthread_arch.h musl-1.2.3/arch/i386/pthread_arch.h
--- arch/i386/pthread_arch.h 2022-04-07 17:12:40.000000000 +0000
+++ arch/i386/pthread_arch.h 2022-12-19 23:39:10.890414014 +0000
@@ -1,8 +1,14 @@
+#define BOOTSTRAP
+extern uintptr_t g_pthread;
static inline uintptr_t __get_tp()
{
+#ifndef BOOTSTRAP
uintptr_t tp;
__asm__ ("movl %%gs:0,%0" : "=r" (tp) );
return tp;
+#else
+ return g_pthread;
+#endif
}
#define MC_PC gregs[REG_EIP]
diff -u -r musl-1.2.3.orig/arch/i386/syscall_arch.h musl-1.2.3/arch/i386/syscall_arch.h
--- arch/i386/syscall_arch.h 2022-04-07 17:12:40.000000000 +0000
+++ arch/i386/syscall_arch.h 2022-12-20 17:28:21.734839560 +0000
@@ -1,3 +1,4 @@
+#define SYSCALL_NO_TLS 1
#define __SYSCALL_LL_E(x) \
((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
((union { long long ll; long l[2]; }){ .ll = x }).l[1]
diff -u -r musl-1.2.3.orig/src/env/__init_tls.c musl-1.2.3/src/env/__init_tls.c
--- src/env/__init_tls.c 2022-04-07 17:12:40.000000000 +0000
+++ src/env/__init_tls.c 2022-12-19 23:39:42.362414223 +0000
@@ -10,20 +10,25 @@
#include "syscall.h"
volatile int __thread_list_lock;
+#define BOOTSTRAP
+uintptr_t g_pthread;
int __init_tp(void *p)
{
pthread_t td = p;
td->self = td;
+#ifndef BOOTSTRAP
int r = __set_thread_area(TP_ADJ(p));
if (r < 0) return -1;
if (!r) libc.can_do_threads = 1;
+#endif
td->detach_state = DT_JOINABLE;
td->tid = __syscall(SYS_set_tid_address, &__thread_list_lock);
td->locale = &libc.global_locale;
td->robust_list.head = &td->robust_list.head;
td->sysinfo = __sysinfo;
td->next = td->prev = td;
+ g_pthread = (uintptr_t) td;
return 0;
}

View file

@ -0,0 +1,19 @@
diff -u -r musl-1.2.3.orig/src/process/posix_spawn.c musl-1.2.3/src/process/posix_spawn.c
--- src/process/posix_spawn.c 2022-04-07 17:12:40.000000000 +0000
+++ src/process/posix_spawn.c 2022-12-19 23:47:31.858417338 +0000
@@ -190,8 +190,15 @@
goto fail;
}
+#if 0
pid = __clone(child, stack+sizeof stack,
CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
+#endif
+ pid = fork();
+ if (pid == 0) {
+ _exit(child(&args));
+ }
+
close(args.p[1]);
UNLOCK(__abort_lock);

90
sysa/run-after-fiwix.kaem Executable file
View file

@ -0,0 +1,90 @@
#!/bin/sh
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
# SPDX-FileCopyrightText: 2020-2022 fosslinux <fosslinux@aussies.space>
# SPDX-FileCopyrightText: 2022 Dor Askayo <dor.askayo@gmail.com>
#
# SPDX-License-Identifier: GPL-3.0-or-later
set -ex
ARCH_DIR="x86"
ARCH="x86"
ARCH_DIR="x86"
M2LIBC="M2libc"
TOOLS="${ARCH_DIR}/bin"
BLOOD_FLAG=" "
BASE_ADDRESS="0x08048000"
ENDIAN_FLAG="--little-endian"
BINDIR="${ARCH_DIR}/bin"
BUILDDIR="${ARCH_DIR}/artifact"
sysa=/sysa
distfiles=/sysa/distfiles
prefix=/usr
bindir=${prefix}/bin
libdir=${prefix}/lib
incdir=${prefix}/include
srcdir=${prefix}/src
TMPDIR=/tmp # tmpdir is needed for patch to work
PATH=/usr/bin
libdir=${libdir}/mes
# make
pkg="make-3.82"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# gzip
pkg="gzip-1.2.4"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# tar
pkg="tar-1.12"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# sed
pkg="sed-4.0.9"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# patch
pkg="patch-2.5.9"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# bzip2
pkg="bzip2-1.0.8"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# coreutils
pkg="coreutils-5.0"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# heirloom-devtools
pkg="heirloom-devtools-070527"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# bash
pkg="bash-2.05b"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
exec bash run.sh

View file

@ -9,11 +9,21 @@
set -ex set -ex
if match x${KERNEL_BOOTSTRAP} xTrue; then
cd ..
ungz --file live-bootstrap.tar.gz --output live-bootstrap.tar
untar --file live-bootstrap.tar
cd sysa
fi
# checksum-transcriber utility # checksum-transcriber utility
M2LIBC_PATH=/M2libc M2LIBC_PATH=/M2libc
M2-Mesoplanet --architecture ${ARCH} -f checksum-transcriber.c -o ${bindir}/checksum-transcriber M2-Mesoplanet --architecture ${ARCH} -f checksum-transcriber.c -o ${bindir}/checksum-transcriber
sha256sum -c checksum-transcriber.SHA256SUM sha256sum -c checksum-transcriber.SHA256SUM
# simple patch tool based on before and after chunks
M2-Mesoplanet --architecture x86 -f simple-patch.c -o /x86/bin/simple-patch
# Environmental variables needed for mes # Environmental variables needed for mes
NYACC_PKG=nyacc-1.00.2 NYACC_PKG=nyacc-1.00.2
MES_VERSION=0.24.2 MES_VERSION=0.24.2
@ -42,58 +52,23 @@ cd ${pkg}
kaem --file ${pkg}.kaem kaem --file ${pkg}.kaem
cd .. cd ..
# make if match x${KERNEL_BOOTSTRAP} xTrue; then
pkg="make-3.82" # The Fiwix kernel
cd ${pkg} pkg="fiwix-1.4.0-lb1"
kaem --file ${pkg}.kaem cd ${pkg}
cd .. kaem --verbose --file ${pkg}.kaem
cd ..
# gzip # ext2 file system for Fiwix
pkg="gzip-1.2.4" pkg="lwext4-1.0.0-lb1"
cd ${pkg} cd ${pkg}
kaem --file ${pkg}.kaem kaem --verbose --file ${pkg}.kaem
cd .. cd ..
# tar # Live boot loader for Fiwix
pkg="tar-1.12" pkg="kexec-fiwix"
cd ${pkg} cd ${pkg}
kaem --file ${pkg}.kaem kaem --verbose --file ${pkg}.kaem
cd .. else
exec kaem --verbose --file run-after-fiwix.kaem
# sed fi
pkg="sed-4.0.9"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# patch
pkg="patch-2.5.9"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# bzip2
pkg="bzip2-1.0.8"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# coreutils
pkg="coreutils-5.0"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# heirloom-devtools
pkg="heirloom-devtools-070527"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
# bash
pkg="bash-2.05b"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
exec bash run.sh

View file

@ -226,10 +226,16 @@ build kbd-1.15
build make-3.82 build make-3.82
build curl-7.83.0 if [ "${CHROOT}" = False ]; then
# Save because linux deletes all distfiles to save space
cp "${DISTFILES}"/musl-1.2.3.tar.gz "${SOURCES}"/musl-1.2.3
fi
mkdir -p /sysc/distfiles
cp "${DISTFILES}"/curl-7.83.0.tar.bz2 /sysc/distfiles
# Clear up some RAM space # Clear up some RAM space
grep '^build' "${SOURCES}/run.sh" | sed "s/build //" | sed "s/ .*$//" | while read -r p ; do grep '^build' "${SOURCES}/run.sh" | grep -v musl-1.2.3 | sed "s/build //" | sed "s/ .*$//" | while read -r p ; do
rm -rf "${SOURCES:?}/${p:?}" rm -rf "${SOURCES:?}/${p:?}"
done done
@ -238,13 +244,19 @@ if [ "${CHROOT}" = False ]; then
build linux-4.9.10 build linux-4.9.10
create_sysb build musl-1.2.3 '' no-patches
go_sysb
fi
# In chroot mode transition directly into System C. create_sysb
SYSC=/sysc_image if [ "${KERNEL_BOOTSTRAP}" = False ]; then
sys_transfer "${SYSC}" /sysc gzip patch go_sysb
if [ "${CHROOT_ONLY_SYSA}" != True ]; then fi
exec chroot "${SYSC}" /init else
build musl-1.2.3 '' no-patches
# In chroot mode transition directly into System C.
SYSC=/sysc_image
sys_transfer "${SYSC}" /sysc gzip patch
if [ "${CHROOT_ONLY_SYSA}" != True ]; then
exec chroot "${SYSC}" /init
fi
fi fi

146
sysa/simple-patch.c Normal file
View file

@ -0,0 +1,146 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "M2libc/bootstrappable.h"
/*
Simple Patch program.
This program is written in a subset of C called M2, which is from the
stage0-posix bootstrap project.
Example usage:
./simple-patch file_to_patch before_pattern_file after_pattern_file
*/
// function prototypes
void read_file_or_die(char *file_name, char **buffer, int *file_size);
void patch_buffer_or_die(char *patch_file_before_buffer, int patch_file_before_size,
char *before_pattern_buffer, int before_pattern_size,
char *after_pattern_buffer, int after_pattern_size,
char *patch_file_after_buffer);
void writestr_fd(int fd, char *str);
int memsame(char *search_buffer, int search_size,
char *pattern_buffer, int pattern_size);
int main(int argc, char **argv)
{
char *patch_file_before_buffer;
int patch_file_before_size;
char *before_pattern_buffer;
int before_pattern_size;
char *after_pattern_buffer;
int after_pattern_size;
int patch_file_after_size;
char *patch_file_after_buffer;
int patch_file_fd;
read_file_or_die(argv[1], &patch_file_before_buffer, &patch_file_before_size);
read_file_or_die(argv[2], &before_pattern_buffer, &before_pattern_size);
read_file_or_die(argv[3], &after_pattern_buffer, &after_pattern_size);
patch_file_after_size = patch_file_before_size - before_pattern_size + after_pattern_size;
patch_file_after_buffer = calloc(patch_file_after_size, sizeof(char));
patch_buffer_or_die(patch_file_before_buffer, patch_file_before_size,
before_pattern_buffer, before_pattern_size,
after_pattern_buffer, after_pattern_size,
patch_file_after_buffer);
patch_file_fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0);
write(patch_file_fd, patch_file_after_buffer, patch_file_after_size);
close(patch_file_fd);
return EXIT_SUCCESS;
}
void read_file_or_die(char *file_name, char **buffer, int *file_size) {
int file_fd;
int num_bytes_read;
file_fd = open(file_name, O_RDONLY, 0);
if (file_fd == -1) {
writestr_fd(2, "Could not open file: ");
writestr_fd(2, file_name);
writestr_fd(2, "\n");
exit(1);
}
// determine file size
*file_size = lseek(file_fd, 0, SEEK_END);
// go back to beginning of file
lseek(file_fd, 0, SEEK_SET);
// alloc a buffer to read the entire file
*buffer = calloc(*file_size, sizeof(char));
// read the entire patch file
num_bytes_read = read(file_fd, *buffer, *file_size);
if (num_bytes_read != *file_size) {
writestr_fd(2, "Could not read file: ");
writestr_fd(2, file_name);
writestr_fd(2, "\n");
exit(1);
}
close(file_fd);
}
void patch_buffer_or_die(char *patch_file_before_buffer, int patch_file_before_size,
char *before_pattern_buffer, int before_pattern_size,
char *after_pattern_buffer, int after_pattern_size,
char *patch_file_after_buffer) {
char *pos = patch_file_before_buffer;
int prefix_len = 0;
// look for the pattern at every offset
while (prefix_len < patch_file_before_size) {
// if we find the pattern, replace it and return
if (memsame(pos, patch_file_before_size - prefix_len, before_pattern_buffer, before_pattern_size)) {
memcpy(patch_file_after_buffer, patch_file_before_buffer, prefix_len);
memcpy(patch_file_after_buffer + prefix_len, after_pattern_buffer, after_pattern_size);
memcpy(patch_file_after_buffer + prefix_len + after_pattern_size,
patch_file_before_buffer + prefix_len + before_pattern_size,
patch_file_before_size - (prefix_len + before_pattern_size));
return;
}
pos = pos + 1;
prefix_len = prefix_len + 1;
}
/* if we don't find the pattern, something is wrong, so exit with error */
exit(1);
}
/*
Write the string to the given file descriptor.
*/
void writestr_fd(int fd, char *str) {
write(fd, str, strlen(str));
}
/*
Is the pattern located at the start of the search buffer
(and not exceeding the length of the search buffer)?
*/
int memsame(char *search_buffer, int search_size,
char *pattern_buffer, int pattern_size) {
int check_offset = 0;
if (pattern_size > search_size) {
return FALSE;
}
while (check_offset < pattern_size) {
if (search_buffer[check_offset] != pattern_buffer[check_offset]) {
return FALSE;
}
check_offset = check_offset + 1;
}
return TRUE;
}

View file

@ -0,0 +1,7 @@
if ((fh = fopen(argv[i_lib], "wb")) == NULL)
{
fprintf(stderr, "tcc: ar: can't open file %s \n", argv[i_lib]);
goto the_end;
}
// write header

View file

@ -0,0 +1 @@
// write header

View file

@ -0,0 +1,2 @@
if (ret == 1)
return ar_usage(ret);

View file

@ -0,0 +1,8 @@
if (ret == 1)
return ar_usage(ret);
if ((fh = fopen(argv[i_lib], "wb")) == NULL)
{
fprintf(stderr, "tcc: ar: can't open file %s \n", argv[i_lib]);
goto the_end;
}

View file

@ -1,10 +1,10 @@
2313ba8ce505e08cdb2ce480d3195c3f66a07c0d1a4ce85570e9017f59cc0d4f /usr/bin/mes-tcc 7897c2ba182e92765856a9e3ddd2bdfcd69988b3ddc45b3ef932dc3ec041041a /usr/bin/mes-tcc
01a56f6ae93d168d8f0122558985b14ab35e36b85934dec8bbf988faabc6db12 /usr/bin/boot0-tcc 64bdb36f0048744957454b6ad186d37db4a7fcc392f67bf052b9bc7ec033b963 /usr/bin/boot0-tcc
07f9ad107c2df7f6131717d3e3de8eeceb25767bb28c7fd2f39a18cf8fbaf016 /usr/bin/boot1-tcc 18af79e0e3c4bfeaced2b0867561bc9fd370cbfcc78860de5a70926374ba7c53 /usr/bin/boot1-tcc
867e4aafd746de4aea5efeb38b6f878e4cc9440a403c42e4739954d9f85a8cc8 /usr/bin/boot2-tcc d6fa0c2006f6c8fefb4f3750fade14aa884670637098857d06aef3c7a9bd02d8 /usr/bin/boot2-tcc
3bb6782f6033946d70d2abb7b4a166ecafe739cbb0201f56e3ae121d003f5e1a /usr/bin/boot3-tcc 93b2c1c567f5938435fbe6c0115276f6073bd46a0a92791b164ca2752180caf5 /usr/bin/boot3-tcc
bce041b2af0e1bd580f269216e46d7d011ddfccd6dcc464a62eef9da1234b0a5 /usr/bin/boot4-tcc a40305e6d2acb3dc64dbc80f64952431f4728eeff03f6e7c91c737cbf6e1bdda /usr/bin/boot4-tcc
460211eed1fb086bbb3327a26f56d638029bc2d7b313e06071c26e38fcf06b7f /usr/bin/tcc c56d99e284dfecae047e792b049c0cee022452f13262d6b3c869ec1c9935b276 /usr/bin/tcc
96f93f2d281ee6996767b25fbff4441e8335e7eeaeab060c1d4b698366b277c9 /usr/lib/mes/libc.a 96f93f2d281ee6996767b25fbff4441e8335e7eeaeab060c1d4b698366b277c9 /usr/lib/mes/libc.a
12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /usr/lib/mes/libgetopt.a 12c07ae103e7e3b390150a79e5c600d88de14e9bb73a066f6342582729ef5a3f /usr/lib/mes/libgetopt.a
d1168ee9b528e39f0b40e8d51fb7fa3619c4a5ee928137f7faf6d0879b0916b0 /usr/lib/mes/crt1.o d1168ee9b528e39f0b40e8d51fb7fa3619c4a5ee928137f7faf6d0879b0916b0 /usr/lib/mes/crt1.o

View file

@ -31,6 +31,11 @@ cd ..
cd build cd build
untar --file ../src/${TCC_TAR}.tar untar --file ../src/${TCC_TAR}.tar
/x86/bin/simple-patch /sysa/tcc-0.9.26/build/tcc-0.9.26-1136-g5bba73cc/tcctools.c \
/sysa/tcc-0.9.26/simple-patches/remove-fileopen.before /sysa/tcc-0.9.26/simple-patches/remove-fileopen.after
/x86/bin/simple-patch /sysa/tcc-0.9.26/build/tcc-0.9.26-1136-g5bba73cc/tcctools.c \
/sysa/tcc-0.9.26/simple-patches/addback-fileopen.before /sysa/tcc-0.9.26/simple-patches/addback-fileopen.after
untar --non-strict --file ../src/${MES_PKG}.tar untar --non-strict --file ../src/${MES_PKG}.tar
# Create config.h # Create config.h
@ -60,6 +65,7 @@ ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \
-D ONE_SOURCE=1 \ -D ONE_SOURCE=1 \
tcc.c tcc.c
${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \ ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \
--base-address 0x08048000 \
-o mes-tcc \ -o mes-tcc \
-L ${libdir} \ -L ${libdir} \
tcc.s \ tcc.s \

View file

@ -0,0 +1,7 @@
if ((fh = fopen(argv[i_lib], "wb")) == NULL)
{
fprintf(stderr, "tcc: ar: can't open file %s \n", argv[i_lib]);
goto the_end;
}
// write header

View file

@ -0,0 +1 @@
// write header

View file

@ -0,0 +1,3 @@
ph->p_paddr = ph->p_vaddr;
if (ph->p_paddr >= 0xC0000000)
ph->p_paddr = ph->p_paddr - 0xC0000000;

View file

@ -0,0 +1 @@
ph->p_paddr = ph->p_vaddr;

View file

@ -0,0 +1,2 @@
if (ret == 1)
return ar_usage(ret);

View file

@ -0,0 +1,8 @@
if (ret == 1)
return ar_usage(ret);
if ((fh = fopen(argv[i_lib], "wb")) == NULL)
{
fprintf(stderr, "tcc: ar: can't open file %s \n", argv[i_lib]);
goto the_end;
}

View file

@ -1 +1 @@
c75b7969af5d84c2d6f33674b8372ca3450ec8632ba1523cf8858e124acd667f /usr/bin/tcc 5cd0428fdcb9dc579cdf496a4fd974c4d2a941f76f2ce2049a1c2ff477f64002 /usr/bin/tcc

View file

@ -20,6 +20,12 @@ cd ..
cd build cd build
untar --file ../src/${pkg}.tar untar --file ../src/${pkg}.tar
/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tcctools.c \
/sysa/tcc-0.9.27/simple-patches/remove-fileopen.before /sysa/tcc-0.9.27/simple-patches/remove-fileopen.after
/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tcctools.c \
/sysa/tcc-0.9.27/simple-patches/addback-fileopen.before /sysa/tcc-0.9.27/simple-patches/addback-fileopen.after
/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tccelf.c \
/sysa/tcc-0.9.27/simple-patches/fiwix-paddr.before /sysa/tcc-0.9.27/simple-patches/fiwix-paddr.after
untar --non-strict --file ../src/${MES_PKG}.tar untar --non-strict --file ../src/${MES_PKG}.tar
cd ${pkg} cd ${pkg}

View file

@ -1 +1 @@
http://master.dl.sourceforge.net/project/curl.mirror/curl-7_83_0/curl-7.83.0.tar.xz bbff0e6b5047e773f3c3b084d80546cc1be4e354c09e419c2d0ef6116253511a https://curl.se/download/curl-7.83.0.tar.bz2 247c7ec7521c4258e65634e529270d214fe32969971cccb72845e7aa46831f96

View file

@ -37,12 +37,12 @@ install_tar sed-4.0.9 0
install_tar autoconf-2.64 0 install_tar autoconf-2.64 0
install_tar autoconf-2.69 0 install_tar autoconf-2.69 0
install_tar automake-1.10.3 0
install_tar automake-1.11.2 0 install_tar automake-1.11.2 0
install_tar binutils-2.24 0 install_tar binutils-2.24 0
install_tar bzip2-1.0.8 0 install_tar bzip2-1.0.8 0
install_tar bison-3.4.1 2 install_tar bison-3.4.1 2
install_tar coreutils-6.10 0 install_tar coreutils-6.10 0
install_tar curl-7.83.0 0
install_tar dhcpcd-9.4.1 0 install_tar dhcpcd-9.4.1 0
install_tar diffutils-2.7 0 install_tar diffutils-2.7 0
install_tar findutils-4.2.33 0 install_tar findutils-4.2.33 0
@ -55,7 +55,7 @@ install_tar libtool-2.2.4 0
install_tar linux-headers-5.10.41 0 install_tar linux-headers-5.10.41 0
install_tar m4-1.4.7 0 install_tar m4-1.4.7 0
install_tar make-3.82 0 install_tar make-3.82 0
install_tar musl-1.2.3 0 install_tar musl-1.2.3 1
install_tar perl-5.6.2 0 install_tar perl-5.6.2 0
install_tar util-linux-2.19.1 0 install_tar util-linux-2.19.1 0

View file

@ -34,6 +34,17 @@ populate_device_nodes
create_fhs create_fhs
if [ -e "${SOURCES}/distfiles" ]; then
mv "${SOURCES}/distfiles" /
echo "sysc: distfiles exists"
ls -l /distfiles
else
echo "sysc: distfiles does not exist"
mkdir -p "${DISTFILES}"
fi
build curl-7.83.0 curl-7.83.0-pass1.sh
# Obtain network connection # Obtain network connection
if [ "${CHROOT}" = "False" ]; then if [ "${CHROOT}" = "False" ]; then
dhcpcd --waitip=4 dhcpcd --waitip=4
@ -50,12 +61,6 @@ if [ "${CHROOT}" = "False" ]; then
done done
fi fi
if [ -e "${SOURCES}/distfiles" ]; then
mv "${SOURCES}/distfiles" /
else
mkdir -p "${DISTFILES}"
fi
build bash-5.1 build bash-5.1
exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash run2.sh exec env -i PATH="${PATH}" HOME="${HOME}" SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}" bash run2.sh

View file

@ -64,7 +64,7 @@ build openssl-1.1.1l
build ca-certificates-3.86 build ca-certificates-3.86
build curl-7.83.0 build curl-7.83.0 curl-7.83.0-pass2.sh
build zlib-1.2.13 build zlib-1.2.13