• Linux udev rule to create persistent device name

    udev is targeted at Linux kernels 2.6 and beyond to provide a userspace solution for a dynamic /dev directory, with persistent device naming. The previous /dev implementation, devfs, is now deprecated, and udev is seen as the successor. Background: udev and sysfs The original /dev directories were just populated with...


  • Make a high end UCS Server for fast build

    Cisco IOS has been growing significantly over the last ten years. The source code is reaching 10GB, and build time is taking long depending on the build machine capacity. To make development time efficient, it is critical to cut down the image build time. This week, I spent some time...


  • Marvell ARMADA 7K Linux boot using u-boot

    For the last few days, I have been working on build new image for a new platform at work. I found out it is useful to able to boot manually with kernel, dtb, initramfs from u-boot. By doing this, if the thing doesn’t work, we can change any one of...


  • Linux initrd and initramfs

    After Linux kernel boots, it looks for root file system, which can be initrd or initramfs. They are two different ways. initrd ramdev block device is created. It is a ram-based block device, that is a simulated hard disk that uses memory instead of physical disks. The initrd file is...


  • Linux Kernel image in different forms

    Linux kernel presents in different forms depending on the actual context. vmlinux vmlinux, the name comes from the fact that “linux” supports virtual memory. It is typically in ELF format, created by linker. This file is needed when debugging kernel. In order to boot linux kernel, vmlinux image has to...