LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 757|回复: 2

兼容内核0.2.1版

[复制链接]
发表于 2008-2-18 11:37:45 | 显示全部楼层 |阅读模式
一直关注这个。0.2.1已经可以运行Microsoft Office 2000 ( Word, Excel, PowerPoint)、Securecrt 5.0、Dream Weaver 8、WinRar、Acrobat Reader 5等较大的软件了。


http://linux.insigma.com.cn/down ... ernel-0.2.1.tar.bz2






The Linux Unified Kernel Project
-- Linux Unified Kernel 0.2.1

Copyright:
==========
(c) 2006 Insigma Co., Ltd

This is an opensource project; you can redistribute and/or
modify the programs 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 Research 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 basic mechanisms of Microsoft
Windows includeing process/thread mamangement, object
management, virtual memory managment and synchronization.
With the support of Linux Unified Kernel 0.2.1, most of
general Win32 applications (see APPLIST) can run directly
on Linux.


To Build and Run:
=================
To build Linux Unified Kernel, there are 3 steps to go:
o Build Linux kernel
o Build Linux Unified Kernel module
o Build Wine

To run a Win32 application, you can just input the executable
file in shell or double-click the shortcut.

To get more details of building and running, please read INSTALL.


To Do in Future:
================
o File System Integration.
o Bug Fix for Pthread TLS.
o Windows Application Testbed.
o The Windows Registry mechanism.
o Various system call functions on the Windows syscall interface.
o The WDM device driver framework.
o The Windows DPC mechanism.
o Exported kernel functions defined by Windows DDK.
o Others.







Why
===
The previous release (0.2.0) of the Linux Unified Kernel implemented
Windows Process/Thread creating, so that some simple Win32 programs might
work on Linux. Howerver, many other Windows mechanisms like multi-threading
were not implemented, and most of general Win32 applications can't run with
this release's support.


What's new in this release
==========================
Process/Thread management.
Object management.
Virtual memory management.
Synchronization.
Built-in EXE loading function.
Patches for both updated Linux kernel and Wine.
Many bug fixes in process/thread creating.


How it can be used
==================
After installing the Linux Unified Kernel 0.2.1, you can run the programs
directly listed in APPLIST.


Implemented
===========
This version of Linux Unified Kernel provides several Windows mechanism
implementations, including process/thread management, object management,
virtual memory management, synchronization, etc. Also, the relevant system
calls are implemented to replace the services running in the user space.

Process/thread management which is one of the most important components
in Linux Unified Kernel is implemented based on the previous release. In
this version, some other strategies such as multi-threading are introduced,
so that the process/thread management can take the place of the
corresponding operations in Wine.

Object management and virtual memory management are the new features.
Object management which has no counterpart on Linux builds an
infrastructure for all the Win32 objects, and virtual memory management
combines Win32 system calls to their core operations in Linux kernel.

Synchronization in this version is improved from the previous release, and
the strategies enable the implemented objects to be synchronized when
processes or threads are running.

For compatibility consideration, this version also provides some operations
to work with Wine. For example, the module loading built-in EXEs is offered
to run the "exe.so" programs in Wine, like explorer.exe.so, regedit.exe.so,
etc. You also can run the tools which Wine provides to configure or to do
other work.


Not fully implemented
=====================
Linux Unified Kernel 0.2.1 provides the mechanism to run built-in EXEs, but
this support is not perfect for some application installations. As a result,
you need run the script switch.sh before installing a Win32 application
(please see INSTALL for details).

This release of Linux Unified Kernel provides some operations like token
-opening which are in the range of security mechanism. These operations will
not work exactly as they do on Windows, but they are needed by the current
Linux Unified Kernel in other mechanisms. Those components will be fixed in
future.

About this list
===============
This version of Linux Unified Kernel implements some most important
mechanisms, and fixes many bugs in the last version. Now many
general Win32 programs can run on Linux system. Here is the list
of some important applications that we have tested.

The applications on the list may not work well as on Windows system.
You can report the bugs to linux@insigma.com.cn.


Application name
================
Microsoft Office 2000 ( Word, Excel, PowerPoint)
Securecrt 5.0
Dream Weaver 8
WinRar
Acrobat Reader 5



