Archive for January, 2008

Forcefully remove Firestarter without IPTables kernel support

Wednesday, January 30th, 2008

I made the mistake of installing Firestarter on a system that had no kernel support for IPTables. In order to remove it I did the following.

Run this script:

rm -f -R /etc/firestarter
rm -f /etc/firestarter/firestarter.sh
rm -f -R /etc/init.d/firestarter
rm -f -R /root/.gnome2/firestarter
rm -f -R /root/.gconf/apps/firestarter
rm -f -R /usr/share/doc/firestarter
rm -f /usr/share/locale/fr/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ml/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/cs/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/sr@Latn/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/az/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ga/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/tr/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/lv/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/sq/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/no/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/pt_BR/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/pl/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ru/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/hr/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/es/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/hu/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/nl/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/da/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/en_GB/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/zh_TW/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/de/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/nb/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ko/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/sk/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/en_CA/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/sr/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/zh_CN/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/vi/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/el/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ja/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/uk/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/fi/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ro/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/sv/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/pt/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/pa/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/ca/LC_MESSAGES/firestarter.mo
rm -f /usr/share/locale/it/LC_MESSAGES/firestarter.mo
rm -f /usr/share/menu/firestarter
rm -f -R /usr/share/firestarter
rm -f /usr/share/pixmaps/firestarter.xpm
rm -f /usr/share/pixmaps/firestarter.png
rm -f /usr/share/gnome/apps/Internet/firestarter.desktop
rm -f /usr/share/man/man8/firestarter.8.gz
rm -f /usr/share/gconf/schemas/firestarter.schemas
rm -f /usr/sbin/firestarter
rm -f /var/lib/dpkg/info/firestarter.preinst
rm -f /var/lib/dpkg/info/firestarter.conffiles
rm -f /var/lib/dpkg/info/firestarter.prerm
rm -f /var/lib/dpkg/info/firestarter.md5sums
rm -f /var/lib/dpkg/info/firestarter.list
rm -f /var/lib/dpkg/info/firestarter.postinst
rm -f /var/lib/dpkg/info/firestarter.postrm

Then run the following commands:

sudo apt-get remove firestarter

It will now remove. This will save you from having to recompile the kernel to just unistall it. Die Firestarter! DIEEEEE!

Hierarchy of Information Technology Job Descriptions

Wednesday, January 30th, 2008

I decided to post some information on job descriptions and the hierarchy of the IT industry starting from top to bottom for Information Technology positions since that seems to be a common question I come across. Most of the information I obtained from the Occupational Outlook Handbook. I have it all organized and simplified here.

Chief information officers (CIO)

The CIO is responsible for the overall technological direction of their organizations. They are increasingly involved in the strategic business plan of a firm as part of the executive team. To perform effectively, they also need knowledge of administrative procedures, such as budgeting, hiring, and supervision. These managers propose budgets for projects and programs and make decisions on staff training and equipment purchases. They hire and assign computer specialists, information technology workers, and support personnel to carry out specific parts of the projects. They supervise the work of these employees, review their output, and establish administrative procedures and policies. Chief information officers also provide organizations with the vision to master information technology as a competitive tool.

Chief technology officers (CTOs)

Evaluate the newest and most innovative technologies and determine how these can help their organizations. The chief technology officer often reports to the organization’s chief information officer, manages and plans technical standards, and tends to the daily information technology issues of the firm. Because of the rapid pace of technological change, chief technology officers must constantly be on the lookout for developments that could benefit their organizations. Once a useful tool has been identified, the CTO must determine an implementation strategy and sell that strategy to management.

Management information systems (MIS) directors or information technology (IT) directors

Manage computing resources for their organizations. They often work under the chief information officer and plan and direct the work of subordinate information technology employees. These managers ensure the availability, continuity, and security of data and information technology services in their organizations. In this capacity, they oversee a variety of user services such as an organization’s help desk, which employees can call with questions or problems. MIS directors also may make hardware and software upgrade recommendations based on their experience with an organization’s technology.

Project managers

