In Ubuntu 16.04, there is a bug in plymouth that it doesn’t automatically switch back when the boot process is finished. In fact, the splash screen is terminated and stayed in graphical terminal (VT7). Hence the user is stuck with a fsck screen output without login prompt that the user has to manually enter CTRL + ALT + Fn keys to login.
See this bug entry.
It takes me a while to come up with a workaround solution. Simply add the following line at the end of /etc/rc.local.
(sleep 1; chvt 1) &
However, I have no idea why simple ‘chvt 1’ won’t do the job but it works.
Ping packet is traditionally created as a raw packet and formatted into ICMP ECHO REQUEST. The problem with creating a raw socket requires root privilege. It is alright if the program is running as part of the system service under root anyway. However, running as a non privilege user, the program requires extra care by configuring the setuid bit which poses security risks e.g. the program may have memory leak which can be hijacked with shellcode.
Grub Failsafe boot
Set the boot failsafe prompt to have some timeout instead of indefinite wait
echo 'GRUB_RECORDFAIL_TIMEOUT=5' >> /etc/default/grub update-grub
Grub RecordFail boot
In some cases, a power outage can cause the Ubuntu stuck in the GRUB menu indefinitely in the next boot which causes headless system to hang. Here is more info of the issue. To avoid that, add the following line to /etc/default/grub:
Then runs update-grub. Alternatively, runs this command and it will remove the issue in the next boot.
Don’t ask when fs needs checking
echo 'FSCKFIX=yes' >> /etc/default/rcS
Automatic Check New Release
Apport – sending bug/crash reports
Postfix – Mail transfer agent
update-rc.d postfix disable
apt-check – periodic apt check
More to come when I find out more ….
I have to build a Ubuntu installer ISO using the kickstart utility but I need the installer to install a particular version of kernel. Here is the link for a quick guide on setting up Ubuntu kickstart. First, I added the following line into %packages section in the installer build script to install the target kernel package, ks.cfg: Read more
Suppose you need to bridge another network interface under your VM to a specific physical network port. First, you need to create a vmnet port and bind with that specific port. Here are the commands:
vmnet-bridge -n 2 -i eth1 -d /var/run/vmnet-bridge-2.pid -1vmnet2 mknod /dev/vmnet2 c 119 4 vmnet-netifup -d /var/run/vmnet-netifup-vmnet2.pid /dev/vmnet2 vmnet2 ifconfig vmnet2 up
I have been trying to create a simple splash screen and configure it with scrolling boot messages. However, there are very little online documentation and reference, brief introductions can be found at Plymouth themes: Fix, install, create in Ubuntu 10.04 (Lucid Lynx) and Software/Plymouth/Scripts. In here, I am documenting how to create the splash screen with scrolling messages. Read more
In Ubuntu 10.04, udevinfo is no longer available and I need to write a LiveCD tool to retrieve storage information (such as vendor, size, filesystem, label) from existing partitions (e.g /dev/sda1). So I cannot use the command lines anymore mentioned in my previous blog.
After a day of researching various tools and experiment parsing command line outputs. Eventually, I decide to use lshw to generate all the storage information and output into XML format. Then use xmlstarlet to extract specific device data. Read more
It’s about time for me to update the LiveCD product, AppQoS Live! (based on Ubuntu 8.04 Hardy) and move on to Lucid 10.04 as more newer hardware having trouble to work with.
I was following the LiveCDCustomizationFromScratch documentation to experiment Ubuntu 10.04 LiveCD. Then I hit a problem when I booted off from the created LiveCD. The boot screen just hangs. Switching to one virtual console, the last few messages on the screen are:
Begin: Running /scripts/init-bottom/ ... Done. init: ureadahead-other main process terminated with status 4 init: ureadahead-other main process terminated with status 4
For modifying the /etc/network/interfaces file, I use another script and it is slightly more complicated.
[ Modified 28/Nov/14 ] – Created a new github repository for this script
[ Modified 22/May/14 ] – Added feature to remove an interface definition