Friday, October 29, 2004


[SME]One box to secure them all?

One box to secure them all?
By Isabelle Chan, CNETAsia

It doesn't matter if you're a big-name bank like Citibank or a small business startup. You are just as susceptible to virus and worm attacks.

But particularly for small and medium-size businesses (SMBs), combating these risks is a bigger challenge since they lack the technical expertise and financial budgets.

"Typically, it's very rare to find IT security expertise in SMBs given that many do not even have an IT department, while some outsource the IT function or delegate day-to-day administration to a non-technical staff who takes it on top of his or her job scope," says Ang Ah Sin, Trend Micro's regional marketing manager for Asia South.

Several security vendors today offer "all-in-one" hardware and software products, which typically comprise features such as firewall, intrusion detection systems (IDS), VPN and antivirus protection. These integrated single-box software suites or security appliances are said to offer enterprise-class capabilities but are yet simple to deploy and manage.

Compared to integrated products, purpose-built boxes "may be too complex and expensive to be practical for SMBs", Ang says. The value proposition of single-box offerings is, therefore, attractive because SMBS now deal with a single supplier instead of multiple vendors or integrators.

Lawrence Loh, senior regional product marketing manager for Symantec's Gateway Security Solutions, agrees, citing ease of use as one reason to buy a multi-function product. Small businesses, he says, save time as they do not have to worry about managing different vendors' products when they install an integrated appliance designed for simple setup and low maintenance.

"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions."
Lawrence Loh,
senior regional product
marketing manager,
Symantec Gateway Security Solutions
"Consolidated protection, convenience and cost are clearly the key advantages of deploying single-box solutions," he notes.

But do such products offer simplicity at the expense of flexibility?

Charles Cousins, the managing director for Sophos Anti-Virus Asia, thinks so. "It's a good place to get started if an SMB has no solution, but later they will probably want to have a more flexible solution.

"Over time, the SMB will start to face more demands from internal users, the volumes will increase, and there could be problems with upgrading and scalability," he adds.

Ang agrees that upgrading can be a challenge since components in the box are usually fixed. "Unless the appliance is upgradeable, any future expansion can render the appliance obsolete. Upgradeable single-box security software that offers comprehensive protection is preferred since it does not have such limitations. This is provided that the complexity of installation, configuration and maintenance have been removed and taken care of by the software," he says.

Symantec's Loh emphasized that upgrading concerns are addressed in the company's LiveUpdate feature. "Our appliances all use LiveUpdate which enables updates for the products to be sent through without any disruption. There is no difficulty in upgrading only parts of the product as LiveUpdate can upgrade the parts separately," he claims.

Another issue is the fear of a single point of failure. "With a box that does everything, when the power supply fails, everything stops, and the office is 'off the air'," Cousins notes.

Weigh the pros and cons
Like with all security technologies, the advantages and trade-offs must be carefully considered and mapped against the functionality, performance and business requirements.

Lim Ai Ling, McAfee's marketing manager for Southeast Asia and India, says SMBs should be concerned with functionality and performance, and suggests that SMBs ask questions like: Would a multi-function box slow down the network traffic flow? Will it be 'jack of all trades but specialist of none'?

While cost may be a concern when deploying many point solutions throughout the network, Lim adds that SMBs should not forget to consider the ease of managing these solutions and the need for a multi-layered and in-depth protection for critical PCs, servers and the entire network.

How to budget
A recent survey conducted by the Singapore Chinese Chamber of Commerce & Industry (SCCCI) found that 50 percent of SMBs surveyed spend less than 2 percent of their revenues on IT. "For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside," says Trend Micro's Ang.

"For companies that depend on IT, security should one of the top prioritized costs of doing business and it is recommended that up to 5 percent be set aside."
Ang Ah Sin
regional marketing manager
Trend Micro Asia South.
However, as each company is different, how much to budget depends on the number of computers, servers, complexity of the network infrastructure, as well as the type of digital assets that the company wants to protect, he adds.

An SMB suite such as Trend Micro Client/Server Suite, which protects desktops and servers, costs about S$60 (US$36) per license based on a 50-user network. "But the cost per license will decrease in relation to the size of the network setup," he adds.

Ang outlines several buying criteria for security. First, the software must be supported round-the-clock, 365 days a year by a world-recognized virus research laboratory that is able to dispatch timely updates whenever a virus is on the loose.

Second, the security software must be designed specifically for an SMB and not a re-packaged bundle of several individual security software or module from existing enterprise series. "Many security offerings are in fact scaled-down enterprise solutions that treat smaller business as enterprises with fewer seats," he says.

Third, make sure the product is easy to install, configure and maintain, so that minimal IT security knowledge is required.

Fourth, the product should be compatible with other existing software in the computing environment as well as the latest operating system or application patches.

Fifth, look for a product that offers a centralized management system with reporting features. And don't forget automatic and transparent distribution of updates to every PC and/or server on the network, says Ang.

Keeping these criteria in mind, Ang adds, SMBs should weigh the pros and cons of deploying a single-box offering versus point solutions and pick one that is most suitable to their needs.


[SME] Surviving IT outages

Surviving IT outages
By Gregory Teo, Special to CNETAsia

Most small and medium-sized businesses (SMBs) don't have the resources to own or manage a secondary disaster recovery site.

Such a remote facility--called a hot site--takes over IT processes within seconds of a primary outage. It houses hardware and software that instantaneously mirror data or allow SAN (storage area network)-to-SAN data replication.

Many SMBs can only dream about such speedy recovery.

The alternatives: An SMB can either back up data daily onto tape or to an alternate site via the Internet.

Trusty tape

Tape backup is affordable, but it can also be slow and cumbersome.
For SMBs, the traditional way of unfurling data from backup tape seems ideal. But they are not big fans of this because of the tedium. According to Wong Tew Kiat, senior manager of the Business Recovery Centre at Singapore Computer Systems, most SMBs may or may not backup their data.

He added: "Those who have may still keep the backup tapes within the office, and it will still be destroyed." To prevent this, tapes should be offsite.

Recovering systems from tape--known as warm recovery--takes 12 to 24 hours to complete as the data is retrieved from tape. In addition to being much slower, "recovery of data is only up to the backup status, any data after the backup will be lost," says Wong.

Such backup tapes should be tested regularly to ensure readablility while the tape's lifespan should be monitored. Even banks practice this.

Internet backup
Internet backup is a faster data recovery tool. And it's affordable enough for volume data backup. Provided by service providers such as SurgoSystems in Singapore, the service circumvents communication, software and hardware costs to keep it affordable for SMBs.

SurgoSystems offers an Internet-based service allowing users to back up critical data and recover it anytime. It claims to provide "instant data on demand".

Typically, a disaster recovery plan for SMBs can be broken down to the individual machines to be protected. For example, it costs S$350 (US$210) per month to back up an Intel server and S$50 (US$30) for a desktop. The connection cost via ADSL may be S$20 (US$12) while the offsite drawer space is around S$150 (US$90).

Such an Internet backup service is usually more affordable than a full range of disaster recovery and business continuity planning (BCP) tools provided by the likes of IBM, HP, National Computer Systems and SCS.

Importance of data protection
SMBs should pay heed to protecting their data because if it is lost, no amount of insurance can cover the fallout from missing information in the IT systems.

Says Wong: "I don't think there is any insurance to insure against permanent destruction of data. Insurance companies are likely to compensate only for the damage of the tape and not the content." Organizations should back up their critical data daily and send it offsite for safekeeping, he adds.

Gregory Teo is a freelance journalist based in Singapore.


[SME] It pays to know your software

It pays to know your software
By Jeffrey Hardee, Special to CNETAsia

Companies use software for a myriad of activities--typing out documents, accessing the Internet, and managing finance--yet many fail to invest time and effort in managing their software.

Proper software management is important for several reasons.

First, poor software management can mask software piracy, an illegal activity that can impose costly consequences to the business, both from a legal and a security standpoint.

Many governments across Asia are now taking a tougher stance on copyright infringement. In many countries, willful copyright infringement can result in criminal liabilities. Many organizations don’t realize that under-licensing--where, for example, a company with only one license installs the software on five PCs-- is also a form of software piracy. This, in addition to the use of illegal software, can land businesses into hot soup with the authorities.

Illegal software also exposes an organization’s computers to malicious code and virus attacks that can destroy valuable data and bring down an entire network.

Second, software is a valuable asset that, when properly managed, can offer many business benefits, ranging from cost savings to gains in employee productivity and efficiency.

What about SAM?
In a nutshell, software asset management (SAM) is a business process that enables an organization to identify and eliminate unauthorized software, and addresses under-licensing issues. While software inventory and tracking are integral parts of SAM, so are the policies, procedures, technologies, procurement, delivery, deployment, and support of a company's software assets.

Step 1: Know what you need
As a start, each company should know exactly what software it needs. This is valuable to ensure effective and efficient purchasing and use of software.

To determine what is needed, answer these questions:

* Are you using the right software to optimize efficiency and effectiveness?
* Are staff satisfied with their current software applications?
* Are there other software programs that would enable your staff to operate more effectively and efficiently?
* Are there software programs you now have but don’t need anymore?
Step 2: Know what you have

Only by knowing what software assets the company has would it be able to determine what it needs in the future. This inventory-taking process can also root out software that is not need. Here’s a check-list of issues to look out for:

* Are you using the most recent and suitable version of programs for your needs?
* Are you using outdated or unnecessary programs?
* Are there other programs you should get to be more productive or efficient?
* Does each employee have the correct set of programs?
* Are employees properly trained to use the software?
* Do you have illegal, unauthorized or unlicensed programs?

Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes.
Items to note down in the inventory check-list include version numbers, serial numbers and product names, as well as all material related to software on the computers, such as media (floppy disks and CDs), documentation (manuals and reference materials), licenses and administrative paperwork related to the purchase of this software, such as invoices, receipts and other documents that prove the legitimacy of the software.

Step 3: Compare installed software against licenses

With the inventory in hand, take the following steps:

* Compare the software that is installed against what is allowed under the terms of the license agreements
* If you identify any illegal software, delete them immediately
* Compare the legal software with the needs of your organization as identified in step 1 This is also the time to decide which software the firm legally has that it wants to keep or upgrade, which software to discard, and then plan or budget accordingly.

Remember that having an original CD for the software does not mean the firm can install it on as many computers as it likes. Check license agreements to determine the details. Any extra copies made or installed outside the number stipulated in the license are deemed illegal.

