📄 readme
字号:
The Linux Unified Kernel Project
Copyright:
==========
(c) 2006 Insigma Co., Ltd
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.
The Project:
============
Linux Unified Kernel is a project (linux.insigma.com.cn) in the
Insigma Reasearch Institute, which is a subdivision of Insigma
Co.,Ltd(www.insigma.com.cn).
Sponsored by:
=============
Insigma Co., Ltd (www.insigma.com.cn).
The Package:
============
o This package implements the Windows system call mechanism, and
a prototype for Windows system call (function) implementations.
In addition, a test programe is provided to demo the syscall
mechanism, and also to be used as a prototype for user space
programing.
Released Files:
===============
w32entry.S - Implements the w32 system call mechanism. The code is basically
a merge of the related code in entry.S from Linux 2.6.13 and
in syscall.S from Reactos 0.2.6. It is for i386 only.
w32init.c - Implements the w32 module initialization.
w32syscall.c - W32 syscall function table and other data structures (from
ReactOS).
w32syscall.h - Type definitions.
linux-test.c - Application prototype used to test the w32 syscall interface.
To be built as a Linux application.
w32-test.c - Simular to linux-test.c, but to be built on Microsoft VC
as a windows application which should be used together on top of
ntdll-u.dll.
ntdll-u.c - For ntdll-u.dll, to be built on Microsoft VC, as a Windows DLL,
replacing the MS ntdll.dll.
Subdirectories:
=================
src - Source code subdirectory.
src/module - module source code.
src/linux - Linux test program source code.
src/windows - Windows test program source code.
bin - Test program executable files: linux-test, w32-test.exe,
ntdll-u.dll.
To Build and Run:
=================
1.To get the unified kernel support, first cd to the top-level directory of
the kernel source code(linux-2.6.13). Then run the following command to patch
the kernel:
patch -p1 < path/patch-file
where "path" is the path of the patch file and "patch-file" is the patch file
name(something such as Unifiedkernel-2.6.13.diff).
After patching, configure the kernel like:
make menuconfig
Say Y to the "Unified kernel support" option in "General setup", and say N to
the "Use register arguments" option in "Processor type and features".
Then save, exit and compile the kernel. Run the following command to compile
the kernel and reboot:
make
make modules_install
make install
reboot
2.To load the win32 module, first cd to the "module" directory of this package,
and do "make" to build. Then install the module:
insmod win32.ko
After the module loaded, you can run the test program to demonstrate.
3.There are 2 options for building the test program:
Option 1: As a Linux application, do "make" to build the linux-test. Then you can
run linux-test directly.
Option 2: As a Windows application, build ntdll-u.c to ntdll-u.dll and w32-test.c
to w32-test.exe with ntdll-u.dll both on Microsoft VC. Then you have to
copy w32-test.exe and ntdll-u.dll to Linux, and run the following
command:
wine w32-test.exe
Make sure that w32-test.exe and ntdll-u.dll are in the same directory.
Then you can see the test result by printing the values of parameters.
4.To unpatch the kernel, cd to the top-level directory of the patched kernel, run
the following command:
patch -Rp1 < path/patch-file
where "path" is the path of the patch file and "patch-file" is the patch file
name. Then compile the kernel and reboot.
Note:
===============
Before test, make sure you have patched the kernel(linux-2.6.13) and compile it.
Also you need to load the module, and Wine is needed if you want to run w32-test.exe
on Linux.
Don't run w32-test.exe on Windows, as the parameters are just for test and demo.
To Do in Future:
================
o Various system call functions on the Windows syscall interface.
o The Windows process/thread management.
o The Windows object management.
o The Windows APC mechanism.
o The WDM device driver framework.
o The Windows DPC mechanism.
o Exported kernel functions defined by Windows DDK.
o The Windows Registry mechanism.
o Others.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -