Featured Post

Using USB CDMA modem to setup a home/private WiFi network

The idea here is to give a ‘how-to’ on setting up a a home WiFi network using mobile, CDMA based USB modem, hoping that bandwidth that you obtain from this service is satisfactory :-) Hardware Requirements: Linux PC/Notebook/Netbook Wifi Access point connected to ethernet port of the Linux box CDMA-1x USB Modem (Device used: Reliance M880) Software/OS Requirements: Linux Operating System with “usbserial” and “cdc_acm” device driver modules “pppd”, “wvdial”, “iptables”, and “dnsmasq” applications and their dependencies installed on the System Setup: The steps followed in setting up this CDMA based connectivity can be split into 3 steps, as follows. Configuring kernel modules for auto-loading at bootup Configuring “wvdial” application for dialup / ppp connection Initializing / starting the CDMA modem connection Setting up “iptables” for NAT forwarding Setting up “dnsmasq” for resolving DNS and as DHCP server Configuring kernel modules for auto-loading at bootup Open

How to extract an initrd image

Well, I had this often repeated problem of searching for how to extract an initrd image only to find that it is basically as cpio+gzip archive but, over a period of time forgetting it so that I come back searching for this again:-) Finally, I made up my mind to put in what all it takes to extract an initrd image in Linux and re-packing it after customization (not covered here, as customization depends on the need), here.

Unpacking the initrd image:
  1. Create an empty directory /tmp/initrd (this is an example; you are free to use any other directory name) and cd into it, using the following command (Replace /tmp/initrd with your directory name, if using a different directory name)
    
    mkdir -p /tmp/initrd;
    cd /tmp/initrd;
    
  2. Extract the initrd image using the following command
    
    gunzip absolute-path-to-initrd-image | cpio -i —make-directories
    
Now, the contents of the initrd image will be there in /tmp/initrd (or whatever directory you have used). Go ahead and do the necessary changes and you may follow the steps below to re-pack it into an initrd image again.

Packing the (custom) initrd image:
  1. Get into the directory where you have extracted the initrd image (/tmp/initrd in this example), using the command (Replace /tmp/initrd with your directory name, if using a different directory name)
    
    cd /tmp/initrd
    
  2. Pack the initrd image by using the command
    
    find ./ | cpio -H newc -o > /tmp/initrd.cpio && gzip /tmp/initrd.cpio && mv /tmp/initrd.cpio.gz /tmp/initrd.img
    
This will get you the (re)packed initrd image as /tmp/initrd.img (in this example). Now your custom initrd image is ready.

Comments

Popular posts from this blog

Using USB CDMA modem to setup a home/private WiFi network

Debian Squeeze and Mac OSX Lion - Dual boot