Extra kernel option for booting NVMe in Dell Precision T3420

I just got a new Dell Precision T3420 for testing RHEL6 installation on it.I had struggle for a few days as the nvme driver (0.10) that’s in kernel-2.6.32 is unable to handle the Interrupt remapping done by the BIOS, and keep throwing up error such as:

ERR kernel:dmar: DRHD: handling fault status reg 2
ERR kernel:dmar: INTR-REMAP: Request device [[02:00.0] fault index 26
ERR kernel:INTR-REMAP:[fault reason 38] Blocked an interrupt request due to source-id verification failure

RHEL6 still able to see the NVMe PCI SSD, but installation is not smooth and even booting up after installation the errors are still there.

I was seaching newer nvme driver for kernel-2.6.32 but can’t find any usable. RHEL7 with the newer nvme driver have no issue of installation.

Luckily, a colleague had done it previously told me that this is cause by interrupt remapping, and I should turn it off during installation and during boot.

Here is the extra option to be put in:

And here is an example of how grub.conf should looked like:
title Red Hat Enterprise Linux 6 (2.6.32-642.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/mapper/vg_t3420test-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_LVM_LV=vg_t3420test/lv_swap rd_NO_MD rd_LVM_LV=vg_t3420test/lv_root SYSFONT=latarcyrheb-sun16 rd_NO_DM rhgb quiet nointremap
initrd /initramfs-2.6.32-642.el6.x86_64.img

I wasn’t able to find anything about this online, so I thought I should write this down in my blog.

Hope this help someone else who face the same problem.

Cheers 😀

Posted in Linux | Tagged , , , , , | Leave a comment

My first post via email

WOW! Now only I realize that I can post to my wordpress by just writing to an email!

Yes … I know this is already well-known secret to many out there, but it is new to me 😀

I will try to consistently share what I learn weekly here or as often as I possible can.

Stay tune 😀

Posted in Uncategorized | Leave a comment

SSH tricks and tips

What is the most common tools you will be using when administrating Linux? I would say “ssh”, is the most common tools for any Linux administrator.

If you are going to admin Linux from Windows (yes, you can), then you will need a ssh client, like “Putty” installed in your MS Windows.  If you are going to admin Linux from Linux (the obvious choice), then ssh client most likely had been installed by default.  You can check by typing “ssh” in your shell prompt.

Here I will show you some basic usage of “ssh” and some simple tricks to get you started.

Tip 1 – Login

First and the fundamental usage of “ssh” is to login to another SSH server (which can be Linux/Unix, OS X, or Windows, or any other OS, as long as they running ssh server):

ssh <username>@<hostname>
ssh -l <username> <hostname>


Tip 2 – Passwordless login (with keys)

Another nice trick with ssh is that you can use public key to login instead of typing in password.  Before you can use public key for your login, you will first need to generate the keys and put the keys into the server you want to login (provided you have login there).

1. generate ssh private/public key pairs as rsa with 2048 bits:

ssh-keygen -t rsa -b 2048


Note: By default, the keypair will be generated in your home directory, in “.ssh” directory.

WARNING: Please type in a pass-phrase (pass-phrase is like password for the private keys) when prompt for added security to your private key.

2. pushing the public keys to remote server:

ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<hostname>


Note: You will be asked to key in password for the first time.  Please change the public key filename (id_rsa.pub) if you generated it to another filename.

Tip 3 – Login, execute and exit

You can use ssh login (especially passwordless) to execute command remotely quickly like this:

ssh <username>@<hostname> uptime


Tip 4 – Agent forwarding

This is a very useful ssh tricks when you want to jump from server A to server B directly from you desktop, which you cannot get to Server B from your desktop (due to firewall/security setting).  A details of how agent forwarding work is explained here by Steve Friedl.

Before you can do agent forwarding, you should have your public/private key generated.

High level steps:

1. Transfer your pubkey to Server A and Server B

2. Make sure Server A have agent forwarding setup in the configuration file (/etc/ssh/sshd_config):

AllowAgentForwarding yes

3. Type in the following command:

ssh -A -t -l <username> <Server A> “ssh -l <username> <Server B>”

Note: If the agent cannot be forward to Server B, it might prompt you for password.


Posted in blog, Linux | Tagged , , | Leave a comment

Wait … which Linux Distro to use?

I had been saying that as Linux SysAdmin, you should get yourselves familiar with a few tools:

  1. git
  2. scripting – BASH/Python

But which Linux Distro should you be using?  This really depends on you, and what you will be administrating and using in your environment.  Generally, most common Linux distribution can be categorized into (source from wikipedia):

  • Commercial or non-commercial;
  • Designed for enterprise users, power users, or for home users;
  • Supported on multiple types of hardware, or platform-specific, even to the extent of certification by the platform vendor;
  • Designed for servers, desktops, or embedded devices;
  • General purpose or highly specialized toward specific machine functionalities (e.g. firewalls, network routers, and computer clusters);
  • Targeted at specific user groups, for example through language internationalization and localization, or through inclusion of many music production or scientific computing packages;
  • Built primarily for securityusability, portability, or comprehensiveness.

As for me, I just categorized the common Linux Distributions into 3 types: deb or rpm or tarball (Linux Package Format): Debian, Red Hat or Slackware.  You can find the common Linux Distribution here.  If you want to get your hand dirty with the most popular Enterprise Linux Distro such as SUSE and Red Hat (Oracle Linux is just a derivative of Red Hat Enterprise Linux), then you should get yourselves familiar with RPM Linux Distro, such as OpenSuSE, CentOS or Fedora.

If you not too sure which 1 you will be administrating, then you should try out CentOS, which is very similar with Red Hat Enterprise Linux; but if you want to do more with newer technology, then you might want to try out Fedora.

But wait … what if you just want to try out and play around?  Then you can either using Live CD, such as CentOS or Ubuntu or many others other there.  If you prefer to live and play in your Windows, you can use:

  1. Virtual Box
  2. VMWare

There are lots of documents on how to setup a virtual environment in your MS Windows, while you try out Linux.

Have fun playing with Linux 😀

Posted in blog, Linux | Tagged | Leave a comment

Second thing to learn as Linux Sysadmin

As Linux sysadmin, you will require to do a lot of repetitive and soon to be boring things like:
1. create/delete user, and reset password
2. change configuration files
3. update systems
4. etc

Most of this tasks you can automate it via scripts or some configuration management systems such as puppet, chef, ansible and etc. But before you become Puppet Master, Chef, or etc, you will first need to do some basic scripting.

So, what you should start leaning is BASH and Python. If you got time, pick up ruby or some java as well (but is not essential).

You can learn BASH from the following links:
1. http://www.tldp.org/LDP/Bash-Beginners-Guide/html/
2. http://www.ibiblio.org/pub/linux/docs/HOWTO/Bash-Prog-Intro-HOWTO
3. http://www.tldp.org/LDP/abs/html/

As for Python, you might want to start with:
1. http://openbookproject.net/thinkcs/python/english2e/ (or get PDF version here)
2. http://www.diveintopython.net/
3. http://www.diveintopython3.net/
4. http://www.openbookproject.net/py4fun/

And most important, you need to get your hands dirty and start doing some scripts in BASH or Python.

Have fun scripting 😀

Posted in blog, Linux | Tagged , , | 1 Comment

First thing to do when you are FRESHLY system administrator

It had been awhile (more than 2 months) since I wrote anything here.  So, let me start my weekly update from today onward (and hopefully will be weekly, and not monthly.annually) 😀

Working as Linux System administrator (and sometimes called Linux System Engineer), I had written many BASH scripts to ease my daily routine.  I usually have 1 issue: HOW DO I KEEP IT UPDATE AND BACKUP!

So, let me tell you the first thing you need when you start your job as Linux System Administrator or just want to keep your documents/scripts/programs and etc, you should get a GIT repository setup.  Here is 2 sites that I used for my git repositories:

  1. http://www.bitbucket.org
  2. http://www.github.com

At first, I setup my account in github.com but I found that the free account doesn’t allow to create private git repository, which might be require if you don’t want to have your code to be share with public (yet) while still in development.

So, I registered a new account in bitbucket.org and have the repository set to “private”.

And if you want to quickly start on how to use git, then you can refer to here: http://git-scm.com/about

Have fun with your first git repository 😀

Posted in blog, Linux | Tagged , | 1 Comment

Chill at Starbucks

Starbucks had been open for almost 2 weeks, and today is the first time I am having a sip of Dark Mocha here 🙂

Surprisingly, there are a lot of people queuing up for coffee here


Posted in blog | Leave a comment