Develop requirements, budgets, and schedules for their firms’ information technology projects. They coordinate such projects from development through implementation, working with internal and external clients, vendors, consultants, and computer specialists. These managers are increasingly involved in projects that upgrade the information security of an organization.

Network Administrators

Design, install, and support an organization’s computer systems. They are responsible for local-area networks (LAN), wide-area networks (WAN), network segments, and Internet and intranet systems. They work in a variety of environments, including professional offices, small businesses, government organizations, and large corporations. They maintain network hardware and software, analyze problems, and monitor networks to ensure their availability to system users. These workers gather data to identify customer needs and then use the information to identify, interpret, and evaluate system and network requirements. Administrators also may plan, coordinate, and implement network security measures.

Systems Administrators

Systems Administrators are responsible for maintaining network efficiency. They ensure that the design of an organization’s computer system allows all of the components, including computers, the network, and software, to work properly together. Furthermore, they monitor and adjust the performance of existing networks and continually survey the current computer site to determine future network needs. Administrators also troubleshoot problems reported by users and by automated network monitoring systems and make recommendations for future system upgrades.

Computer security specialists

Plan, coordinate, and implement the organization’s information security. These workers educate users about computer security, install security software, monitor networks for security breaches, respond to cyber attacks, and, in some cases, gather data and evidence to be used in prosecuting cyber crime. The responsibilities of computer security specialists have increased in recent years as cyber attacks have become more common. This and other growing specialty occupations reflect an increasing emphasis on client-server applications, the expansion of Internet and intranet applications, and the demand for more end-user support.

Computer support specialists

Provide technical assistance, support, and advice to customers and other users. This occupational group includes technical support specialists and help-desk technicians. These troubleshooters interpret problems and provide technical support for hardware, software, and systems. They answer telephone calls, analyze problems by using automated diagnostic programs, and resolve recurring difficulties. Support specialists work either within a company that uses computer systems or directly for a computer hardware or software vendor. Increasingly, these specialists work for help-desk or support services firms, for which they provide computer support to clients on a contract basis.

Technical support specialists

Respond to inquiries from their organizations’ computer users and may run automatic diagnostics programs to resolve problems. They also install, modify, clean, and repair computer hardware and software. In addition, they may write training manuals and train computer users in how to use new computer hardware and software. These workers also oversee the daily performance of their company’s computer systems and evaluate how useful software programs are.

Help-desk technicians

Respond to telephone calls and e-mail messages from customers looking for help with computer problems. In responding to these inquiries, help-desk technicians must listen carefully to the customer, ask questions to diagnose the nature of the problem, and then patiently walk the customer through the problem-solving steps.

Help-desk technicians deal directly with customer issues and companies value them as a source of feedback on their products. They are consulted for information about what gives customers the most trouble, as well as other customer concerns. Most computer support specialists start out at the help desk.

Recompile the EeePC Xandros Linux Kernel

Thursday, January 24th, 2008

EEEPC 2GB of Memory topI finally took the time to recompile my EeePC Kernel to include highmem or memory over 1GB. I have the kernel recompiled to support up to 4GB but the EeePC bios only supports up to 2GB. In this article I will show you how it is done, how to do it yourself, and how to take the easy way out and use my pre-compiled kernel. You may also want iptables in your kernel for a firewall. I show you how to add that as well.

STEP 1 (Backup your EeePC):

YOU CAN SKIP THIS STEP IF YOU DON’T CARE TO BACKUP YOUR SYSTEM. IF YOU CHOOSE NOT TO BACKUP AND YOU BRICK YOUR EEE OS YOU WILL HAVE TO RESTORE FROM THE EEEPC CD-ROM. FOR THAT YOU WILL NEED A EXTERNAL USB CD-ROM OR FLASH DEVICE

You may backup your entire SSD by running the (dd) command with (/dev/sda) or individual partitions on your sda. There are 4 individual partitions located on the SSD and they are (sda1, sda2, sda3, and sda4).

