EmbLogic's Blog

Author Archives: John McArthur

broadcom wireless (wifi) driver installation process

For Broadcom BCM4301 BCM4303 BCM4306 BCM4309 BCM4311 BCM4312 BCM4318 Install b43-fwcutter. This is the software package that does the extraction of the firmware from the proprietary driver. Code: [root]#su – [root]yum install b43-fwcutter Determine which native driver is being used … Continue reading

Posted in Uncategorized | 3 Comments

SELinux

If SELinux is enabled, the policy defines what access to resources and operations on them (e.g. read, write) are allowed (i.e. SELinux stops all access unless allowed by policy). This is why SELinux is called a ‘mandatory access control’ (MAC) … Continue reading

Posted in Uncategorized | 3 Comments

MODULE_DEVICE_TABLE Macro

This Macro is used by all USB and PCI drivers. This macro describes which devices each specific driver can support. At compilation time, the build process extracts this information out of the driver and builds a table. The table is … Continue reading

Posted in Uncategorized | 1 Comment

Symbols From Another External Module (Module.symvers)

Sometimes, an external module uses exported symbols from another external module. kbuild needs to have full knowledge of all symbols to avoid spitting out warnings about undefined symbols. Three solutions exist for this situation. NOTE: The method with a top-level … Continue reading

Posted in Uncategorized | 1 Comment

Install gnome desktop environment from terminal

At terminal you just have to type single line [root@localhost ~]# yum groupinstall “GNOME Desktop Environment” and then you’ll be provided with a lots of packages to download . Say yes to it. ANd BRAVO… you just turned on the … Continue reading

Posted in Uncategorized | Leave a comment

Static an Dynamic power dissipation

The amount of power that a chip dissipates per unit area is called its power density, and there are two types of power density that concern processor architects: dynamic power density and static power density. Dynamic Power Density Each transistor … Continue reading

Posted in Uncategorized | Leave a comment

Install KDE Plasma Workspaces

To install KDE Plasma Workspaces using the command line, execute the following as root: # yum install @kde-desktop

Posted in Uncategorized | Leave a comment

Recover deleted files in Linux

  Scalpel This is a filesystem-independent recovery tool for Linux and Mac OS, which you can also run on Windows by compiling it with MinGW. The latest version is 2.0. Install it in Fedora with # yum install scalpel. Next … Continue reading

Posted in Uncategorized | Leave a comment

MEMORY BARRIERS

Memory barriers are instructions to both the compiler and the CPU to impose a partial ordering between the memory access operations specified either side of the barrier. Older and less complex CPUs will perform memory accesses in exactly the order … Continue reading

Posted in Uncategorized | Leave a comment

Optimization in GCC

Levels of Optimization Let’s first look at how GCC categorizes optimizations and how a developer can control which are used and, sometimes more important, which are not. A large variety of optimizations are provided by GCC. Most are categorized into … Continue reading

Posted in Uncategorized | 2 Comments

Anatomy of a Device Driver

A device driver has three sides: one side talks to the rest of the kernel, one talks to the hardware, and one talks to the user. In order to talk to the kernel, the driver registers with subsystems to respond … Continue reading

Posted in Uncategorized | Comments Off

Block driver : Disk On RAM

-> Load the driver using insmod. This would create the block device files representing the disk on 512 KiB of RAM, with three primary and three logical partitions. –> Check out the automatically created block device files (/dev/sd*). /dev/sdb is … Continue reading

Posted in Uncategorized | Leave a comment

The gendisk interface in Block driver

In 2.6 kernel the gendisk is at the core of the block subsystem; if you need to work with or find something out about a disk, struct gendisk probably has what you need. The best way of looking at the … Continue reading

Posted in Uncategorized | Leave a comment

cvs server:cannot open /root/.cvsignore: Permission denied OR cvs [server aborted]: can’t chdir(/root):Permission denied

–>then you probably haven’t specified ‘-f’ in ‘inetd.conf’. –>In releases prior to CVS 1.11.1, this problem can be caused by your system setting the $HOME environment variable for programs being run by xinetd. In this case, you can either have … Continue reading

Posted in Uncategorized | Leave a comment

What are init 0, init 1, init 2 ,init 3, init 4, init 5, init 6, init s, init S

There are basically 8 runlevels in unix. Run Level: At any given time, the system is in one of eight possible run levels. A run level is a software configuration under which only a selected group of processes exists. Processes … Continue reading

Posted in Uncategorized | Leave a comment