浏览模式: 普通 | 列表
1

Thinkpad T60安装 Windows 2003 之完整篇

[ 2007-01-19 22:12:15 | 作者: progame ]
事前准备:
下载好 SATA硬盘的驱动 (Matrix Storage)
网卡驱动

1 bios设置。这一步是针对T60/X60的。开机按f1进入bios,进入configuration,然后在SATA里面将SATA的模式设置成compatibility(兼容模式),默认的是AHCI模式(高级主控接口),这一步很重要,否则安装操作系统时会蓝屏,其中的原因,是因为XP系统安装盘一般不带SATA驱动。然后按f10,回车,退出bios。
2 安装正版 windows 2003 操作系统
3 安装SATA硬盘驱动
4 恢复bios设置为AHCI模式
5 更级windows到最新(否则HD总线驱动没有,导致声卡和Modem驱动无法安装)
6 安装驱动(参考下面说明)
7 仍有未知的网络适配器,以及系统设置中的未知设备
8 下载Intel(R) PRO/Wireless 3945ABG 无线网卡驱动(此为上面未知的网络适配器)
9 下载IBM PM Device 驱动(此为上面的未知设备)
10 安装附加软件(参考下面说明)

打完收工

安装说明:(下面的目录水货的恢复盘上未必有,可以从官方网站下载最新驱动,网址为: http://www.google.com/search?q=t60%20%E9%A9%B1%E5%8A%A8%20%E4%B8%8B%E8%BD%BD&hl=zh-CN&lr=&nxpt=20.641195076218812316086)
一、芯片组驱动。运行恢复光盘里的“T60/X60 驱动和软件”目录里的“Intel芯片组驱动.exe”文件,它会解压到C:\DRIVERS\WIN\INTELINF目录下。到此目录下运行“setup.exe”就可以安装了。

二、显卡驱动。运行恢复光盘里的“T60/X60 驱动和软件”目录里的“T60/X60显卡驱动.exe”文件,它会解压到C:\DRIVERS\WIN\VIDEO目录下。到此目录下运行“setup.exe”就可以安装了。

三、电源管理驱动。运行恢复光盘里的“T60/X60 驱动和软件”目录里的“IBM电源管理.exe”文件,它会解压到C:\DRIVERS\WIN\IBMPM目录下。到此目录下运行“setup.exe”就可以安装了。

四、安全芯片驱动。运行恢复光盘里的“T60/X60 ...

阅读全文...

监控系统之硬盘录像机(DVR)

[ 2006-07-29 14:58:20 | 作者: 痉挛的老鸨 ]
之前断断续续的写了几篇文档,时间久了,也不想就这么消失不见,所以合并在一起,在加上一些修饰,再次发布一遍。http://www.heybrain.com 首发,如有转载,请务必保留网站连接。

前言

  经过几年的开发,对硬盘录像机产生了一些厌倦,但是有些东西还是值得纪录的,所以就写了这个技术整理。目的是为了记录一些曾经的经验和教训,聊做纪念。某些不清楚的部分不会抄一些文章过来充数,也不会为了让文字看起来比较丰满而作过多的资料调查,所以如果在阅读的过程中有任何不适或者不满,可自行离场,谢谢。

  整个文档会从全局到细节,再从细节返回全局,先对整体设计、环境、行业现状进行描述,列举一些应该深入的方向,然后进行详细的叙述,最后再对整体进行一次勾勒。由于某些部分涉及技术机密,所以描述不会很清楚,还请见谅。

开篇

  90年左右,第一批涉足视频监控的企业开始在国内出现,比如北京的行者等。这个阶段由于硬件的昂贵价格和硬件能力的约束,以及是软件开发上的约束,很多东西无法实现,所以在这一阶段,视频监控还是以模拟为主,就是架设好摄像头,再将视频线、云台控制线等连接到控制机房,机房内放置对应的监视器(其实就是电视机的改装体,甚至在一些地方,就是直接用老式的黑白电视机来代替)。然后将视频头接入监视器,云台控制线接入云台控制器。这时的云台控制器大多直接从国外进口,其包含的技术含量并不高,但物以稀为贵,价格还是很高的。某些场合下并不需要云台控制,所以只需监视器和录像机即可工作。但用录像带录制有一些天生存在的问题,比如录像时间不够长,磁带保存困难。为了有更长的录制时间,制造商们制造出了超常的录像带,尺寸比较大,给运送和保存造成了一定困难。即便如此,一卷录像带也不过能录制2个小时的影像,就是说每隔2个小时就需要更换一次录像带。由于录像带使用的是感光方式的光学胶卷,所以要长时间保存就对环境有比较高的要求,而且由于尺寸比较大,造成保存空间比较大。同时,由于录像带不可中断的特点,若要临时查看现场录像,只能将正在录制的录像带中断,之后这卷录像带上还未录制的部分就无法再次利用了,一般只能报废,从而产生无法避免的浪费。

  不管怎样,模拟的监控系统还是满足了绝大多数的需求,可以很好的工作。在此说句题外话,个人觉得国内的开发人员都有一...

阅读全文...
分类: other | 评论: 1 | 浏览: 2655

跨平台的移动鼠标代码

[ 2006-05-17 09:16:37 | 作者: 痉挛的老鸨 ]

#include < stdio.h >
#include < stdlib.h >
#include < string.h >

#ifdef WIN32
#include < windows.h >
#else
#include < unistd.h >
#include < X11/X.h >
#include < X11/Xlib.h >
#endif

int main(int argc, char* argv[])
{
    char sx[10], sy[10];
    int x, y;

    if ( argc < 3 ) return 0;
    strcpy(sx, argv[1]);
    strcpy(sy, argv[2]);
    x = atoi(sx);
    y = atoi(sy);

#ifdef WIN32
    SetCursorPos(x, y);
#else
    Display *dpy;
    Window rootwindow;

    dpy = XOpenDisplay(NULL);
    if ( ! dpy ) {
        printf("Couldn't open Xdisplay.\n");
        exit(1);
    }
    rootwindow = DefaultRootWindow(dpy);

    XWarpPointer(dpy, rootwindow, rootwindow, 0, 0, 0, 0, x, y);

    XCloseDisplay(dpy);
#endif
    return 0;
}

分类: | 评论: 0 | 浏览: 1860

跨平台的线程代码

[ 2006-05-16 15:39:02 | 作者: 痉挛的老鸨 ]

改编自fltk,添加了linux平台下的Sleep实现,只支持Windows和Linux,分别用vc和gcc编译,代码如下:

1//threads.h, LGPL
2
3#ifndef Threads_H
4#define Threads_H
5
6#ifdef WIN32
7
8#include < windows.h >
9#include < process.h >
10
11typedef unsigned long Fl_Thread;
12
13static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p)
14{
15 return t = (Fl_Thread)_beginthread((void( __cdecl * )( void * ))f, 0, p);
16}
17
18#else
19
20// Use POSIX threading...
21#include < pthread.h >
22#include < unistd.h >
23
24typedef pthread_t Fl_Thread;
25
26static int fl_create_thread(Fl_Thread& t, void *(*f) (void *), void* p)
27{
28 return pthread_create((pthread_t*)&t, 0, f, p);
29}
30
31static void Sleep(unsigned long dwMilliseconds)
32{
33 usleep(dwMilliseconds * 1000);
34}
35
36#endif
37
38#endif // !Threads_h