Step 4: Make SAM a continuous process

Effective software management requires continuous supervision and periodic spot checks. Make SAM an ongoing process by doing the following:

* Appoint a software manager who is responsible for SAM
* Schedule regular audits
* Coordinate your business’ software needs with your software manager
* Issue a company policy statement outlining the organization’s commitment to use only legal, licensed software
* Conduct random checks
* Send out periodic reminders on using only legal software

By going through these four steps, the company would have taken the basic measures to ensure that it uses legal and licensed software, and more importantly, better manage and harness the software assets for greater cost savings, productivity and efficiency.

Jeffrey Hardee is the vice president and regional director for Asia with the Business Software Alliance.















  1 不让我洗衣服

  前几天我趁老婆午休想帮老婆干点事,在屋子里转了半天,发现盆里有几件衣服,于是我就把这几件衣服扔进洗衣机里,--------晚上老婆温柔地夸我 “亲爱的,没想到你还会洗衣服”,谁知第二天中午我下班回家,老婆冲我吼道“你洗的什么衣服,袖子也不展开,土还在里面藏着呢,还有-----票子也洗碎了”,从此老婆再也不许我洗衣服了.

  2 不让我炒菜

  上个礼拜七中午,老婆跟我说:“我还有点材料要整理,米饭已经闷好了,你去把菜炒了吧。”待吃饭的时候,老婆吐了,她发现自己碗里的有棵波菜根没有切掉,而且----根须张牙舞爪还有好多泥巴没洗掉. 从此老婆宁愿饿着也不让我炒菜了.

  3 不让我陪她买衣服

  有一次,老婆拉着我非要我陪她上街买衣服,为了给我面子,让我拿着钱。 我说“好吧,我去换你为我买的那身西服。”换完衣服我俩高兴去了。等看好衣服该我付钱的时候,才发现钱在落家里了,换衣服时给忘了。从此以后,老婆再上街都会找隔壁的大姐。

  4 不让我陪丈母娘聊天


  5 不让我兜里装太多的钱


  6 不许我再辅导邻居家的孩子

对门大爷家有个上三年级的孩子,有一次这个孩子拿着书本来问我:“叔叔,我有道题不会错,爷爷说你是大学生,特有学问让我来请教你。”我一看, 是道数学题, 羊圈里有羊7只 , 猪圈里的猪是羊的3倍, 问猪有几只? 我说:“这么简单的题都不会做,亏你都上三年级了,明摆着有24头猪嘛。”第二天,孩子拿着本来找我,正好我不在,老婆在家。从此以后,老婆不许我再现眼了。


















Wednesday, October 27, 2004



ALFRED SIEW talks about the good, the bad and the ugly of 3G mobile phones

What is 3G?
There was, well, 1G, characterised by the analogue 'brick' phones of the 1980s. 2G refers to digital systems such as GSM and CDMA which emerged in the 1990s - and are probably what you are handling now.

The 2.5G phones are GSM phones which have general packet radio service (GPRS) technology built in. GPRS lets people connect to the Internet with their phones better than plain Jane 2G, or GSM, phones because GPRS transfers data using a packet-based network, as a computer would.

3G technology allows you to do what you do on broadband now - surf the web, download songs and watch videos - wherever you go. 3G networks promise speedy data downloads 'anytime, anywhere'. It's much like upgrading from a slow 56Kbps dial-up to a broadband service.

A totally new cellphone network has to be built from scratch for 3G, which is expected to co-exist with 2G networks for many years because many users are still on GSM.

What can I do with 3G?

Whatever you can do with the extra speed, like surf the Web wirelessly while travelling in a cab. An MP3 track will take about a minute to download. And you can watch streamed videos of, say, David Beckham's free kick, while you are out and about.

Most phones will also come with video cameras, meaning you can make video calls to friends who have 3G phones or video phones at home (SingTel has plans to offer such a service).

Isn't 3G plagued with problems?

The biggest problem facing 3G is the weight of expectation. With all the hype surrounding it, it doesn't have much time for teething problems. Early phones suffer from short battery life and dropped calls when people move from a 3G to a 2G network. But you can make video calls and download videos on the go, so the technology is fulfilling some of its promi-ses despite the problems.

Why has it taken so long to come here?

The first 3G service was rolled out in Japan by NTT DoCoMo in October 2001, so it has been around for a few years now. Cellphone operators in other countries, such as Singapore, are taking more time to test how well the phones work with their networks, so that the service does not bomb at launch.

What happens to GSM?

It's still around and will let you make calls in areas where there is no 3G coverage. Most 3G phones will support both W-CDMA (wideband CDMA, a 3G standard used here) and GSM. In other words, you have two phones in one.

So you won't have to worry about a lack of coverage even when you go into an underground car park - an expected 3G blindspot.

The main problem is moving from a 3G network to a 2.5G one. Your phone will automatically connect to a 2.5G network if it can't find a 3G network. But if you walk from a 3G to a 2.5G area while talking on the phone, you may get a dropped call.

That's because the phone and the wireless network don't yet have the intelligence to hand over the call seamlessly from one network to the next.

How much will 3G phones and services cost?

Local pricing is not available yet because telcos are still firming up their prices. But phones are expected to cost as much as current high-end phones.

The Sony Ericsson Z1010, for example, goes for A$649 (S$789) with 3 Australia ( A 3G service plan goes for A$99 per month.


3G Using is believing

Oct 20, 2004
3G Using is believing
By Alfred Siew

Congratulate us. We got to test out the 3G technology each of the three telcos will be rolling out by the end of the year.

Armed with the (still somewhat bulky) phones, we made video calls to friends, watched live TV on the phones and downloaded files from the Net at broadband speeds. The verdict: It's as fast and as powerful as it has been made out to be.

Even the coverage offered by SingTel, which let us try its service islandwide, surprised us pleasantly.

From Toa Payoh to Bedok, a live TV show streamed flawlessly. When we made calls from an underground tunnel - an expected blindspot for 3G networks - the network didn't stutter and cut us off in the middle of a call.

Our road test is not a scientific signal test, which telcos do with their measurement equipment fitted to land rovers.

We set out to experience what being in a 3G world will be like. Can we really talk and see our loved ones clearly? Will phone surfing be so slow as to test our patience? And more important, can we talk to our digitally 'slower' compatriots, still hanging on to 2G phones

If you're detecting some wryness here, that's because 3G has come in for some flak in places where the technology is already in use.

But we're pleased to say that we're happy with our road test.

Early adopters will be thrilled by the speed - up to a theoretical 384Kbps - compared to about 40Kbps available on general packet radio service (GPRS) now.

This is the speed that makes everything possible. It is also what MobileOne and StarHub showed in demos set up specially for Digital Life.

Less confident than SingTel, they did not let us test their services islandwide. Guess for them, 3G is still pretty much a work-in-progress. Still, the services they had looked good.


Coverage: Although only two-thirds of the islandwide network is up, coverage is good - even in areas outside the CBD.

Never mind the street-level coverage requirement set by the regulators, SingTel even has the Bedok underground link between the MRT station and town centre covered, judging from 3G calls made there. During a car ride through the CTE tunnel, a live TV stream of Channel News Asia didn't break up at all.

Video calls: Generally watchable, though not as smooth as pre-recorded videos streamed over the network. Pictures tended to be a little pixelated when we watched them on the Sony Ericsson Z1010 phone. Expect some lag too.

Video streaming: Very impressive. Smooth transmission. A live TV stream from Channel News Asia looked like 'real TV'.

Speedy surfing: As good as on a PC connected to broadband. We plugged in a Sony Ericsson Z1010 and downloaded files from the Net at speeds of between 15 and 30KB per second.


Video streaming: Smooth videos, like the other two operators. M1 showed music videos streamed to the phone and they were not jerky like videos on a 2G phone.

Video calls: They can be made from PCs too. What you need is a notebook, a webcam and a special 3G card that is plugged into the PC. With this set-up, we called a 3G user while seated in front of a notebook at the MobileOne office. Not bad, if you are on the road, and your boss wants to meet you -?? just power up your notebook, load the video-conferencing software and you're ready.

Speedy surfing: Fast. At a demo at M1's Jurong office, we downloaded a file from at 40KB (that's kilobytes, not kilobits) per second. That means a 2.4MB file takes a minute to download. Considering that a cable modem offers about 15KB per sec to 50KB per sec, depending on how congested the overseas server is, 3G is fast. Or downright speedy if you compare it to a 2.5G, which crawls along at about 4KB per sec. Okay, there's no telling if M1 tweaked the network to produce such speeds. But the result shows what 3G has always promised: high-speed downloads.


Video streaming: Live TV is very impressive. StarHub showed a demo of a live CNN stream. The picture was smooth and the sound clear (if you plug in a headset). Think about how much pay TV content StarHub has and it's clear how powerful the phone can become - a TV set on the move.

We also saw a recorded Jay Chou music video, which was encoded at 120Kbps and looked particularly good. A 2G phone would have struggled with unclear pictures.

Video calls: We made phone-to-phone calls on the Motorola A835 phone, which though bulkier, seemed to offer better pictures than the Sony Ericsson Z1010 used by both SingTel and M1.

Speedy surfing: Pretty brisk. We tried downloading a file from when we met StarHub in the evening (when the United States servers may be busy), and we managed about 15KB per second.


The technology looks good. Operators now have to fine-tune their network coverage.

# Expand coverage: Though they are required to offer 3G to only 95 per cent of the 'street level' access in Singapore, they'd do well to quickly expand their coverage to underground carparks, shopping malls and other public places.

Users won't like to be cut off while travelling down an escalator to a basement food court.

# Seamless handover: It's a pity we could not test the services provided by M1 and StarHub outside the confines of their offices. Because if anything irritates people used to a seamless GSM network, it's kinks like dropped calls and lack of coverage.

Operators have to ensure that calls are handed over from a 3G to a 2G network seamlessly. Or 3G will seem like a downgrade because it can't even let people talk properly!

At least, by rolling out services later than their European counterparts, operators here have learnt some lessons. For one, they know 3G has little time for teething pains: people won't want to spend money on something that is full of bugs.

# Price: Operators will have to decide soon on price -?? will 3G be offered buffet-style like one operator, Hutchison, is offering worldwide? Or will people have to pay for each Real Madrid goal they watch on their phones? Can you mix and match plans as is the case for cellphones now so you won't be paying for features you won't be using