My MMC-SD 16GB is using the vfat filesystem. I am mainly concerned with backing up (sda1, and sda2) which sda1=system partition and sda2=user partition because these are the partitions I will be working with and I don’t want to loose my personal settings that I have accumulated over it’s 3 months of use. These locations will differ when you boot to a external distro as seen below. Below will show you how to backup your entire SSD including the partitioning. EVERY BIT.

TO BACKUP INFORMATION TO MMC-SD:

- Create a usb bootable flash stick using slax linux or knoppix

SLAX USB installation tutorial (Using Windows): (Source: Pendrivelinux Slax)

Knoppix USB installation tutorial (Using Windows): (Source: Pendrivelinux Knoppix)

If you prefer to use linux to create a bootable system on USB or Flash use this instead: (Source: Pendrivelinux Knoppix 2)

-Reboot. Press [Esc] at startup and select (USB:NAME OF DEVICE) in my case it is: (USB:SanDisk Cruzer Mini)

-(I used Slax) Once in slax login with: USERNAME: root PASSWORD:toor

-Your USB flash stick and MMC-SD card will be automounted.

-In my case, using the “mount” command I found my SSD at “/dev/hdc” and my MMC-SD at “/dev/sda1″. “/dev/sda1″ is automounted at: “/mnt/sda1_removable”

-To backup my SSD to the MMC-SD I ran:

dd if=/dev/hdc of=/mnt/sda1_removable/eeebackup.img

If you ever have to restore it, just boot back to Slax and run:

dd if=/mnt/sda1_removable/eeebackup.img of=/dev/hdc

It will take a little while to back up the SSD. In my case, it took 2480.21 seconds (41 Minutes) at 1.6 MB/s.

Now that all your hard work has been backed up it is time to start gathering.

STEP 2 (Install Repos and Dependencies):