使用示例:

1#include "thread.h"
2...
3
4static Fl_Thread m_thread; // define
5...
6
7// thread create
8fl_create_thread(m_thread, thread_fun, 0);
9...
10
11static void* thread_fun(void *p)
12{
13 while (1) {
14 ...
15 }
16
17 return 0;
18}
分类: other | 评论: 0 | 浏览: 2064

从编译Linux kernel说开来

[ 2006-05-10 20:57:54 | 作者: 痉挛的老鸨 ]

  编译内核的概念是linux最帅的地方,windows是不会提供操作系统的源代码的,而linux则不然,操作系统的源代码全部都是公开的。 对于发行版而言,比如rh9,debian,suse等,都提供编译好的kernel供用户使用,但是这样的kernel未必是用户需要的,这时就可以自 己对 kernel的源代码进行编译,然后替换掉原来的kernel。

  其实编译kernel并不恐怖,只是一件很简单的事情,就几条 指令而已。/usr/src/linnux是kernel源代码常用的放置目录,进入此目录,执行make menuconfig,会出来一个图形界面,里面是kernel的各种配置和选项,把自己喜欢的驱动和配置选上,不需要的去除即可。然后make dep,这是检查新的配置是否正确和做一些初始化工作。然后就是make bzImage,这是真正开始编译kernel,bzImage是编译后的kernel文件名,可以为任意名字,只是一般会以bzImage、 zImage或vmlinuz之类为名。如果编译成功会生成一个bzImage文件,这就是kernel了。系统启动最主要的就是调用这个文件,里面包括 了文件系统、硬件驱动、网络基础、内存管理、进程管理等,在/boot下面有一个bzImage或者vmlinuz之类的文件就是原有的kernel,只 要把编译后的kernel文件(bzImage)替换掉就换成新的kernel了,或者用新名字复制到/boot下,再将grub或lilo的配置文件修 改一下,下次启动系统的时候即可使用新的kernel。下面是make modules,这是编译驱动,或者说叫模块,在linux下驱动可以和kernel编译在一起,也可以编译成单独的模块文件,如果是第一种, kernel启动的时候就会自动尝试载入驱动,第二种则是需要的时候手工加载驱动,也可以手动卸载。这是windows没有的功能,比如显卡的驱动在 windows下不重新启动系统是无法更新的,但在linux下却可以。比如对显卡做升级动作的时候其实就是在编译module,并卸载旧驱动,加载新驱 动,整个步骤无需重启系统。最后一步,就是make modules_install,这个步骤是在/lib/modules下面生成一个按照kernel版本号为格式的目录,再将编译好的modules复 制进去。kernel启动的时候会通过这样的路径搜索modules文件,类似windows的system32目录。

  写了这么多, 很多没玩过linux的人看了会很迷糊,但了解一些相关认识还是很有趣的,因为这才是linux好玩的地方,一个随便捏来捏去的操作系统,可以满足某些人 士的变态心理-_-# windows可以运行的硬件平台很有限,因为不公开,而且尺寸也很大,linux却因为可以自己编译,所以支持几乎所有的硬件平 台,x86,cs51,avr,pda,手机,alpha,大型机等等。同时尺寸还很小,一般编译一个可以运行到shell的系统,只要4、5M的尺寸就 可以搞定。加一个x-window也就30M左右,这在windows是不可想象的。这都是kernel公开,可以手动编译的好处和乐趣....
 

2006-05-10 20:55 (根据聊天纪录修改)

分类: linux | 评论: 0 | 浏览: 4785

相遇linux

[ 2006-04-12 23:53:51 | 作者: 痉挛的老鸨 ]
这一两年,开源在国内势头猛烈,虽然还是雷声大雨点小,但关注总好过不关注。剔除一些不太热门的部分,开源在大多数人的心目中就是指linux及其平台下孕育出的相关软件。那就从这里开始我的一些废话。

开始接触linux是在96年,那时internet还属于新鲜概念,能用telnet上个bbs就能让人激动半天,更不要说ftp、bt、emule之类的玩艺,唯一能得到新软件的途径就是校门口卖盗版的。从某种意义上说,盗版在普及和深化计算机教育上还是有所贡献的。那时从门口买了一套rh的光盘,就开始在机器上开始折腾,但由于没有任何的帮助和获得帮助的途径,所以只是获得了对linux一些初步的认识。也正是因为rh,开始对操作系统感兴趣,也研究了一阵子minix,可惜没有坚持下去。

再次接触linux是在2003年,当时是进入一家台湾企业开发linux平台下的监控软件。由于当时要做一个基于x86的小型系统,os+ ...

阅读全文...
分类: | 评论: 0 | 浏览: 2154
1