# Bottom line: If 3G is too expensive, users won't be too forgiving about the bugs that are bound to crop up. In fact, if operators can let people try the service for free - it's not commercial grade after all - for as long as possible, people may come to appreciate it more.

Okay, we're geeks and we don't expect everyone to be a 3G convert after reading this. But as it matures, the technology looks like it can be a hit. Just like people laughed at the first mobile phones that looked like bricks, users of 3G phones will look pretty stupid to others. We, however, think it's the height of cool.

Additional reporting by Billy Teo

Monday, October 25, 2004


[Management]The communication trap

The communication trap
By Shannon T. Kalvar, TechRepublic
Thursday, June 17 2004 9:09 PM

When we honestly reflect, none of us can claim perfection when it comes to dealing with our customers, whether they come from inside our organization or from another one. Despite the lovely myth of "putting it all down at the door," we are all human beings with habits, pressures, concerns, and even the occasional psychological blind spot. Overcoming these problems requires us to face our own motivations and communication methods without accepting the comfort of "it's good enough."

I learned this lesson the hard way, strangely enough, while working on a government contract. It was an advice and consult gig, starting with a review of my client's methodology. At the same time, I coordinated work among three other teams on a larger mail rollout on the other side of the country. Like anyone still breathing, I also tried to juggle all of the concerns of home while traveling and working 80 hours a week.

Having learned a thing or two about how to manage communications streams before, I kept my clients straight this time. However, managing all of the various factors and egos involved with the two assignments began to take its toll on me psychologically. I also entered a bad patch at home, causing challenges in my personal life to become far more stressful than work. Beyond the damage that did to my marriage, it also pushed even more stress into my work.

My interactions with others became brusque. I started to use my influence within the organization to override others' ideas, rather than listening to them. Worse, I began to ignore the lesson I learned a long time ago: Always listen to your own people.

Things went on like this for a month, until it finally came to a head one day at my primary client site. It was in the middle of a meeting, when one of my client's architects made yet another mistake regarding sendmail configuration options. No, in the real world he simply did not understand SMTP or e-mail security. In whatever world I was working in at the time, he was a raving moron who deserved to be dressed down in front of his boss, his boss's boss, and the organization's chief information technology officer.

The gentleman in question immediately retaliated. He had, he claimed, raised this point with me three times over e-mail and once in a conversation. Why did I berate him about it now, when my lack of response indicated clearly that I simply didn't care?

After the meeting, I went back to my desk to seethe a bit. After getting that out of my system, I went back to examine my correspondence. My architect punching bag told the truth—and I needed to get a grip.

My three communication sins
So, after successfully making a jerk out of myself to my client and potentially my team members, I decided to step back and reassess my communications over the previous months. What I saw annoyed me as a person and shocked me as a manager. They boiled down to three basic sins: lack of impact assessment, misuse of influence, and lack of responsiveness.

As managers and leaders, our words carry enormous weight. This weight comes both from our authority over others and from our influence within the organization. It attaches itself to our communications whether we want it to or not; indeed, nothing we say or do can get away from it.

In my case, everyone knew that I had firing authority on the mail rollout and that my recommendations would be used to make firing decisions on the botched project my client called me in to review. One team knew I was angry about something and assumed it was part of their performance. The other one knew I was there to rain fire on them; every time I snapped, they put another rock in their "fear-of-being-fired container."

Fear is both sticky and corrosive; once it seeps into a team relationship, it can take months to clear. My carelessness cost me time, trust, and in the end, my team's best work.

Similarly, I noticed a disturbing trend in my messages. I learned early in my career that I do not always know best. In fact, I often do not. Technology changes, people come at things from different perspectives, and sometimes my team members just flat out know more about something than I do. It became apparent, as I reviewed my communications logs, that this went up as well as down in the team. For the last few weeks, my supervisors had tried to reach out to me. In whatever state I was in, I had reacted by calling in favors from the organization to "keep these people off my back while I took care of the situation." Not only was that an insult to the fine people I worked for, but it also expended an enormous amount of my political capital. And for what purpose? So that I could avoid receiving the help I obviously needed?

This created two problems for me. One, I needed to rebuild the relationships. Two, I needed to understand why I reacted so badly in the first place. Just because I had the ability to ignore their offers to help, and even to deflect them, did not mean I had either the right or, for that matter, the need. Was pride worth that much to me? Or had I fallen into some other sort of trap?

Reading and thinking, I realized something. I had made my work problems a proxy for the problems I faced at home. I did not want help because, on some subconscious level, I felt that if I could solve my problems at work, things would become better at home. When phrased like that, the idea is, naturally, ridiculous. Unfortunately, logical fallacy or not, the feeling it embodied did not go away. Having stated it, though, I could potentially mitigate it.

My third sin of communications, and one I still struggle with today, is what I call "turtling." When I get under enough stress, I huddle down and start working on some personal product (e.g., a report, a new server architecture, or whatever) and ignore my real job: communications. On one level, I say to myself: "If I can get this done, I'll let the person know what is going on and they will be happy to have a product." On another level, the thrill I feel from successfully creating something helps to lift the stress.

Those are both fine statements. Unfortunately, as a manager and a leader, my real job takes place in the realm of communications. In the end, it doesn't matter one way or the other if one of my reports comes in a day late. However, if my team fails to move forward because I decided to spend the day playing with cash flow, I may well lose my company contracts, or my client tens of thousands of dollars.

Moving forward
Recognizing my sins is one thing. Fixing them is another. I wish I could say that I've successfully fixed them all forever, but the truth is that all three still plague me from time to time.

However, I do generally use the following mitigating strategies:

1. Before I communicate with someone, I force myself to review their current status and our relative positions. For most relationships, this takes no more than five seconds. It allows me to gauge the impact of my statements based on our relative positions and authority, and makes me conscious of my communications patterns.
2. When I receive a communication requesting information or containing a suggestion, I first allow myself to feel whatever emotion it generates. Then, after a minute or three, I consider what the other person really wants. If I am not clear, or I think my own emotional response prevents me from being clear, I either ask for clarification or begin to use reflective listening.
3. I include communications tasks on my list of things to do. In fact, my planner typically has more communications tasks than production tasks on any given day. This psychological trick allows me to treat communications as just another task and derive satisfaction from removing them from the list of things to do.

These actions do slow down my communications. Frankly, I'm proud of that. In today's business world, we often mistake speed for clarity and responsiveness for understanding.

So what "sins of communication" do you suffer from, and how do you deal with them?

Back up your system with Mondo

Backing up your system is extremely important, but having usable backups is even more vital. If your server or workstation has a hardware failure and you need to reconstruct the machine, restoring from homegrown backup solutions can be painful and time-consuming.

A solution called Mondo can help alleviate some of this pain. It creates a full system backup of your machine in any form you like, including direct to CD, ISO images, etc.

When you burn these ISO images to CD, they become bootable restore CDs. If you have a problem with your system, you can simply insert the first CD of the backup set, boot from it, and you'll have a variety of options for how to restore your data.

With Mondo, instead of reinstalling the OS and then applying backup files on top of it to reconstruct your previous system, you can take the snapshot you have on CD and build the system back to where it was when you performed the backup.

Using Mondo is also very straightforward. Here's a simple way to use it:

# mondoarchive -Oi -d /home/mondo -E "/home/mondo" -l LILO -f /dev/hda

This tells Mondo to perform a full backup of the file system to ISO images and to place the resulting images in the /home/mondo directory. The -E option tells Mondo to exclude /home/mondo from the backup, which prevents backups from growing larger than necessary by backing up old backups. Finally, it tells Mondo you're using LILO as your bootloader and that the bootloader is on /dev/hda.

After Mondo creates the ISOs, you'll have a set of ISO images in /home/mondo that are ready to burn to CD. Be aware, however, that you'll need plenty of room to store the ISO images, depending largely on the size of your system.

For more information, check out the Mondo home page.

Saturday, October 23, 2004


Telecom Asia: Broadband: does it matter?

lq103 sent you this Telecom Asia link:


*** Broadband: does it matter? ***
Korea certainly deserves some bragging rights as the top broadband market in Asia. What?s less clear is how much credit goes to good commercial decisions, how much goes to government leadership, and how much broadband really matters

This information comes to you courtesy of


[MANAGEMENT]Forecasting failure

Forecasting failure

Telecom Asia October 2004

The old joke that God created economists to make weather forecasters feel good, misses the fact that technology gurus were later designed to boost the egos of everyone. Technologists tend to believe that their strictly-bounded ITC world always drives progress, rather than following society’s needs.

This fueled the irrational euphoria of the dot-com boom and fired the fiasco of Y2k – both also driven by media hype and greed. Another contributing factor was our sloppy use of terminology: the English language has never managed to clarify terms relating to future knowledge or distinguish between different biases and different approaches.

The word “foretelling”, for instance, should be limited to the intuitive faculty that gypsies demonstrate with crystal balls. It claims to reveal glimpses of perfect “foresight”.

However, “forecasting” is (or should be) a logical process, involving extrapolation from existing facts and trends for a limited period of time.

Forecasting should carry a time scale, and a range of potential statistical error. Foretelling claims to be absolute.

The American economist, Richard Thaler, has noted five biases that influenced forecasting, and his listing is worth examining in the light of repeated failures in most ITC areas to provide useful guidance.

1. Over-confidence:

About 90% of car drivers believe they are above average in driving ability; yet we know that only half are. But, even when you explain this logical anomaly to a large group, it’s entirely unlikely that anyone will re-evaluate his/her own driving ability.

Over-confidence, Thaler says, induces people to make forecasts that are bolder than they should be. There’s an age-difference here also – young people tend to be more over-confident.

2. Optimism:

Of course optimism is built into government statistical forecasts as a matter of course, as it is in businesses promoting the size of markets or the social and economic benefits of technological developments.

But even with private-sector forecasting, companies or trade organizations invariably show a high degree of wishful thinking.

There’s an old adage: “To the man with a hammer, every problem looks like a nail,” and this seems to fit rather well here also. People tend to make their judgment of the problems effecting the future in terms of the solutions they are able to offer.

In your area of expertise, you will usually forecast more optimistically than most and have higher levels of confidence in your judgment. The corollary (which Thaler didn’t touch on) is that you’ll also tend to down-value the solutions offered by others.