Quick start
===========
To get the support of Linux Unified Kernel, there are 3 basic steps to go:
1. Build Linux kernel
2. Build Linux Unified Kernel module
3. Build Wine

To run Win32 applications on Linux Unified Kernel, just do it like running
a Linux program.

For more details, please read the rest of the file.


Requirements
============
Linux-2.6.23
Wine-0.9.40

The current version (0.2.1) of Linux Unified Kernel provides 2 patches for
both Linux kernel and Wine, so the versions should be specified.

Basic requirements:
Make sure you have installed the X11 development include files
(called xlib6g-dev in Debian and XFree86-devel in Red Hat).

Build tool requirements:
Make sure you have at least gcc 3.2 available which Linux kernel 2.6.23
requires.


Building Linux kernel
=====================
To build Linux Unified Kernel, the first thing is to patch the Linux
kernel 2.6.23. First, cd to the top-level directory of the kernel-source
code (linux-2.6.23), then run the following command:

patch -p1 < path/patchfile

where "path" is the path of the patch file and "patchfile" is its file
name (In this package, it is unifiedkernel-0.2.1-k2.6.23.diff in the
directory "kernel").

After patching kernel, configure it like:

make menuconfig

The general configuration file is provided in the patch (you can also
configure it yourself), you can just save and exit to run the next
commands:

make
make modules_install
make install

Then reboot your system to build the Linux Unified Kernel module.


Building Linux Unified Kernel module
====================================
To build the module, cd to the "module" directory and run the command:

make

Then install the module to get the Linux Unified Kernel support:

insmod unifiedkernel.ko


Building Wine
=============
To use the Win32 programs, you need to build the user space environment.
The script install.sh will help you do this building work automatically:

./install.sh -w wine_path -f patch_file -p prefix

where "wine_path" is the path of the Wine-source code(0.9.40), "patch_file"
is the patch file name of Wine(unifiedkernel-0.2.1-w0.9.40.diff), and
"prefix" is the directory of storing the built-in programs whose default is
"/usr/local"

Running programs
================
After the 3 steps of building, you can run none-installed Win32 programs
that APPLIST lists.

For example:

./calc.exe (running Win32 Program calculator in the
current directory)
/usr/notepad.exe (running Win32 Program Notepad in an
absolute directory)

or double-click the icon created either by the install program or by
yourself.

As this release of Linux Unified Kernel doesn't support build-in EXE
perfectly, so you need to install the Win32 applications like Microsoft
Office 2000 that need installation in the Wine environment.

Everytime you want to install a Win32 program, please follow the 3 steps:

./switch.sh -p prefix -w wine_path -d wine (chang to the Wine
running environment)

wine setupfile (install application)

./switch.sh -p prefix -w wine_path -d unifiedkernel (chang to the Unified
Kernel running
environment)

where "setupfile" is the file name of the installation file like
"setup.exe", and the options "prefix" and "wine_path" represent the same
meanings as they are in the script install.sh.

After that, you can run a Win32 program with the Linux Unified support.

* Note: everytime you want to install a Win32 application, please use the
3-step installation, and after that, it will keeps you running Win32 programs
in Linux Unified Kernel environment.


Linux Unified Kernel is not yet completed, so several programs may crash
or not work exactly as on Microsoft Windows. You can report these bugs to
linux@insigma.com.cn.

UNINSTALL
========
If you don't want to use Linux Unified Kernel any more, you can uninstall
it.
1. Uninstall module:

rmmod unifiedkernel.ko

cd to the directory "module" and run command:

make clean

2. Unpatch Linux kernel 2.6.23 and Wine 0.9.40:
cd to the top-level directory of the kernel-source code or Wine, then run
the command:

patch -R -p1 < path/patchfile

where "path" is the path of the patch file and "patchfile" is its file
name.

And then, you can rebuild them.
发表于 2008-2-22 23:07:47 | 显示全部楼层
浙大也真是的,中国人做的项目,技术文章却没有中文的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-24 17:28:38 | 显示全部楼层
Post by LINUXcaptain;1819079
浙大也真是的,中国人做的项目,技术文章却没有中文的。


晕。应该是只有中文没有英文才对。闹得开发了两年老外还不知道这个项目:


http://www.reactos.org/forum/viewtopic.php?p=41615#41615
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表