⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 linux unified kernel test
💻
字号:
            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 + -