3. False consensus:

This factor was more responsible for the Y2K problems and the tech-wreck than all others combined.

When computers first appeared on desktops, two types of office workers immediately reaped benefits: accountants with their calculating spreadsheets and journalists who were suddenly able to make last minute changes to copy.

Journalists could see no need for a printer if keystrokes could be electronically injected into the photo typesetter, and they enthusiastically promoted their new toys in the media. This led directly to the 1975 Business Week prediction of the paperless office – a fallacy that lasted 25 years.

And, since accountants held the company purse-strings, computer sales took off because they also exaggerated the (then) commercial value of PCs to everyone.

4. Curse of knowledge:

Thaler’s point here is that we take for granted what we already know, and we can’t imagine that others don’t think the same way. This differs from false consensus because it colors the background of our thinking (our ability to judge) rather than the foreground.

Through nature and nurture, every person’s problem-solving faculties have evolved in different ways, yet we assume that any logical person should see what we see.

5. Status quo resistance:

This simply means what it says. Most people are resistant to change – even those at the leading edge who aspire to be fashion leaders. People are only willing to accept radical change to a limited degree – and then only in limited areas in their lives.

Stewart Fist ( is an Australia-based, award-winning journalist and columnist, and author of The Informatics Handbook

Friday, October 22, 2004


The 10 don'ts of corporate reporting

Enterprise : Management : Article
The 10 don'ts of corporate reporting
By Jonah Stephen, Special to CNETAsia
Thursday, August 26 2004 2:33 PM

Editor's note: This is the final in a series of three features on corporate reporting. Check out the first and second instalments.
Reporting processes ensure that IT departments and IT vendors deliver information on demand, or as scheduled, to all stakeholders in an enterprise.

Here are ten common mistakes and what you can do to avoid making them:

1. Don't assume stakeholder commitment
It's important that the stakeholders who utilize reports are consulted on how reporting processes are designed and implemented. Not involving them in planning and implementation could lead to a poor outcome.

This can create a lack of involvement on their part, in subsequent stages of the project. At worst it could result in delivering excessive or inadequate information. Not involving them during the building process is acceptable if they are consulted in the roll-out of the reporting process. Failing to offer them previews on the roll-out could affect acceptability of the reporting process.

Hence, milestone-based stakeholder reviews of the project are very important to ensure a project's success.

2. Don't ignore prototyping
Today's modern tools are very friendly in terms of initial development for prototyping, which makes it tempting to create a good reporting process and roll-it-out without prototyping.

Prototyping should be used to test the rigors of process implementation for information quality and application scalability. A medium to complex scenario(s) is recommended for building the prototype. The prototype needs to address data collection-interface to heterogeneous data sources, data processing, information publication and subscription, information security, application scalability and flexibility.

Moreover, prototyping helps you present with newer forms of presentation such as Dashboard, Visualization and Scorecards.

Hand-in-hand with prototyping is the need for evaluation metrics. Here are key metrics to consider:

* Process cycle time for each user group
* Number of human interfaces required to execute the process
* Repeatability of the process in unit- or real-time
* Usability
* Scalability
* Consistency of the output across different publishing formats
* Flexibility to enhance or add new processes

3. Don't be rigid
Think of how you can loosely couple the applications. Do not hard wire. Allow room to change and grow.

4. Don't be fixated on tools
Reporting processes need to be implemented using robust, cutting-edge tools and technology. Choose a development platform that will help you evolve, grow and change your business needs. The tools you choose must dictated by your needs in report-authoring and management, and not the other way around.

5. Don't be a reporting hog
Share the responsibility of providing information with the reports information input providers. These are typically line-of-business (LOB) heads, region or unit heads. Enable self-service for regular and on-demand information needs of the users; it will help free up IT resources. Publish report management policies along with the reports. Include the owner, as well as escalation or support contacts.
6. Don't expect ERP to do all
Enterprise resource planning (ERP) or LOB applications are utilized to automate business processes and improve efficiency. ERP's reporting is designed to report information in direct fashion, such as from say the origination of an order to its shipment.

Keep in mind, however, that your ERP and its reporting system are not designed to report using historical information or information prior to an order entry. Nor the post shipment/delivery, which covers competition, partners and vendors. So attempting to build comprehensive enterprise reporting using the ERP reporting system can be ultimately limiting.

7. Don't ignore user-friendliness
Usability can be your carrot to encourage users to adopt a new reporting system. Do not assume that your users can digest, or even tolerate, information in whatever form you provide. Users need information in many forms for consumption depending on their role in the organization.

Customize. Offer good visualization to executives, interaction and data richness to power users and simple browsing for the ordinary users.

8. Don't keep adding new reports
Or risk information overload and management mess. Before you create a new report, explore the possibility of customizing or reusing an old report. Be warned that as the number of reports increase, versioning and operational management--which includes security, logging and monitoring--will also increase.

To simplify, increase interactivity through filters, parameters, or links to other reports. The best way to address a growing demand for new reports is to periodically review the reporting process and make changes where appropriate .

9. Don't share reporting application resources
Reporting applications that implement the reporting process are ever growing and constantly changing. These applications tend to eat away all the resources that are shared, such as those set aside for development, support and maintenance.

Installing the reporting application in a separate server, and monitoring the application and its infrastructure will ensure that the resources are well managed.

10. Don't be complacent
Ah, the satisfaction of doing a good job! But in corporate reporting, there is no time to rest on laurels.

Reporting needs to continuously evolve in accordance with demand from businesses, regulations, user profiles and technologies. You should work towards having a reporting process good enough to trigger business process changes. For that to happen, make sure your reporting process can react to your business processes.

And establish a routine for periodic review of your reporting process. The review should focus on reducing process time by eliminating human interventions. It should be aimed at increasing information quality. It should also evaluate tools and technology.

Remember, it all boils down to one guiding principle: Keep the reporting process simple to understand and consume.

Jonah Stephen, a database and business intelligence veteran with more than 14 years industry experience, is the solution architect at Microsoft Corporation. Jonah has implemented multiple projects on BI and data warehousing for customers like Citibank and Frito-Lay.

Thursday, October 21, 2004





























Wednesday, October 20, 2004


Open source vs commercial apps: the differences that matter

Enterprise : Infrastructure : Article
Open source vs commercial apps: the differences that matter
By Goh Seow Hiong, Special to CNETAsia
Wednesday, October 6 2004 2:01 PM

Editor's note: This is the first of a two-part feature on software policy. Part one examines the license model differences between open source and commercial software. Next week's instalment will dwell on issues related to cost, security, flexibility and interoperability of each software models.
The open-source movement has been one of the most dramatic changes to impact the software industry in recent memory.

Few technical subject matters today are as passionately debated as that of the controversy surrounding open-source and commercial software--two prominent models of software licensing and development. Amidst their differences relating to cost benefits, there are, in fact, a number of commonalities and similarities that are often overlooked in this debate.

Policy issues surrounding commercial and open-source software have also gripped government bodies around the world. In Asia Pacific, open source is often seen as a viable solution, especially for developing nations.

To help decision makers discern the facts in this debate, let's look at the key considerations in this area and how appropriate software policy decisions should be made.

Comparing the two models
For the purposes of our discussion below, we will refer to the terms as follows:

* Open source refers to a software licensing model where the source code of the software is typically made available royalty-free to its users, under terms allowing redistribution, modification and addition, though often with certain restrictions.

Open-source programs are often, though not exclusively, developed through a collaborative effort in which a number of persons, often with no formal association with each other, contribute elements of the final software. Increasingly, software companies are also contributing programs developed in-house to the open source community.

* Commercial software refers to the model where the software developed by a commercial entity is typically sold or licensed to a customer in object or executable code, either directly or through channels. The commercial entity often provides support, training, updates and other similar services needed by customers to use that software.

The source code of the software may be made available to certain users of the software through special licensing or other agreements, but is usually not distributed to the general public, and may not be copied or modified except in a manner provided for in such agreements.

It should be recognized that each of these models can translate into a viable business strategy for companies in the software industry. The models are not mutually exclusive, and companies are increasingly finding ways to embrace both approaches, and allowing both to co-exist.

For example, there have been instances where proprietary operating system platforms that have benefited from the open-source development by adopting an open source approach for the lower levels of the system (e.g. device drivers) while keeping the higher levels proprietary (e.g. user interface).

This approach allows greater focus to be placed at development of the higher level components, where innovation may bring greater benefits to customers.

Conversely, there are software providers who have contributed commercially developed code to the open source community to allow open source solutions to operate on a broader range of platforms. Increased competition and a larger number of viable alternatives between products on the server and desktop platforms have brought about a significant push for both open source and commercial software solutions to become more innovative, and for software providers to focus and improve substantially on emerging issues like security and reliability.

Licensing Approaches
One main underlying difference between both models lies with the approach towards licensing adopted by each model.

It is necessary to understand these licensing approaches to fully appreciate the fundamental starting points of the models and to discern the validity and weight of any particular argument for or against either software model.

Commercial software providers typically adopt the traditional software licensing approach where permission to use the software is granted to a customer in return for a fee. The customer is usually permitted to use, reproduce or adapt the software according to the terms of the permitted activities under the license.

While open source software is made available under a variety of approaches in licensing, these approaches have certain features in common. They rely on the copyright within the software to form the licensing contract. They each grant rights and permissions subject to conditions.

In general, these conditions restrict how the software may be further changed or distributed, rather than imposing a requirement that a fee be paid for it.

There are two principal open source licensing approaches--the GNU General Public License (GPL) and the Berkeley Software Distribution (BSD) License.

Under the GPL, all derivative works of the software must be licensed and distributed on the same terms as the original software. Source code subject to the GPL cannot be disassociated with that license and permanently remains as such.

Under the BSD License, developers are allowed to integrate the licensed software with the developers’ own source code to create new products with few restrictions.

The BSD License, for example, allows programmers to use, modify and redistribute source code and binaries of the original software. But unlike the GPL approach, programs containing code subject to the BSD License do not have to be distributed under the BSD License. Derivative works can be distributed either in an open source manner, or in a more traditional “commercial” license.

Another characteristic of the GPL approach relates to distribution. The GPL prohibits charging money for the distribution of source code, other than to cover the administrative cost of copying and shipping. However, charging fees for system setup, system management, support, maintenance and other related services is permitted.

It is on this basis that commercial support for Linux is available from some organizations operating under the open source business model.

Intellectual Property
Although open source software is often available for free download, it does not follow that there is no need for intellectual property rights protection under the open source software model.

On the contrary, the basis upon which open source licenses impose terms and conditions is founded on elements of intellectual property protection. In addition, the use of the source code from open-source developers is often permitted on condition that there is appropriate attribution to the original source code author.

In the 2004 German case of Netfilter Project against Sitecom Germany GmbH, a three-judge German court gave recognition to the GPL by requiring the defendant company to disclose the source code of its product that relied on and incorporated components of open source software written by the plaintiff. It is worth noting that in this case, the plaintiff's grounds for the action was founded on copyright.

The plaintiff was not in a position to take legal action against other alleged violators of the GPL, as in those cases, the plaintiff did not own the copyright in the works that were used by the other violators. This illustrates that in both open source and commercial software models, the need for intellectual property rights remains the foundation for the license conditions to operate.

Policy Considerations
As we will see further in the second part of this article, the arguments advocating any particular software development model may, on closer examination, not be as unequivocal as they first appear to be. In fact, there are many underlying similarities amidst the differences cited in both models.

Choices and procurement policies should be made based on value-for-money and fit-for-purpose considerations, and should not be made or preferred based on broad categorizations that do not ultimately support sound objective principles. The benefits and appropriateness of the considerations relating to the open source and commercial software models come across according to the customers' needs in particular situations and not as generic truths.

At a broader policy level, it should be recognized that there is a need for choices in software selection and implementation, and for skills development to support a growing diversity of software development models.

Technology innovation is best accomplished by a healthy, competitive and diverse marketplace that allows software companies to develop and grow according to their own strengths and capabilities. Procurement policies of organizations and Governments have a key role to play in maintaining this diversity that is essential to the growth of the software industry.

Fair and open competition, and not procurement preferences, should determine which products earn the confidence of consumers. Rigorous competition ensures that technology providers have the incentive to invest and produce the best products for the market, which in turn means broader consumer choice among many innovative technologies.

Mr Goh Seow Hiong is the Director of Software Policy for Asia of the Business Software Alliance.

Tuesday, October 19, 2004




● 许丽卿






  他举例说,新电信于94年在菲律宾投资的环球电信(Globe Telecom)项目,最初的几年确实亏了钱,媒体当时就在质疑新电信何时会“收拾包袱回家”,但新电信却坚持留下来。而后来菲律宾的手机收费“预付”方式扭转了新电信的劣势,因为这降低了电信供应商的成本,新电信在菲律宾的手机业务也从此蒸蒸日上,到目前已成为菲律宾三大最赚钱的电信公司之一。




Monday, October 18, 2004


Find useful site -- network persant

Sunday, October 17, 2004



























  另外,俄罗斯中小企业公会(OPORA Russia)也与新加坡商业联合会(SBF)签署合作谅解备忘录,以便为双方的会员公司提供更多的商业合作机会。


Thursday, October 14, 2004


Linux 内核配置系统浅析

Linux 内核配置系统浅析

2003 年 2 月

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。

众所周知,Linux 内核是由分布在全球的 Linux 爱好者共同开发的,Linux 内核每天都面临着许多新的变化。但是,Linux 内核的组织并没有出现混乱的现象,反而显得非常的简洁,而且具有很好的扩展性,开发人员可以很方便的向 Linux 内核中增加新的内容。原因之一就是 Linux 采用了模块化的内核配置系统,从而保证了内核的扩展性。

本文首先分析了 Linux 内核中的配置系统结构,然后,解释了 Makefile 和配置文件的格式以及配置语句的含义,最后,通过一个简单的例子--TEST Driver,具体说明如何将自行开发的代码加入到 Linux 内核中。在下面的文章中,不可能解释所有的功能和命令,只对那些常用的进行解释,至于那些没有讨论到的,请读者参考后面的参考文献。

1. 配置系统的基本结构


1. Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则;
2. 配置文件(给用户提供配置选择的功能;
3. 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。

这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写 Makefile 和配置文件就可以。所以,在本文中,我们只对 Makefile 和配置文件进行讨论。另外,凡是涉及到与具体 CPU 体系结构相关的内容,我们都以 ARM 为例,这样不仅可以将讨论的问题明确化,而且对内容本身不产生影响。

2. Makefile

2.1 Makefile 概述

Makefile 的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux 内核二进制文件。

由于 Linux 内核源代码是按照树形结构组织的,所以 Makefile 也被分布在目录树中。Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件有:

1. Makefile:顶层 Makefile,是整个内核配置、编译的总体控制文件。
2. .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config)。
3. arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile。
4. 各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理。
5. Rules.make:规则文件,被所有的 Makefile 使用。

用户通过 make config 配置后,产生了 .config。顶层 Makefile 读入 .config 中的配置选择。顶层 Makefile 有两个主要的任务:产生 vmlinux 文件和内核模块(module)。为了达到此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。至于到底进入哪些子目录,取决于内核的配置。在顶层 Makefile 中,有一句:include arch/$(ARCH)/Makefile,包含了特定 CPU 体系结构下的 Makefile,这个 Makefile 中包含了平台相关的信息。

位于各个子目录下的 Makefile 同样也根据 .config 给出的配置信息,构造出当前配置下需要的源文件列表,并在文件的最后有 include $(TOPDIR)/Rules.make。

Rules.make 文件起着非常重要的作用,它定义了所有 Makefile 共用的编译规则。比如,如果需要将本目录下所有的 c 程序编译成汇编代码,需要在 Makefile 中有以下的编译规则:

%.s: %.c
$(CC) $(CFLAGS) -S $< -o $@

有很多子目录下都有同样的要求,就需要在各自的 Makefile 中包含此编译规则,这会比较麻烦。而 Linux 内核中则把此类的编译规则统一放置到 Rules.make 中,并在各自的 Makefile 中包含进了 Rules.make(include Rules.make),这样就避免了在多个 Makefile 中重复同样的规则。对于上面的例子,在 Rules.make 中对应的规则为:

%.s: %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(*F)) $(CFLAGS_$@) -S $< -o $@

