unifiedkernel-test

所属分类:Linux/Unix编程
开发工具:Unix_Linux
文件大小:134KB
下载次数:39
上传日期:2008-12-26 22:52:10
上 传 者linoox
说明:  linux unified kernel test

文件列表:
bin (0, 2008-01-11)
bin\linux-test (6094, 2007-10-24)
bin\ntdll-u.dll (221233, 2007-10-24)
bin\w32-test.exe (245865, 2007-10-24)
src (0, 2008-01-11)
src\linux (0, 2008-01-11)
src\linux\linux-test.c (5044, 2008-01-11)
src\linux\Makefile (151, 2007-10-24)
src\linux\w32syscall.h (3362, 2007-10-24)
src\module (0, 2008-01-11)
src\module\config.h (31, 2008-01-10)
src\module\Makefile (289, 2008-01-10)
src\module\sysmap.c (5122, 2008-01-11)
src\module\sysmap.h (160, 2008-01-11)
src\module\w32entry.S (8338, 2008-01-11)
src\module\w32init.c (6819, 2008-01-11)
src\module\w32syscall.c (15761, 2008-01-11)
src\module\w32syscall.h (3401, 2007-10-24)
src\windows (0, 2008-01-11)
src\windows\dll (0, 2008-01-11)
src\windows\dll\dll.dsp (4113, 2007-10-24)
src\windows\dll\dll.dsw (529, 2007-10-24)
src\windows\dll\dll.ncb (33792, 2007-10-24)
src\windows\dll\dll.opt (48640, 2007-10-24)
src\windows\dll\dll.plg (1229, 2007-10-24)
src\windows\dll\ntdll-u.cpp (1666, 2007-10-24)
src\windows\dll\stdafx.h (77, 2007-10-24)
src\windows\w32test (0, 2008-01-11)
src\windows\w32test\ntdll-u.lib (2316, 2007-10-24)
src\windows\w32test\stdafx.h (67, 2007-10-24)
src\windows\w32test\w32-test.cpp (5047, 2007-10-24)
src\windows\w32test\w32syscall.h (2931, 2007-10-24)
src\windows\w32test\w32test.dsp (4492, 2007-10-24)
src\windows\w32test\w32test.dsw (537, 2007-10-24)

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.

近期下载者

相关文件


收藏者