- begin by following my article on installing repos and apt pinning.
(http://ruckman.net/tech/2007/08/17/eeepc-xandros-added-repositories/)

-Run the following:

apt-get update

apt-get upgrade

apt-get install build-essential gcc cpp libc6-dev libncurses5-dev

STEP 3 (Install Single User Mode):

NOTE: You will need to know how to use the ‘vi’ editor. Tutorial here:

(http://unix.t-a-y-l-o-r.com/Vbasics.html)

Turn on eeePC and hit F9 until GRUB bootloader appears

press ‘e’ to edit the normal boot option

Now you’ll see a screen showing the Grub entries associated with that boot choice. Scroll down to the one that starts with “kernel /boot/vmlinuz….” and then again press the ‘e’ key to edit this line.

Now you’ll be taken to an editor screen that shows you the end of the line you were previously looking at. Add the following to that line: XANDROSBOOTDEBUG=y and then press Enter. You’ll be taken back to the screen showing the 3 lines for this boot option.

Now press ‘b’ to boot. You’ll be taken to a BusyBox shell, with root permissions.

Installing rescue mode (Single User Mode) is simply the process of adding another entry to the Grub boot menu, so you don’t have to make the edits we previously described each time you want to enter single-user mode.

You need to edit the file /boot/grub/menu.lst, and you need to do it as root, and you need to do it single-user mode. So, follow the previous instructions to start single-user mode, then mount /dev/sda1 on /mnt-system:

mount /dev/sda1 /mnt-system

Then use vi to edit /mnt-system/boot/grub/menu.lst:

vi /mnt-system/boot/grub/menu.lst

After opening the file, you’ll see three entries. Type the following entry after the first entry:

title Rescue Console

root (0×80,0)

kernel /boot/vmlinuz-2.6.21.4-eeepc quiet rw irqpoll root=/dev/sda1 XANDROSBOOTDEBUG=y

initrd /boot/initramfs-eeepc.img

(Be careful about the numbers - if the other entries in menu.lst do not have 2.6.21.4, use the one they use.)

Now save your file and close the editor (using Esc :wq in vi). Then power down the Eee PC. Next time you need Rescue Mode, you can select this option.

STEP 4 (Obtain and compile the kernel):
Asus has made the kernel source for the stock hardware available here:

(http://support.asus.com/download/Download.aspx?SLanguage=en-us)

I downloaded and uncompressed it, installing it to /usr/src. (dpkg -i linux-source-2.6.21.4-eeepc_5_all.deb) then extract the files. (tar -xjf linux-source-2.6.21.4-eeepc.tar.bz2)

I got the original kernel configuration file from /boot/config-2.6.21.4-eeepc, and copied this to /usr/src/linux-source-2.6.21.4-eeepc/.config, and ran:

make oldconfig

make prepare

make scripts

I then opened up the config file in a text editor and changed the following:

CONFIG_LOCALVERSION to:

CONFIG_LOCALVERSION=”-eeepc-HIGHMEM”

CONFIG_NOHIGHMEM to:

# CONFIG_NOHIGHMEM is not set

I changed the CONFIG_HIGHMEM4G to:

CONFIG_HIGHMEM4G=y

You may now save that file and run the following command:

make menuconfig

You can accept the defaults or for a more advanced configuration you can add or remove kernel modules. For instance if you wanted iptables you could add netfilter.

For IPTABLES (Netfilter) do make menuconfig and enable “networking > networking options > network packet filtering framework (netfilter)”

And then in the netfilter sub options enable all iptables options as a module <M>.

Device drivers (A list to help you for iptables)

  • Networking support
    • [y] Networking support
    • Networking options
      • Network packet filtering
        • [y] Network packet filtering
        • IP: Netfilter Configuration (*)
          • [y/m] Connection tracking
          • [y/m] IP tables support
          • [y/m] Connection state match support
          • [y/m] Connection tracking match support
          • [y/m] Packet filtering
          • [y/m] Full NAT
          • [y/m] LOG target support

FINALLY!

Compile the new kenel (This will take a while):

make bzImage

make modules

make modules_install

Because I changed the name of the “local version”, the modules got copied to a new sub-directory of /lib/modules. If you don’t change the name, and you use the stock source, your existing modules will be overwritten, and this will have weird events when you try to boot your old kernel that will try unsuccessfully to use the new modules.

Note also that I DID NOT run ‘make install’ to put the kernel in /boot!

STEP 5 (Install the kernel):

reboot and switch to single user mode:

Mount the partitions:

mount /dev/sda1 /mnt-system

mount /dev/sda2 /mnt-user

Copy your new kernel to its new home:

cp /mnt-user/usr/src/linux-source-2.6.21.4/arch/i386/boot/bzImage /mnt-system/boot/vmlinuz-2.6.21.4-eeepc-HIGHMEM

edit grub to add new kernel.

vi /mnt-system/boot/grub/menu.lst

Add the following:

title Nornal Boot Highmem

root(0×80,0)

kernel /boot/vmlinuz-2.6.21.4-eeepc-HIGHMEM quiet rw vga=785 irqpoll i8042.noloop=1 root=/dev/sda1

initrd /boot/initramfs-eeepc.img

Also change the default to a different number if needed. 0 would equal the first entry, 1 the second entry to boot by default and so on.
Save the file and return to the root directory.

Unmount the filesystem:

umount /mnt-system
umount /mnt-user

Reboot to test your new kernel.

You also may run into wifi driver issues after a recompile. You can do the following to help resolve them. This will install the updated Madwifi drivers:

wget ‘http://snapshots.madwifi.org/special/madwifi-ng-r2756+ar5007.tar.gz’
tar zxvf madwifi-ng-r2756+ar5007.tar.gz
cd madwifi-ng-r2756+ar5007
make clean
make
sudo make install
reboot

THE EASY WAY:

Now that you have done all that compiling and installing, if you have a 701 4G like me, you can just download my precompiled kernel and do STEP 5. ENJOY!

HIGHMEM KERNEL DOWNLOAD 701 4G KERNEL 2.6.21.4

Note: The easy install kernel supports up to 4GB of memory, but does not support iptables (Netfilter)! Netfilter requires additional modules to be installed which means you must compile the kernel yourself to get iptables working. You must compile and install the additional modules using menuconfig as listed in the steps above. Hopefully Asus will send a update to include iptables in the future for those who are too faint of heart to attempt a kernel recompile on their own.