2.2 Makefile 中的变量

顶层 Makefile 定义并向环境中输出了许多变量,为各个子目录下的 Makefile 传递一些信息。有些变量,比如 SUBDIRS,不仅在顶层 Makefile 中定义并且赋初值,而且在 arch/*/Makefile 还作了扩充。


1) 版本信息

2) CPU 体系结构:ARCH
在顶层 Makefile 的开头,用 ARCH 定义目标 CPU 的体系结构,比如 ARCH:=arm 等。许多子目录的 Makefile 中,要根据 ARCH 的定义选择编译源文件的列表。

TOPDIR 定义了 Linux 内核源代码所在的根目录。例如,各个子目录下的 Makefile 通过 $(TOPDIR)/Rules.make 就可以找到 Rules.make 的位置。
SUBDIRS 定义了一个目录列表,在编译内核或模块时,顶层 Makefile 就是根据 SUBDIRS 来决定进入哪些子目录。SUBDIRS 的值取决于内核的配置,在顶层 Makefile 中 SUBDIRS 赋值为 kernel drivers mm fs net ipc lib;根据内核的配置情况,在 arch/*/Makefile 中扩充了 SUBDIRS 的值,参见4)中的例子。

Linux 内核文件 vmlinux 是由以下规则产生的:

vmlinux: $(CONFIGURATION) init/main.o init/version.o linuxsubdirs
$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o
-o vmlinux

可以看出,vmlinux 是由 HEAD、main.o、version.o、CORE_FILES、DRIVERS、NETWORKS 和 LIBS 组成的。这些变量(如 HEAD)都是用来定义连接生成 vmlinux 的目标文件和库文件列表。其中,HEAD在arch/*/Makefile 中定义,用来确定被最先链接进 vmlinux 的文件列表。比如,对于 ARM 系列的 CPU,HEAD 定义为:

HEAD := arch/arm/kernel/head-$(PROCESSOR).o

表明 head-$(PROCESSOR).o 和 init_task.o 需要最先被链接到 vmlinux 中。PROCESSOR 为 armv 或 armo,取决于目标 CPU。 CORE_FILES,NETWORK,DRIVERS 和 LIBS 在顶层 Makefile 中定义,并且由 arch/*/Makefile 根据需要进行扩充。 CORE_FILES 对应着内核的核心文件,有 kernel/kernel.o,mm/mm.o,fs/fs.o,ipc/ipc.o,可以看出,这些是组成内核最为重要的文件。同时, arch/arm/Makefile 对 CORE_FILES 进行了扩充:

# arch/arm/Makefile

# If we have a machine-specific directory, then include it in the build.
MACHDIR := arch/arm/mach-$(MACHINE)
ifeq ($(MACHDIR),$(wildcard $(MACHDIR)))

HEAD := arch/arm/kernel/head-$(PROCESSOR).o
SUBDIRS += arch/arm/kernel arch/arm/mm arch/arm/lib arch/arm/nwfpe
CORE_FILES := arch/arm/kernel/kernel.o arch/arm/mm/mm.o $(CORE_FILES)
LIBS := arch/arm/lib/lib.a $(LIBS)

在 Rules.make 中定义的是编译的通用规则,具体到特定的场合,需要明确给出编译环境,编译环境就是在以上的变量中定义的。针对交叉编译的要求,定义了 CROSS_COMPILE。比如:

CROSS_COMPILE = arm-linux-

