I need to create a customised version of Ubuntu LiveCD to install our company software onto rackmount servers. The product requires simple text input and messages dialogs after the boot process. The obvious solution is to use the Linux tool, dialog, for this purpose and run the dialog script in /etc/rc.local.
However, the dialog doesn’t appear to the console screen. This is because the init process (which starts the rc scripts) sends the output to different terminal which ends up in /var/log/boot.log
In order to make sure you dialog script is interacting with the actual console display, make sure the dialog command is outputting to /dev/console. For example:
dialog --title "Check ID" --inputbox "Please type in your ID" 12 50 > /dev/console 2>id
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. Read more
It is pretty straightforward to setup permanent network configuration on Ubuntu 8.04. All you need is to edit /etc/network/interfaces file and a very thorough tutorial is given in http://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/ to show you how manually edit for DHCP, static and promiscuous mode. However, I cannot find any command line utility for configuring permanent network setup.
So here are couple awk scripts for reading and writing /etc/network/interfaces file. I hope someone will find it useful, especially for integrating with other programs. Read more
I have been trying to install Ubuntu 8.04 LTS on a Compact Flash card and boot from it. At first, I thought the whole exercise would be straightforward. The hardware I use is a Jetway Mini-ITX J7F2 board connected with a daughter board AD3RTLAN-G which provides 3 extra Gigabits ethernet ports. The chassis is a LinITX M200 with a 20 x 2 USB LCD front panel, 2 x USB ports and a CF reader which connects to the IDE bus and a pico power supply. Here is a photo of it. Read more
On Ubuntu 64 bits, when you run ‘file /core’, it doesn’t show the executable file generated the core file.
You can use gdb -c to show the executable file. However, that invokes gdb to be interactive and not appropriate for integrating into shell scripts which I need to. The workaround for it is to use –batch which turns gdb into non-interactive.