forevergenin little things in life matter

Life Lessons 101 - Memories

I always wondered what leads to those lifelong friendships ? The answer seems to lie in memories. The foundation for any good friendship/relationship is built by memories shared between people. The memory can be a fun one or a boring one, but spending time and making that memory is vital. A boring memory is better than no memory at all. Those shared memories create the bond and more memories leads to a stronger bond. The only catch is once you make them you can’t undo them. But that shouldn’t be the problem because, a boring memory is always better than no memory at all.

Bootstrapping CentOS rootfs for use with chroots/containers

We will see how to generate a rootfs tarball for redhat based system. Since we are targetting redhat based system, I am going to use debian based system (Ubuntu 17.10 64-bit - latest at the time of writing this post) as my host. We will generate rootfs tarball for CentOS 7 64-bit. The below mentioned steps are validated on Ubuntu 17.10 desktop installation. Lets get started As usual the first step, install the required dependecy packages which in our case is yum. sudo apt install yum Second, will prepare the required directory structure. In our example ~/work will be our working directory and we will install the CentOS 7 roofs in inside of work in a directory named centos7.

Bootstrapping a debian rootfs for use with chroots/containers

The aim this time is to setup a base rootfs for Ubuntu/Debian distro which can be used for setting up a chroot jail or to create a docker container base image. This blog is based on a earlier blog which I have written but forgot to publish around June, 2012. The below mentioned steps are validated on Fedora 25 Workstation installation. For setting up a debian based rootfs we need a tool called debootstrap. It’s available as part of EPEL repository for Fedora and other Redhat based distros. Make sure to always install the latest version of debootstrap. sudo dnf install debootstrap To setup a base rootfs you need to decide on the version of debian distro (wheezy, jessie, buster), the target architecture (i386 or amd64) and what kind of variant you want to setup.

Forwarding DNS server on Ubuntu 16.04

Goal We are looking to setup up a minimal forwarding DNS server on Ubuntu 16.04. After that we will see how to use nsupdate and dig to verify our configuration. Prerequisites A VM running Ubuntu 16.04 with BIND installed You need root access for the VM External DNS server information We are going to use google’s DNS servers (8.8.8.8 and 8.8.4.4) as our external servers. In case a query can’t be resolved by our DNS server it will forward the request to the external server. Domain information We need to know the domain topology we want our DNS server to manage.

Cross Compilation Checklist

This check-list tries to document the obvious, to reduce the time spent fixing toolchain related errors while cross compiling. Export the toolchain location to the PATH environment variable Set proper --sysroot for CFLAGS, CXXFLAGS and LDFLAGS Set proper PKG_CONFIG_SYSROOT_DIR, PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR for pkg-config tool. This is important for build scripts which use pkg-config to determine the proper build flags. Note: Use pkg-config >= 0.26 . There is bug with previous versions of pkg-config which ignores the PKG_CONFIG_SYSROOT_DIR value A sample configuration export __CB_TOOLCHAIN_DIR=/opt/cross-toolchain export __CB_TOOLCHAIN_SYSROOT=${__CB_TOOLCHAIN_DIR}/sysroot export PATH=${__CB_TOOLCHAIN_DIR}/bin:${PATH} export PKG_CONFIG_SYSROOT_DIR=${__CB_TOOLCHAIN_SYSROOT} export PKG_CONFIG_PATH=${PKG_CONFIG_SYSROOT_DIR}/usr/lib/pkgconfig export PKG_CONFIG_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}/usr/lib/pkgconfig export CFLAGS+="--sysroot=${__CB_TOOLCHAIN_SYSROOT} " export CXXFLAGS+="--sysroot=${__CB_TOOLCHAIN_SYSROOT} " export LDFLAGS+="--sysroot=${__CB_TOOLCHAIN_SYSROOT} " #export PKG_CONFIG_DEBUG_SPEW=true # this one is for debugging pkg-config Note : Need to update the post on how to cross compile packages which use autoconf tools

Distro independent Java development environment setup

Until few years back setting up Java development environment based on Sun/Oracle JDK was fairly a simple task. Since most of the linux distributions included Oracle/Sun JDK as part of their default package repository (here read as Canonical’s partner repository ;-)) it was as easy as installing any other core linux pacakge. But in recent times due to license restrictions Oracle JDK is not included in any of the linux distribution repositories by default. Setting up Java development environment manually from scratch on linux has become a tedious job (though still easier doing tha on Microsoft Windows). Nowadays I avoid doing it, given a chance to use a preconfigured virtual machines or chroot tar balls - created specifically for development/build requirements.

The Breakfast Club

Dear Mr. Vernon, we accept the fact that we had to sacrifice a whole Saturday in detention for whatever it was we did wrong. What we did was wrong. But we think you’re crazy to make us write an essay telling you who we think we are. You see us as you want to see us—in the simplest terms, in the most convenient definitions. But what we found out is that each one of us is a brain and an athlete and a basket case a princess and a criminal. Does that answer your question? Sincerely yours, the Breakfast Club.

Naruto comes to an end

Finally, after much deliberation I have decided to spend some time on maintaining a personal blog (more about this decision later). Now the question is what should be my first post? Much like most of the decisions I have made in my life I left this one as well to randomness and I stumbled upon this article at Kotaku. Though it was my first manga, the truth is I was not worried much about the end. In fact I felt a sense of relief considering the recent decline in the quality of Naruto storyline. Good or bad, all things must come to an end.