wesley tanaka

Remastering a Customized Ubuntu Live CD

‹ vmware modules | Dancing Telephone ›
()

The past few months, I've been trying to help my uncle customize a live CD to ship, along with a laptop, to my grandparents to use as an internet device. Though I've seen many people with pirated Chinese Windows Live CDs, and I'm sure I could phyiscally obtain one, that wouldn't work for way too many reasons, so I suggested Linux. Most of the calendar time so far has been spent bringing my uncle up to speed on installing linux on a partition on his computer so that he can produce the customized ISOs himself and what's going on in the customization process, but we've run into a problem with Ubuntu's resolution detection -- the Live CD produces an xorg.conf file that doesn't take advantage of the full resolution avaliable on the Inspiron LCD.

I tried overwriting the autogenerated xorg.conf by dropping a flie into /usr/share/initramfs-tools/scripts/casper-bottom, but after almost 10 reboots and various attempts at producing debugging output (touching files on the filesystem, casper logging output, etc), I can't tell if my script is running.  Looking in /var/log/casper.log, it seems like it doesn't get run.

I also tried overwriting it in /etc/rc.local, which works, but by comparing file and log timestamps, I discovered that /etc/rc.local gets run after X starts up, which doesn't help unless you're willing to kill X every time you boot the computer.

The scripts in casper-bottom call /sbin/usplash_write to log their messages. usplash is the framebuffer splash screen that shows when the Live CD is booting up (the one with the progress bar on it). I couldn't figure out if those messages were being logged anywhere either, so I just rebooted the ISO image without the "quiet" and "splash" boot options removed. Shift-Ctrl-Alt-F1 in VMWare and I could see the last lines produced during the boot process.

Which lead me to believe that the place I need to hook into is /etc/init.d...  Unlike in fedora, init doesn't display the current init level in the process table, and I can't immediately figure out how to query it...  I've read that the default init level is 2, so I'll try that.

Syndicate content