CROSS_COMPILE 定义了交叉编译器前缀 arm-linux-,表明所有的交叉编译工具都是以 arm-linux- 开头的,所以在各个交叉编译器工具之前,都加入了 $(CROSS_COMPILE),以组成一个完整的交叉编译工具文件名,比如 arm-linux-gcc。
CFLAGS 定义了传递给 C 编译器的参数。
LINKFLAGS 是链接生成 vmlinux 时,由链接器使用的参数。LINKFLAGS 在 arm/*/Makefile 中定义,比如:

# arch/arm/Makefile

LINKFLAGS :=-p -X -T arch/arm/

6) 配置变量CONFIG_*
.config 文件中有许多的配置变量等式,用来说明用户配置的结果。例如 CONFIG_MODULES=y 表明用户选择了 Linux 内核的模块功能。
.config 被顶层 Makefile 包含后,就形成许多的配置变量,每个配置变量具有确定的值:y 表示本编译选项对应的内核代码被静态编译进 Linux 内核;m 表示本编译选项对应的内核代码被编译成模块;n 表示不选择此编译选项;如果根本就没有选择,那么配置变量的值为空。

2.3 Rules.make 变量

前面讲过,Rules.make 是编译规则文件,所有的 Makefile 中都会包括 Rules.make。Rules.make 文件定义了许多变量,最为重要是那些编译、链接列表变量。

O_OBJS,L_OBJS,OX_OBJS,LX_OBJS:本目录下需要编译进 Linux 内核 vmlinux 的目标文件列表,其中 OX_OBJS 和 LX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。

M_OBJS,MX_OBJS:本目录下需要被编译成可装载模块的目标文件列表。同样,MX_OBJS 中的 "X" 表明目标文件使用了 EXPORT_SYMBOL 输出符号。

O_TARGET, L_TARGET:每个子目录下都有一个 O_TARGET 或 L_TARGET,Rules.make 首先从源代码编译生成 O_OBJS 和 OX_OBJS 中所有的目标文件,然后使用 $(LD) -r 把它们链接成一个 O_TARGET 或 L_TARGET。O_TARGET 以 .o 结尾,而 L_TARGET 以 .a 结尾。

2.4 子目录 Makefile

子目录 Makefile 用来控制本级目录以下源代码的编译规则。我们通过一个例子来讲解子目录 Makefile 的组成:

# Makefile for the linux kernel.
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.

export-objs := tc.o

# Object file lists.

obj-y :=
obj-m :=
obj-n :=
obj- :=

obj-$(CONFIG_TC) += tc.o
obj-$(CONFIG_ZS) += zs.o
obj-$(CONFIG_VT) += lk201.o lk201-map.o lk201-remap.o

# Files that are both resident and modular: remove from modular.

obj-m := $(filter-out $(obj-y), $(obj-m))

# Translate to Rules.make lists.

L_TARGET := tc.a

L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y)))
LX_OBJS := $(sort $(filter $(export-objs), $(obj-y)))
M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))

include $(TOPDIR)/Rules.make

a) 注释
对 Makefile 的说明和解释,由#开始。

b) 编译目标定义
类似于 obj-$(CONFIG_TC) += tc.o 的语句是用来定义编译的目标,是子目录 Makefile 中最重要的部分。编译目标定义那些在本子目录下,需要编译到 Linux 内核中的目标文件列表。为了只在用户选择了此功能后才编译,所有的目标定义都融合了对配置变量的判断。
前面说过,每个配置变量取值范围是:y, n,m 和空,obj-$(CONFIG_TC) 分别对应着 obj-y,obj-n,obj-m,obj-。如果 CONFIG_TC 配置为 y,那么 tc.o 就进入了 obj-y 列表。obj-y 为包含到 Linux 内核 vmlinux 中的目标文件列表;obj-m 为编译成模块的目标文件列表;obj-n 和 obj- 中的文件列表被忽略。配置系统就根据这些列表的属性进行编译和链接。
export-objs 中的目标文件都使用了 EXPORT_SYMBOL() 定义了公共的符号,以便可装载模块使用。在 tc.c 文件的最后部分,有 "EXPORT_SYMBOL(search_tc_card);",表明 tc.o 有符号输出。
这里需要指出的是,对于编译目标的定义,存在着两种格式,分别是老式定义和新式定义。老式定义就是前面 Rules.make 使用的那些变量,新式定义就是 obj-y,obj-m,obj-n 和 obj-。Linux 内核推荐使用新式定义,不过由于 Rules.make 不理解新式定义,需要在 Makefile 中的适配段将其转换成老式定义。

c) 适配段
适配段的作用是将新式定义转换成老式定义。在上面的例子中,适配段就是将 obj-y 和 obj-m 转换成 Rules.make 能够理解的 L_TARGET,L_OBJS,LX_OBJS,M_OBJS,MX_OBJS。
L_OBJS := $(sort $(filter-out $(export-objs), $(obj-y))) 定义了 L_OBJS 的生成方式:在 obj-y 的列表中过滤掉 export-objs(tc.o),然后排序并去除重复的文件名。这里使用到了 GNU Make 的一些特殊功能,具体的含义可参考 Make 的文档(info make)。

d) include $(TOPDIR)/Rules.make

3. 配置文件

3.1 配置功能概述

除了 Makefile 的编写,另外一个重要的工作就是把新功能加入到 Linux 的配置选项中,提供此项功能的说明,让用户有机会选择此项功能。所有的这些都需要在 文件中用配置语言来编写配置脚本,
在 Linux 内核中,配置命令有多种方式:

配置命令 解释脚本
Make config, make oldconfig scripts/Configure
Make menuconfig scripts/Menuconfig
Make xconfig scripts/tkparse

以字符界面配置(make config)为例,顶层 Makefile 调用 scripts/Configure, 按照 arch/arm/ 来进行配置。命令执行完后产生文件 .config,其中保存着配置信息。下一次再做 make config 将产生新的 .config 文件,原 .config 被改名为 .config.old

3.2 配置语言

1) 顶层菜单
mainmenu_name /prompt/ /prompt/ 是用'或"包围的字符串,'与"的区别是'…'中可使用$引用变量的值。mainmenu_name 设置最高层菜单的名字,它只在 make xconfig 时才会显示。

2) 询问语句

bool /prompt/ /symbol/
hex /prompt/ /symbol/ /word/
int /prompt/ /symbol/ /word/
string /prompt/ /symbol/ /word/
tristate /prompt/ /symbol/

询问语句首先显示一串提示符 /prompt/,等待用户输入,并把输入的结果赋给 /symbol/ 所代表的配置变量。不同的询问语句的区别在于它们接受的输入数据类型不同,比如 bool 接受布尔类型( y 或 n ),hex 接受 16 进制数据。有些询问语句还有第三个参数 /word/,用来给出缺省值。

3) 定义语句

define_bool /symbol/ /word/
define_hex /symbol/ /word/
define_int /symbol/ /word/
define_string /symbol/ /word/
define_tristate /symbol/ /word/

不同于询问语句等待用户输入,定义语句显式的给配置变量 /symbol/ 赋值 /word/。

4) 依赖语句

dep_bool /prompt/ /symbol/ /dep/ ...
dep_mbool /prompt/ /symbol/ /dep/ ...
dep_hex /prompt/ /symbol/ /word/ /dep/ ...
dep_int /prompt/ /symbol/ /word/ /dep/ ...
dep_string /prompt/ /symbol/ /word/ /dep/ ...
dep_tristate /prompt/ /symbol/ /dep/ ...

与询问语句类似,依赖语句也是定义新的配置变量。不同的是,配置变量/symbol/的取值范围将依赖于配置变量列表/dep/ …。这就意味着:被定义的配置变量所对应功能的取舍取决于依赖列表所对应功能的选择。以dep_bool为例,如果/dep/ …列表的所有配置变量都取值y,则显示/prompt/,用户可输入任意的值给配置变量/symbol/,但是只要有一个配置变量的取值为n,则 /symbol/被强制成n。

5) 选择语句

choice /prompt/ /word/ /word/

choice 语句首先给出一串选择列表,供用户选择其中一种。比如 Linux for ARM 支持多种基于 ARM core 的 CPU,Linux 使用 choice 语句提供一个 CPU 列表,供用户选择:

choice 'ARM system type'
Archimedes/A5000 CONFIG_ARCH_ARCA5K
SA1100-based CONFIG_ARCH_SA1100

Choice 首先显示 /prompt/,然后将 /word/ 分解成前后两个部分,前部分为对应选择的提示符,后部分是对应选择的配置变量。用户选择的配置变量为 y,其余的都为 n。

6) if语句

if [ /expr/ ] ; then

if [ /expr/ ] ; then

if 语句对配置变量(或配置变量的组合)进行判断,并作出不同的处理。判断条件 /expr/ 可以是单个配置变量或字符串,也可以是带操作符的表达式。操作符有:=,!=,-o,-a 等。

7) 菜单块(menu block)语句

mainmenu_option next_comment
comment '…..'


引入新的菜单。在向内核增加新的功能后,需要相应的增加新的菜单,并在新菜单下给出此项功能的配置选项。Comment 后带的注释就是新菜单的名称。所有归属于此菜单的配置选项语句都写在 comment 和 endmenu 之间。

8) Source 语句
source /word/
/word/ 是文件名,source 的作用是调入新的文件。

3.3 缺省配置

Linux 内核支持非常多的硬件平台,对于具体的硬件平台而言,有些配置就是必需的,有些配置就不是必需的。另外,新增加功能的正常运行往往也需要一定的先决条件,针对新功能,必须作相应的配置。因此,特定硬件平台能够正常运行对应着一个最小的基本配置,这就是缺省配置。

Linux 内核中针对每个 ARCH 都会有一个缺省配置。在向内核代码增加了新的功能后,如果新功能对于这个 ARCH 是必需的,就要修改此 ARCH 的缺省配置。修改方法如下(在 Linux 内核根目录下):

1. 备份 .config 文件
2. cp arch/arm/deconfig .config
3. 修改 .config
4. cp .config arch/arm/deconfig
5. 恢复 .config

如果新增的功能适用于许多的 ARCH,只要针对具体的 ARCH,重复上面的步骤就可以了。

3.4 help file

大家都有这样的经验,在配置 Linux 内核时,遇到不懂含义的配置选项,可以查看它的帮助,从中可得到选择的建议。下面我们就看看如何给给一个配置选项增加帮助信息。

所有配置选项的帮助信息都在 Documentation/ 中,它的格式为:

给出本配置选项的名称, 对应配置变量, 对应配置帮助信息。在帮助信息中,首先简单描述此功能,其次说明选择了此功能后会有什么效果,不选择又有什么效果,最后,不要忘了写上"如果不清楚,选择 N(或者)Y",给不知所措的用户以提示。

4. 实例

对于一个开发者来说,将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤。首先确定把自己开发代码放入到内核的位置;其次,把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。下面,我们就通过一个简单的例子--test driver,结合前面学到的知识,来说明如何向 Linux 内核中增加新的功能。

4.1 目录结构

test driver 放置在 drivers/test/ 目录下:

$cd drivers/test
|-- Makefile
|-- cpu
| |-- Makefile
| `-- cpu.c
|-- test.c
|-- test_client.c
|-- test_ioctl.c
|-- test_proc.c
|-- test_queue.c
`-- test
|-- Makefile
`-- test.c

4.2 配置文件

1) drivers/test/

# TEST driver configuration
mainmenu_option next_comment
comment 'TEST Driver'

bool 'TEST support' CONFIG_TEST
if [ "$CONFIG_TEST" = "y" ]; then
tristate 'TEST user-space interface' CONFIG_TEST_USER


由于 test driver 对于内核来说是新的功能,所以首先创建一个菜单 TEST Driver。然后,显示 "TEST support",等待用户选择;接下来判断用户是否选择了 TEST Driver,如果是(CONFIG_TEST=y),则进一步显示子功能:用户接口与 CPU 功能支持;由于用户接口功能可以被编译成内核模块,所以这里的询问语句使用了 tristate(因为 tristate 的取值范围包括 y、n 和 m,m 就是对应着模块)。

2) arch/arm/
在文件的最后加入:source drivers/test/,将 TEST Driver 子功能的配置纳入到 Linux 内核的配置中。

4.3 Makefile


# drivers/test/Makefile
# Makefile for the TEST.


L_TARGET := test.a
export-objs := test.o test_client.o

obj-$(CONFIG_TEST) += test.o test_queue.o test_client.o
obj-$(CONFIG_TEST_USER) += test_ioctl.o
obj-$(CONFIG_PROC_FS) += test_proc.o

subdir-$(CONFIG_TEST_CPU) += cpu

include $(TOPDIR)/Rules.make

for dir in $(ALL_SUB_DIRS); do make -C $$dir clean; done
rm -f *.[oa] .*.flags

drivers/test 目录下最终生成的目标文件是 test.a。在 test.c 和 test-client.c 中使用了 EXPORT_SYMBOL 输出符号,所以 test.o 和 test-client.o 位于 export-objs 列表中。然后,根据用户的选择(具体来说,就是配置变量的取值),构建各自对应的 obj-* 列表。由于 TEST Driver 中包一个子目录 cpu,当 CONFIG_TEST_CPU=y(即用户选择了此功能)时,需要将 cpu 目录加入到 subdir-y 列表中。


# drivers/test/test/Makefile
# Makefile for the TEST CPU


L_TARGET := test_cpu.a

obj-$(CONFIG_test_CPU) += cpu.o

include $(TOPDIR)/Rules.make

rm -f *.[oa] .*.flags


subdir-$(CONFIG_TEST) += test
include $(TOPDIR)/Rules.make

在 drivers/Makefile 中加入 subdir-$(CONFIG_TEST)+= test,使得在用户选择 TEST Driver 功能后,内核编译时能够进入 test 目录。


DRIVERS-$(CONFIG_PLD) += drivers/pld/pld.o
DRIVERS-$(CONFIG_TEST) += drivers/test/test.a
DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a


在顶层 Makefile 中加入 DRIVERS-$(CONFIG_TEST) += drivers/test/test.a 和 DRIVERS-$(CONFIG_TEST_CPU) += drivers/test/cpu/test_cpu.a。如何用户选择了 TEST Driver,那么 CONFIG_TEST 和 CONFIG_TEST_CPU 都是 y,test.a 和 test_cpu.a 就都位于 DRIVERS-y 列表中,然后又被放置在 DRIVERS 列表中。在前面曾经提到过,Linux 内核文件 vmlinux 的组成中包括 DRIVERS,所以 test.a 和 test_cpu.a 最终可被链接到 vmlinux 中。

5. 参考

1. Document/kbuild/makefiles.txt,Linux Kernel Source code
2. Document/kbuild/config-language.txt,Linux Kernel Source code
3. Contributing to the Linux Kernel--The Linux Configuration System,Linux Journal,
4. Unreliable Guide To Hacking The Linux Kernel,Paul Rusty Russell,





Knoppix 提供了一个可引导的、容量为一张光盘的 Linux

Knoppix 提供了一个可引导的、容量为一张光盘的 Linux


Cameron Laird(
副总裁,Phaseit, Inc.
2003 年 2 月 4 日

如果您曾经希望获得一个能够运行的便携式 Linux 安装,并且它可以在任何硬件上以相同的方式运行,那么请继续阅读本文。Knoppix 将一个专门的、非常有用的 Linux 分发版打包在了一张可引导的 CD-ROM 上。

计算机应当为人服务,但是在很多情况下这种关系被颠倒过来了。但是,诸如 Knoppix 和 Live Eval 这样的技术阐明了一条途径,通过该途径 Linux 从根本上改变了计算的“交易条款”。

Knoppix 能够为您可能会遇到的各种常见情况提供好处。先让我们了解一下一些在您自己计算中可能需要的 Knoppix 具体应用程序以及相关软件包。

Knoppix 引导 Linux
Knoppix 是一个可引导的 CD。尽管这样的可引导 CD 肯定不止 Knoppix 这一种,但 Knoppix CD 的组织和内容是与众不同的。请设想一些方案。假定您是一位讲师。您要在教室里为学生授课,但是只有半个小时来检查所有硬件,并为这些硬件准备配置。通常会出现这样的情况:课上到一半时,一些演示无法进行了,因为至少一些学生的机器上安装了不一致的服务包(Service Pack),或者是因为硬件从未使用过,或者环境是由头脑不大正常的人定制的。

或者您可能有大量商用硬件(commodity hardware)。没人特别关心所有那些硬件的计算能力 — 除了在每年的超级杯(Super Bowl)或缴税日期(Tax Day)的那几天里,或者可能当您的组织每个季度对北太平洋的天气形势进行大规模模拟时才会去关心。如何才能使所有那些异构主机进行有效的协同工作,同时又不会让您为乏味冗长的配置工作投入太多时间呢?


这是一些 Knoppix 可以简单地解决的情形,而对于其它工具来说可能比较棘手。Knoppix 发明人 — Klaus Knopper 本身就是一位教员,据他回忆,他是在“1999 年到 2000 年间”开始开发 Knoppix 项目的,将其作为一个培训项目,以满足他自己的需求。

2003 年初,主要的 Knoppix 产品是一个引导到 GNU/Linux 的开放源码 CD-ROM。在检测硬件和安装正确的驱动程序方面,它是相当有效和快捷的,而且它可以“聪明”地使用实时解压缩,来为大约 2 GB 大小的应用程序和数据腾出空间。此外,正如 Knopper 所说的,Knoppix 的主要特性之一是“用于软件集以及所有由我编写的脚本和工具的 GPL 许可证,该许可证允许接受者独立修改、分发和销售 CD”。

尽管如此,这个简单的描述还是掩盖了大量的信息。虽然 Linux 老手们经常试验可引导的介质,并且许多应用程序依赖于数据压缩,但是 Knoppix 展示了一个非凡的优点。它很简单,但这只是因为 Knopper 和其他一些项目志愿参与者在构造它的时候非常注重它的简易性。

Knoppix 特性

* Knoppix 非常快捷。大多数 Knoppix 用户都提到它在普通的硬件上引导时间低于两分钟。一个用户告诉我:“把 CD 放入光驱,等上一两分钟,就会出现一个运行着大量应用程序的 KDE”。那就是 Knoppix 的目标:在无须用户交互的情况下,它引导到运行级 5,并启动 X 和 KDE。
* Knoppix 很全面。它包含大量硬件驱动程序集和为检测这些驱动程序而精心制作的工具,以便普通的主机在引导时所有的硬件都处于可运行状态。Knoppix 不仅可以识别各种图形卡和鼠标,而且还可以识别各种声卡、调制解调器及 USB 和 SCSI 设备。软件包括 OpenOffice、安全性应用程序和 GIMP,涵盖了各种常见需求。
* Knoppix 使用起来很方便。它根据广受好评的 Debian 分发版改写的。作为一个 CD-ROM,它是用 iso9660 而不是(只读的)ext2 格式化的(考虑到 ISO 标准比较成熟)。
* Knoppix 的适应性很强。早期的 Knoppix 变体是一张“可引导的名片”— 外型规格中的一个“救援”或“存活”Linux 系统。
* Knoppix 非常灵活。它可以在诸如远程引导这样的环境中执行正确的工作。例如,不带 CD-ROM 驱动器,但是带有支持 Linux 的可引导网卡的客户机可以通过 PXE 从正在运行 Knoppix 的服务器进行远程引导。
* Knoppix 很有“礼貌”。Knopper 在安全性方面很有造诣。Knoppix 开始将其主机的海量存储器作为只读存储器。利用 Knoppix,您可以执行非常有用的工作 — 跟踪网络安全性问题、准备和分发备忘录,或者查看已下载的多媒体演示文稿 — 请您相信:一旦您取出 CD-ROM,主机系统将返回到它的正常操作。
* Knoppix 是自由的。它的标准版本,以及用于构造它的软件都是开放源码的。Knopper 还为那些使用特殊许可证、特殊配置或有其它所有权需求的人定制 Knoppix。

本文后面的参考资料一节提供了其它几种有趣的 Knoppix 用法。顾问 Rolf Ade 告诉我 Knoppix 是如何伴随他的购物之旅的:“随身携带一张 Knoppix CD 真的很棒,如果您希望购买一台新的 Intel 机器来运行 Linux。只需用 Knoppix CD 引导新机器,您就会知道是否存在支持它所有硬件的 Linux 驱动程序。”

许多人喜欢将 Knoppix 当成是最可能的 Debian 安装程序。Knopper 还打算允许 Knoppix 配置终端服务器。

开始使用 Knoppix
开始自己使用 Knoppix 的最简单方法是使用公开出售的 CD-ROM。在北欧、美国和澳大利亚,大约有二十家分销商经销 Knoppix CD(包括 beta 测试版)。

如果您有宽带可以烧制光盘,那么您可以下载超过 600-MB 的 Knoppix ISO 映象,该映象可以通过 Knoppix 下载/订购页面(请参阅参考资料)免费下载。世界各地都有镜像站点。请记住,您可以从任何操作系统烧制 CD-ROM;制作 Knoppix CD 时无需 Linux。

一旦手边有了标准的 Knoppix CD-ROM,您差不多已跨入 Linux 的天地了。您所需的全部东西就是一台具备 PC 级别能力的机器:80486 或更高、至少 20 MB RAM(尽管如果少于 128 MB,您将不得不放弃办公软件产品,可能还要放弃桌面管理器,或者甚至是 X11 服务器)、标准的 SVGA 和一种引导方式。即使没有这些,通常也可以使用 Knoppix。但是,首先看看常规的情形:

* 如果从 CD-ROM 引导 PC,放入 Knoppix CD,那么两分钟后您将拥有一个可识别的、有用的 Linux。许多 BIOS 都具备从 CD-ROM 引导的能力,但可能并未这样配置。在这种情况下,您可能需要重新启动 PC,然后在启动的时候按 Delete 或另一个特定于硬件的键来进入“BIOS setup”或“BIOS features”。当您配置引导介质的时候,请记住,不必将 CD-ROM 设置为唯一的引导介质,甚至不必将 CD-ROM 设为第一个引导介质;在启动顺序中将软盘驱动器排在 CD-ROM 前也很不错。您所需的全部工作就是确保 CD-ROM 是作为一个可识别的引导源出现。保存新配置,这样您就可以准备启动了。

* 另一种方案是从一张可识别 CD-ROM 的软盘进行引导,然后把引导控制交给 CD-ROM。这些软盘通常称为“启动软盘”。Knoppix 映象文件包含一个“rawrite”程序,可使用该程序准备这样的软盘。

如果 Knoppix 可以很好地为您工作,那么下一步很自然地您会希望更改它。尽管 Knoppix 的定制不是秘密,但是对该项目所进行的大多数工作已经使标准安装具备了“防弹”功能。在几种截然不同的改变 Knoppix 的方法中,极有可能引起最广泛兴趣的是重新灌录(remastering),在该过程中,您可以用自己的软件代替标准 Knoppix CD-ROM 上的某一个部分。2002 年末,Jubal John 准备了一份权威的“How to remaster ……”文档,参考资料列出了该文档。定制过程相当精细,并且很复杂,以致于无法在这做简要的描述。主要困难在于,如果任何事情发生错误,那么磁盘分区的低级管理将危及系统完整性。

可以替代 Knoppix 的产品
我非常热衷于 Knoppix,而且象我这样的发烧友也很多。我收到过许多管理员和网络管理员的来信,他们对 Knoppix 也怀有如此深的感情:“没有 Knoppix,就走不出家门了”。任何在一个完全动态的环境中进行操作的 Linux 专业人员或业余爱好者 — 即使只是偶尔需要在其它设备上运行 — 都应该试用 Knoppix 的副本。这样做的成本几乎为零,而潜在的收益和便利却很多。

已经证实 Knoppix 对于商业创新也很“友好”。Knopper 说“有很多 Knoppix 派生产品;有些已经由购买者发布,而有些只在某个公司内部使用。是否发布其购买的自由软件产品由消费者自己决定,因为 GPL 不要求您发布或分发定制的版本,甚至不强求您在同一个介质上只包含免费软件。因此,一些公司使用 Knoppix 作为其免费软件的平台,或者也可作为其专有软件的平台,以便向潜在的客户展示其产品的演示版本,而不必在可以使用前争论是否在硬盘上进行安装。”

但是,请注意,对于一些特殊的 Knoppix 应用情况,一些其它软件或许可以提供更好的服务。参考资料一节展示了其中的一些替代产品。例如,如果您多是使用比较旧的设备,那么 Knoppix 可能就不实用。Knoppix 的标准配置需要太多内存 — 32 MB 是不够的。在这种情况下,诸如 muLinux 这样的项目可能会更有帮助。

也可以将 Knoppix 看成是“最小公分母”:它的目的是为了让计算机在尽可能少的延迟或人员辅助的情况下运行。跟其它结果一样,这意味着在应用 KDE 之前,标准 Knoppix 不会让用户有机会配置外来视频或网络设置。

诸如 SuSE 的 Live Eval 这样的产品采用了不同的方法。Live Eval 旨在从一个 CD-ROM 尽可能模拟完整的 SuSE 分发版。特别地,它希望在确定其引导顺序和配置时能与用户进行交互。这样提供了更大的灵活性,但是刚好有一位有经验的 SuSE 工程师告诉我,如果 Live Eval 和 Knoppix 完成同样的引导任务,通常 Live Eval 大约要花费 7 分钟时间,而 Knoppix 花费的时间通常不到 2 分钟。另一方面,Live Eval 会话使我们可以更精确地看到在标准的工作环境中使用一个功能齐全的 Linux 分发版的情况。

Pascal Scheffers(Erasmus University 的一名程序员)却描述了另一种 Knoppix 和供应商产品提供了不同的解决方案的情形。假定您需要测试产品的安装。如果手头的工具是 Knoppix,您可能会使用一台主机专门进行安装测试,并可能使用 Ghost(或 Ghost-for-Unix)来帮助使安装自动化。Knoppix 为使用主机提供了一个标准的起点。

对于这类问题,Scheffers 喜欢使用 VMware 及其“非持久”选项。VMware 可以在特定的会话中管理操作系统、进行安装,然后将所有更改回滚到它们的初始状态。

Knoppix 可以解决许多问题 — 至少可以解决我经常遇到的许多问题。

除此之外,我还喜欢 Knoppix 使人们重新控制计算机的方式。现在许多用户都习惯于相信:比方说,准备一份简单的幻灯片演示文稿需要对硬件和软件进行昂贵和耗时的升级,以及费力地进行安装和配置。如果某件事出错了,就会把它当成一个谜,可能只有通过从零开始才能解决它。无论如何,人们都得等待,而计算机按照它们自己的计划在运行。

Knoppix 与那些令人伤心的情形完全不同,它体现了 Linux 开放和灵活的优点。Knoppix 可以管理各种硬件,并且可以迅速地使这些硬件进入工作状态。那是一个值得效仿的典范。

非常感谢 SuSE 的 Gernot Hillier、Brett Schwarz、Larry Virden 和 Joe Mistachkin,感谢他们在我编写本篇 Knoppix 简介过程中对我的帮助。


* “Knoppix — Live Linux Filesystem on CD”是 Knoppix 的英文主页。

* Knopper 的 Annual Linux Showcase 2000 上的演讲文稿描述了一打有用的 Knoppix 应用,以及 Knoppix 的联网和安全性功能。

* LINUXISO.ORG 致力于 ISO 9660 CD-ROM 及其如何用于 Linux 的主题。它演示了如何使用诸如 Nero 和 Toast 这样的程序来烧制 CD。

* Luigi Bitonti、Morten Kjeldgaard 和 Peter von der Ah 就如何烧制 Linux 的 CD-ROM 提供了一份独立的 How To。

* 根据 Knoppix-customize 主页的介绍,“Knoppix-customize 是一个程序,它允许您更改 Knoppix ISO 映象的引导选项和文件,或者在不重新灌录的情况下引导磁盘”。

* “如何重新灌录 Knoppix 以包含 GNUmed 和其它医疗软件”是了解如何制作您自己的演示 CD 的最佳场所。

* 提供了有关 Knoppix 重新灌录和定制的另一个介绍页面。

* Live-Eval 是 SuSE Linux 的一个版本,它“完全从可引导 CD 运行,并且不安装在硬盘上”。它作为一个 ISO 映象可免费下载。

* Coollinux 和 DemoLinux 是其它两个 CD-ROM,它们可以引导至完整的、能正常运行的系统。

* “Etlinux 是一个完全基于 Linux 的系统,旨在非常小型的工业计算机上运行。它的设计标准是小型、模块化、灵活和完整”。其中,这里的“灵活”指,使 Etlinux 尽可能多地实现脚本化。

* 据 MuLinux 主页介绍,“MuLinux 是一种要求最低的 Linux 分发版”。MuLinux El-Torito 是最新的 MuLinux 修订版。Knoppix 使用 El-Torito 的 LILO 作为其初始引导进程。此外,Lepton 是一个基于 2.4 内核的单张软盘 MuLinux 实验版本。

* “A Guided Tour of a Linux Boot”和“How does Linux boot?”阐明了 Knoppix 实现背后的大多数概念。

* 在 Windows 世界中,通常会使用 Symantec 的 Ghost 使安装、应用程序部署和用户迁移自动化。它的最初形式是 DOS 实用程序,可以从单个备份映象提供多个安装。

* Ghost 4 Unix(g4u)是一个有趣的磁盘克隆程序。尽管它做的工作与 Knoppix 完全不同,但是许多使用 Knoppix 的人同样会对它感兴趣。例如,您想对实验室中的许多机器进行相同设置,那么使用 g4u 就挺好。

* VMware 是用于“虚拟”操作系统的几个产品之一。本文作者近来在 developerWorks 上发表的有关交叉编译的专栏文章中描述了其它产品。

* Tomsrtbt 是另一个可以从一张软盘上引导 Linux 的实验版本。

* KDE 是 Knoppix 引导进入的桌面。

* FAQ: PreBoot Execution Environment 说明了通常称为“PXE”(或“PiXiE”)的 Intel 规范。PXE 允许联网的计算机从中央服务器装入和执行网络自举程序(NBP)。 提供了有关该主题的更多信息。

* “Knoppix Hard Disk Installation HOWTO”介绍了如何使用 Knoppix 作为 Debian 的安装程序。将 Knoppix 安装在硬盘上会使访问和操作比从 CD-ROM 工作时进行的更快。

* Gnumed 是一个创建和分发开放源码医疗应用软件的项目,其演示 CD-ROM 以 Knoppix 为基础。

* 此外,如果您阅读“用户模式 Linux 简介”,您将学会如何管理 Linux 映象以使它不会扰乱主机上的其它安装。

* TopologiLinux 是旨在在 DOS 或 Windows 安装中运行的几个 Linux 分发版之一。TopologiLinux 基于 Slackware 9,支持 NTFS 和 FAT。这类分发版的一个用途就是提供标准化的 Linux 工作空间,而又不会扰乱标准配置的现有桌面。因此,它的用途有点类似 Knoppix。

* “技巧:双引导 Linux”展示了如何在一台机器上设置多个可引导的 Linux 实例。

* IBM VMware ESX Server 让您可以在一台 xSeries 服务器上运行几个作为虚拟机的操作系统。更多信息,请访问 IBM and VMware 页面。

* 在 developerWorks Linux 专区中可以找到更多用于 Linux 开发人员的参考资料。

Cameron 是 Phaseit, Inc. 的全职顾问,他经常就开放源码和其它技术主题撰写文章和发表演讲。他自己的开发工作经常涉及到的轻量级但集成可靠的现有组件。可以通过 与 Cameron 联系。

This page is powered by Blogger. Isn't yours?