Archive for the ‘System’ Category

Lenny in progress…

March 10, 2009

I was very happy when I heard that debian lenny has been released. I have to download the DVD version of the distro. Since I have a low bandwidth internet connection, it will take few days to download the entire OS. So, anyone who need a copy of the OS have to wait for my next post on Debian Lenny.

Will catch you back from Lenny soon… 🙂

Double fault

February 4, 2007

“Double fault” doesnt mean the one you know in Tennis. Here it is an EXCEPTION that occurs in the CPU. Double fault occurs if the processor encounters a problem while trying to service a pending interrupt or exception. These double faults can only happen due to kernel bugs.

Double faults may occur due to the following reasons.

In the x86 architecture,
1 . A double fault indicates a problem with the Interrupt Descriptor Table (IDT). For example, if an interrupt occurs but the segment the processor is supposed to switch to is invalid, double fault will occur.

2 . When the interrupt is going to a higher privilege level. In that case, the Task State Segment is used to find the new stack pointer. If the processor encounters a problem when reading the TSS, it will trigger a double fault.

In SPARC or PowerPC architecture,

3 . These processors generally save state to predefined and reserved machine registers. A double fault will happen where another exception happens while the processor is still using the content of these registers to process the exception.


If the processor encounters a problem when calling the double fault handler, a triple fault is generated and the processor shuts down. People having their computer spontaneously rebooting are most likely experiencing triple faults.

Bootstrapping in Linux

January 6, 2007

Linux kernel itself is a program and the first bootstrapping task is to get this program into the memory so that it can be executed. Linux implements a two stage booting process. During the first stage, the system ROM loads a small boot program into the memory from the disk which in turn loads the kernel. Then, the kernel performs the memory tests to find out how much RAM is available. Some of the kernel’s internal data structures are statically sized, so the kernel sets aside a fixed amount of real memory for itself when it starts which is used only by the kernel [Kernel space](Correct me if I am wrong..) and the users cannot use it. Then the kernel prints on the console the total amount of physical memory and the amount available for the user processes.

One of the kernel’s first task is to check out the hardwares connected to it. When you design a kernel, you have to inform it which drivers are to be found and it will find them and prints a criptic information of each of the devices on the console. The kernel probes the bus and try to locate the drivers, if not found, they are disabled and are enabled when found afterwards.Then, after the basic initialization, the kernel creates several spontaneous processes (as they are not created using fork()). init() [PID 1] is accompanied by several kernel and memory handling processes like kflushd, kupdate, kpiod, kswapd. Of these, only init() is a full-fledged process, others are part of the kernel that have been dressed up to look like processes for scheduling and architectural reasons .

Once the spontaneous processes have been created, then we can say that bootstrapping is complete. The remaining processes that handle other operations are started by init().

To enter into single-user mode, we have notify init() by setting a command-line flag. init() eventually turns the control over to sulogin, and prompts for password. You can continue wih the multi-user mode by pressing Ctrl-D. A shell appears in the single-user mode, where we can use all the commands used in the multi-user mode. Usually, most of the daemons wont run in the single-user mode. We have to manually mount the filesystems that are not in /bin, /sbin, /etc.

The fsck command is normally run during an automatic boot to check and repair filesystems. In the single-user mode, you need to run the fsck commannd by hand. When the single-user mode exists, the system will attempt to boot into multi-user mode.

Finally, many of the start-up scripts are called by init(). getty is called as the last process by init(), using which we can login to the system.

On Itanium 2, IA-64…

December 8, 2006

Hi all, this day will an unforgettable one for me. As me, Sai and Balachandran (my frends) have entered into the world of servers, we got an opportunity to install debian sarge in the Itanium IA-64 processor machine and we did it well. The installation would have been done by our seniors (who are the present administrators of TCENet). But in their absence, we did it with the help of our staff and an HP guy.

Initially, we had a problem of booting the system using HyperTerminal. Then, with the help of the HP guy, we booted the system and installed sarge in the server. After starting the installation, we were stuck with the partition phase (where we will stuck up often during our early times in Linux), because the server had 2 hard disks and had been raided. We removed those raided partitions and installed debian.

We learnt about a new partition called EFIboot (Extensible Firmware Interface). The IA-64 (Intel Architecture 64) architecture is more speed than the 32-bit architectures developed in co-operation by Intel and Hewlett Packard.

HOW TO USE telnet

December 8, 2006

TELNET (TELetype NETwork) is a network protocol used on the Internet or local area network LAN connections. The telnet I mention here is a software program which is used as an inteface for TELNET.

To use telnet, type the following command in the console.

First telnet to any host.

telnet hostname/IP port_number

Then to send message to anyone, do the following steps :

(Here, the port number to be selected is 25.)
mail from : Your mail address
rcpt to : Recepient’s mail address
subject : subject
from : your mail address

to : recepient’s mail address
Enter your message here

(Finally, put a dot to indicate the end of the message).

Now, your message would have been sent )

Note : The port number is selected according to your neccessity. For example, if you want to send mail to someone, select the port number as 25.

More updates will be done in this topic soon.