tag:blogger.com,1999:blog-189390112009-07-11T00:37:43.805-04:00:: Linux tune-up ::<br>
Settings, configuration files, tweaks, etc. for (K/X)Ubuntu
<br><br>
I have used GNU/Linux on and off since 1999. On 2005-11-08 I made Ubuntu 5.10 "Breezy Badger" my primary system. There is no going back.Obi Boknoreply@blogger.comBlogger51125tag:blogger.com,1999:blog-18939011.post-40085854734903206172007-08-19T11:05:00.000-04:002007-08-19T11:07:59.100-04:00CD/DVD eject - disable lock<div style="overflow: auto;"><code><br />#sudo echo "dev.cdrom.lock=0" >> /etc/sysctl.conf<br /></code></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-4008585473490320617?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-64444678379978252932007-05-26T19:47:00.000-04:002007-09-05T01:11:40.137-04:00kqemu - backport from 'feisty' to 'dapper'<span></span><br />Edit apt sources:<br /><div style="overflow: auto;"><code><br />#sudo vi /etc/apt/sources.list<br /></code></div><br />--8<--<i><br /><nobr><div style="overflow: auto;"><code>## Ubuntu source packages for backporting to older releases<br />deb-src http://mirrors.easynews.com/linux/ubuntu feisty main restricted universe</code></div></nobr></i>-->8--<br /><br /><br />Update, build dependencies and install:<br /><div style="overflow: auto;"><code><br />#sudo aptitude update<br />#sudo apt-get build-dep kqemu<br />#sudo apt-get source --build kqemu<br />#sudo dpkg -i *.deb<br />#sudo module-assistant prepare kqemu<br />#sudo module-assistant auto-install kqemu<br /></code></div><br /><br />Edit <i>udev</i> rules:<br /><div style="overflow: auto;"><code><br />#sudo vi /etc/udev/rules.d/60-kqemu.rules<br /></code></div><br />--8<--<i><br />KERNEL=="kqemu", NAME="%k", MODE="0660", GROUP="kqemu"<br /></i>-->8--<br /><br /><br />Edit 'kqemu' <i>modprobe.d</i> options:<br /><div style="overflow: auto;"><code><br />#sudo vi /etc/modprobe.d/kqemu<br /></code></div><br />--8<--<i><br />options kqemu major=0<br /></i>-->8--<br /><br /><br />Add user and group:<br /><div style="overflow: auto;"><code><br />#sudo addgroup --system kqemu<br />#sudo adduser <i>your_username</i> kqemu<br /></code></div><br /><br />Load 'kqemu' kernel module:<br /><div style="overflow: auto;"><code><br />#sudo modprobe kqemu<br /></code></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-6444467837997825293?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-7868368912408311262007-05-21T11:23:00.000-04:002007-05-26T19:47:00.811-04:00qemu<span></span><br />Create a virtual HDD:<br /><div style="overflow: auto;"><code><br />#qemu-img create hda.img 5G<br /></code></div><br /><br />Set 512MB of virtual memory, allow access to a virtual HDD and boot from a virtual CD using an ISO file:<br /><div style="overflow: auto;"><code><br />#qemu -m 512 -hda hda.img -cdrom ubuntu-7.04-desktop-i386.iso -boot d<br /></code></div><br /><i>-boot a, c, d</i> = floppy drive, hard drive, optical drive respectively<br /><i>-no-kqemu</i> = if kqemu kernel module not present<br /><br /><br />Boot from a virtual HDD:<br /><div style="overflow: auto;"><code><br />#qemu -m 512 -hda hda.img<br /></code></div><br /><br />Convert a "RAW" HDD image to a "QCOW" compressed image:<br /><div style="overflow: auto;"><code><br />#qemu-img convert -c hda.img -O qcow harddiskimage.img<br /></code></div><br /><br />Check image type:<br /><div style="overflow: auto;"><code><br />#qemu-img info hda.img<br /><br /><i>image: hda.img<br />file format: raw<br />virtual size: 5.0G (5368709120 bytes)<br />disk size: 2.3G</i><br /></code></div><br /><div style="overflow: auto;"><code><br />#qemu-img info harddiskimage.img<br /><br /><i>image: harddiskimage.img<br />file format: qcow<br />virtual size: 5.0G (5368709120 bytes)<br />disk size: 891M</i><br /></code></div><br /><br /><i>CTRL+ALT+2</i> = qemu console<br /><br />Save virtual memory state:<br /><div style="overflow: auto;"><code><br /><i>(qemu) savevm dump.img</i><br /></code></div><br />Load virtual memory state:<br /><div style="overflow: auto;"><code><br /><i>(qemu) loadvm dump.img</i><br /></code></div><br /><br /><i>CTRL+ALT+1</i> = qemu main screen<br /><br />Start qemu using a hard drive image and restore saved memory state:<br /><div style="overflow: auto;"><code><br />#qemu -m 512 -hda hda.img -loadvm dump.img<br /></code></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-786836891240831126?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-51009571472793506512007-04-30T11:52:00.001-04:002009-02-15T09:02:23.244-05:00PDF electronic signature<span></span><br />Required tools:<br /><ul><li>imagemagick<br /><li>pdftk</ul><br />1. Split multi-page PDF into single pages.<br /><div style="overflow: auto;"><code><br />#pdftk offer.pdf burst<br />#ls<br />pg_0001.pdf pg_0002.pdf pg_0003.pdf pg_0004.pdf<br /></code></div><br /><br />2. Convert the signature page to an image.<br /><div style="overflow: auto;"><code><br />#convert -density 200 pg_0004.pdf pg_0004.png</code></div><br />Experiment with <i>-density</i> to get the best quality.<br /><br /><br />3. Sign a blank sheet of paper. Take a picture with a digicam. Edit the document image with your favourite image manipulation application (I used <i>KolourPaint</i>) and add your signature.<br /><br /><br />4. Convert the image back to PDF.<br /><div style="overflow: auto;"><code><br />#convert pg_0004.png pg_0004_sig.pdf<br /></code></div><br /><br />5. Merge all pages into a single document.<br /><nobr><div style="overflow: auto;"><code><br />#pdftk pg_0001.pdf pg_0002.pdf pg_0003.pdf pg_0004_sig.pdf cat output offer_sig.pdf<br /></code></div></nobr><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-5100957147279350651?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com1tag:blogger.com,1999:blog-18939011.post-83346714527950759552007-04-23T15:27:00.000-04:002007-08-19T11:33:24.206-04:00DPI - change from 75 to 96<span></span><br />There is no one standard DPI. It is actually determined based on monitor size values from DDC given the screen resolution. If DDC does not specify the size, 75 DPI is used by default.<br /><br />Unlike GNOME, KDE does not force DPI anywhere in its settings. So, when you run KDE and GNOME applications side by side, the font sizes will differ.<br /><br />When I switch from "nvidia" to the binary "nv" driver, it always sets 75 DPI for my BenQ FP731. To force 96 DPI which will produce consistent font sizes for GNOME, KDE, XFCE and all other applications, I need to edit the display manager's configuration.<br /><br />Here is how to do it in Xubuntu:<br /><nobr><div style="overflow: auto;"><code><br /><b>#sudo vi /etc/X11/gdm/gdm-cdd.conf</b><br /><br />--8<--<br /># Definition of the standard X server.<br />[server-Standard]<br />name=Standard server<br />command=/usr/bin/X -br -audit 0 <b style="color:red;">-dpi 96</b><br />-->8--<br /></code></div></nobr><br /><br />To do it the really easy way using the GDM setup GUI tool:<br /><nobr><div style="overflow: auto;"><code><br /><b>#sudo gdmsetup</b></code></div></nobr><br />Add the DPI setting in Security > Configure X Server > Command.<br /><br /><br />The same for KDE greeter:<br /><nobr><div style="overflow: auto;"><code><br /><b>#sudo vi /etc/kde3/kdm/kdmrc</b><br /><br />--8<--<br />[X-:*-Core]<br />AllowNullPasswd=true<br />AllowShutdown=All<br />NoPassEnable=false<br />NoPassUsers=<br />ServerArgsLocal=-nolisten tcp <b style="color:red;">-dpi 96</b><br />ServerCmd=/usr/X11R6/bin/X -br<br />-->8--<br /></code></div></nobr><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-8334671452795075955?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-36782634899892768732007-04-23T13:53:00.000-04:002007-04-30T14:24:41.725-04:00nVIDIA binary driver freq fix (Feisty)<span><span><br />When some people switch to the nVIDIA binary driver ("nvidia" as opposed to "nv"), they can no longer access their desktop. For example, my old BenQ FP731 LCD goes black&blank and displays "Out of range".<br /><br />Here is the <b style="color:red;">fix</b>:<br /><nobr><div style="overflow: auto;"><code><br /><b>#vi /etc/X11/xorg.conf</b><br /><br />Section "Device"<br /> Identifier "nVidia Corporation NV34 [GeForce FX 5200]"<br /> Driver "nvidia"<br /> Busid "PCI:1:0:0"<br /> Option "AddARGBVisuals" "True"<br /> Option "AddARGBGLXVisuals" "True"<br /> Option "NoLogo" "True"<br /> <b style="color:red;">Option "UseEdid" "False"</b><br /> #Option "UseEdidDpi" "False"<br /> #Option "DPI" "96 x 96"<br />EndSection<br /></code></div></nobr><br />The "UseEdidDpi" and "DPI" options can be used to set the DPI to 96. These settings are specific to nVIDIA gfx chips but there is another way to set a sane DPI...<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-3678263489989276873?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-18248833586307371142007-04-06T14:37:00.001-04:002007-04-06T14:41:08.415-04:00Airlink101 AWLL3026 wireless USB adapter<span></span><br />Created <a href="https://help.ubuntu.com/community/WifiDocs/Device/Airlink101_AWLL3026">Ubuntu wiki</a> instead of posting here.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-1824883358630737114?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1173047927246481022007-03-04T17:37:00.000-05:002007-03-19T02:14:10.458-04:00Aliases: ls, cp, mv, rm, less<nobr><br /># vi ~/.bashrc<br /><div style="overflow: auto;"><code><br />alias ll='ls -l'<br />alias la='ls -A'<br /><br /># F=classify (append file type indicators), p=append directory indicator,<br /># s=print file sizes, h=sizes human readable, C=list by columns,<br /># 1=list in single column, X=sort by extension, S=sort by size,<br /># t=sort by modification time, u=sort by access time, r=reverse sort<br />#alias l='ls -psh1X'<br />alias l='ls -FshC'<br /><br />alias cp='cp -iv'<br />alias mv='mv -iv'<br />alias rm='rm -iv'<br /><br /># don't overwrite files when redirecting output<br />set -o noclobber<br /><br /># g=highlight search, I=ignore case, M=long prompt,<br /># S=chop long lines (don't fold/wrap), Q=quiet (no bell),<br /># w=highlight first unread line after scroll, ~=don't show tilde at EOF,<br /># #n=shift n step(s) when scrolling horizontally<br />alias less='less -gIMSQW~#2'<br /></code></div><br /></nobr><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-117304792724648102?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1163902225011579752006-11-18T20:24:00.000-05:002006-11-18T22:29:03.266-05:00Backport 'MPD' to Dapper using Edgy source package<nobr><br /># sudo -i<br /># vi /etc/apt/sources.list<br /><div style="overflow:auto;"><code><br />deb-src http://mirrors.kernel.org/ubuntu/ edgy universe<br /></code></div><br /># apt-get update<br /># apt-get build-dep mpd<br /># apt-get source --build mpd<br /># dpkg -i mpd_0.12.1-1ubuntu1_i386.deb<br /></nobr><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116390222501157975?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1163655111382701182006-11-16T00:24:00.000-05:002006-11-18T19:12:56.083-05:00Compile 'darkice' with mp3 support<nobr><br /># sudo apt-get install liblame-dev<br /># sudo vi /etc/apt/sources.list<br /><div style="overflow:auto;"><code><br /><span style="font-weight:bold;">deb-src</span> http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse<br /></code></div><br /># sudo apt-get update<br /># sudo apt-get build-dep darkice<br /><br /># vi darkice-0.16/debian/rules<br /><div style="overflow:auto;"><code><br />#!/usr/bin/make -f<br />include /usr/share/cdbs/1/rules/debhelper.mk<br />include /usr/share/cdbs/1/class/autotools.mk<br /><br />DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/usr --sysconfdir=/usr/share/doc/darkice/examples <span style="font-weight:bold;">--with-lame</span><br /></code></div><br /><br /># sudo apt-get source --build darkice<br /># sudo dpkg -i darkice_0.16-1_i386.deb<br /></nobr><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116365511138270118?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com1tag:blogger.com,1999:blog-18939011.post-1163395102749695912006-11-13T00:14:00.000-05:002006-11-18T13:24:49.876-05:00Chaintech AV-710 (VIA ICEnsemble Envy24HT-S VT1721) digital optical output SPDIF<span></span><br /><code># sudo vi /var/lib/alsa/<a href="http://www.vandemar.org/asound.state">asound.state</a></code><br /><div style="overflow:scroll; height:8em;"><br />state.AV710 {<br /> control.1 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Master Playback Switch'<br /> value true<br /> }<br /> control.2 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Master Playback Volume'<br /> value.0 15<br /> value.1 15<br /> }<br /> control.3 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Center Playback Switch'<br /> value false<br /> }<br /> control.4 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Center Playback Volume'<br /> value 0<br /> }<br /> control.5 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'LFE Playback Switch'<br /> value false<br /> }<br /> control.6 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'LFE Playback Volume'<br /> value 0<br /> }<br /> control.7 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 2<br /> iface MIXER<br /> name 'Surround Playback Switch'<br /> value.0 false<br /> value.1 false<br /> }<br /> control.8 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Surround Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.9 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Headphone Playback Switch'<br /> value false<br /> }<br /> control.10 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Headphone Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.11 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Master Mono Playback Switch'<br /> value false<br /> }<br /> control.12 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Master Mono Playback Volume'<br /> value 0<br /> }<br /> control.13 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'PC Speaker Playback Switch'<br /> value false<br /> }<br /> control.14 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 15'<br /> iface MIXER<br /> name 'PC Speaker Playback Volume'<br /> value 0<br /> }<br /> control.15 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Phone Playback Switch'<br /> value false<br /> }<br /> control.16 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Phone Playback Volume'<br /> value 0<br /> }<br /> control.17 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Mic Playback Switch'<br /> value false<br /> }<br /> control.18 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Mic Playback Volume'<br /> value 0<br /> }<br /> control.19 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Mic Boost (+20dB)'<br /> value false<br /> }<br /> control.20 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Line Playback Switch'<br /> value false<br /> }<br /> control.21 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Line Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.22 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'CD Playback Switch'<br /> value false<br /> }<br /> control.23 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'CD Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.24 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Video Playback Switch'<br /> value false<br /> }<br /> control.25 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Video Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.26 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Aux Playback Switch'<br /> value false<br /> }<br /> control.27 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'Aux Playback Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.28 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'PCM Playback Switch'<br /> value true<br /> }<br /> control.29 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 31'<br /> iface MIXER<br /> name 'PCM Playback Volume'<br /> value.0 15<br /> value.1 15<br /> }<br /> control.30 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 2<br /> comment.item.0 Mic<br /> comment.item.1 CD<br /> comment.item.2 Video<br /> comment.item.3 Aux<br /> comment.item.4 Line<br /> comment.item.5 Mix<br /> comment.item.6 'Mix Mono'<br /> comment.item.7 Phone<br /> iface MIXER<br /> name 'Capture Source'<br /> value.0 Mix<br /> value.1 Mix<br /> }<br /> control.31 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Capture Switch'<br /> value true<br /> }<br /> control.32 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 2<br /> comment.range '0 - 15'<br /> iface MIXER<br /> name 'Capture Volume'<br /> value.0 0<br /> value.1 0<br /> }<br /> control.33 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name '3D Control - Switch'<br /> value false<br /> }<br /> control.34 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 Mix<br /> comment.item.1 Mic<br /> iface MIXER<br /> name 'Mono Output Select'<br /> value Mix<br /> }<br /> control.35 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 Mic1<br /> comment.item.1 Mic2<br /> iface MIXER<br /> name 'Mic Select'<br /> value Mic1<br /> }<br /> control.36 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 15'<br /> iface MIXER<br /> name '3D Control - Center'<br /> value 0<br /> }<br /> control.37 {<br /> comment.access 'read write'<br /> comment.type INTEGER<br /> comment.count 1<br /> comment.range '0 - 15'<br /> iface MIXER<br /> name '3D Control - Depth'<br /> value 0<br /> }<br /> control.38 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Alternate Level to Surround Out'<br /> value false<br /> }<br /> control.39 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Downmix LFE and Center to Front'<br /> value false<br /> }<br /> control.40 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Downmix Surround to Front'<br /> value false<br /> }<br /> control.41 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'External Amplifier'<br /> value false<br /> }<br /> control.42 {<br /> comment.access read<br /> comment.type BYTES<br /> comment.count 52<br /> iface CARD<br /> name 'ICE1724 EEPROM'<br /> value '172414121c01020210c1ff0000ff0000ff0000000101010001000000000000000000000000000000ff000000ff000000ff000000'<br /> }<br /> control.43 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 '8000'<br /> comment.item.1 '9600'<br /> comment.item.2 '11025'<br /> comment.item.3 '12000'<br /> comment.item.4 '16000'<br /> comment.item.5 '22050'<br /> comment.item.6 '24000'<br /> comment.item.7 '32000'<br /> comment.item.8 '44100'<br /> comment.item.9 '48000'<br /> comment.item.10 '64000'<br /> comment.item.11 '88200'<br /> comment.item.12 '96000'<br /> comment.item.13 '176400'<br /> comment.item.14 '192000'<br /> comment.item.15 'IEC958 Input'<br /> iface MIXER<br /> name 'Multi Track Internal Clock'<br /> value '44100'<br /> }<br /> control.44 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Multi Track Rate Locking'<br /> value true<br /> }<br /> control.45 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'Multi Track Rate Reset'<br /> value true<br /> }<br /> control.46 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 'PCM Out'<br /> comment.item.1 'H/W In 0'<br /> comment.item.2 'H/W In 1'<br /> comment.item.3 'IEC958 In L'<br /> comment.item.4 'IEC958 In R'<br /> iface MIXER<br /> name 'H/W Playback Route'<br /> value 'PCM Out'<br /> }<br /> control.47 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 'PCM Out'<br /> comment.item.1 'H/W In 0'<br /> comment.item.2 'H/W In 1'<br /> comment.item.3 'IEC958 In L'<br /> comment.item.4 'IEC958 In R'<br /> iface MIXER<br /> name 'H/W Playback Route'<br /> index 1<br /> value 'PCM Out'<br /> }<br /> control.48 {<br /> comment.access read<br /> comment.type INTEGER<br /> comment.count 22<br /> comment.range '0 - 255'<br /> iface MIXER<br /> name 'Multi Track Peak'<br /> value.0 189<br /> value.1 192<br /> value.2 0<br /> value.3 0<br /> value.4 0<br /> value.5 0<br /> value.6 0<br /> value.7 0<br /> value.8 0<br /> value.9 0<br /> value.10 44<br /> value.11 43<br /> value.12 0<br /> value.13 0<br /> value.14 0<br /> value.15 0<br /> value.16 0<br /> value.17 0<br /> value.18 0<br /> value.19 0<br /> value.20 0<br /> value.21 0<br /> }<br /> control.49 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 'PCM Out'<br /> comment.item.1 'H/W In 0'<br /> comment.item.2 'H/W In 1'<br /> comment.item.3 'IEC958 In L'<br /> comment.item.4 'IEC958 In R'<br /> iface MIXER<br /> name 'IEC958 Playback Route'<br /> value 'H/W In 0'<br /> }<br /> control.50 {<br /> comment.access 'read write'<br /> comment.type ENUMERATED<br /> comment.count 1<br /> comment.item.0 'PCM Out'<br /> comment.item.1 'H/W In 0'<br /> comment.item.2 'H/W In 1'<br /> comment.item.3 'IEC958 In L'<br /> comment.item.4 'IEC958 In R'<br /> iface MIXER<br /> name 'IEC958 Playback Route'<br /> index 1<br /> value 'H/W In 1'<br /> }<br /> control.51 {<br /> comment.access 'read write'<br /> comment.type BOOLEAN<br /> comment.count 1<br /> iface MIXER<br /> name 'IEC958 Output Switch'<br /> value true<br /> }<br /> control.52 {<br /> comment.access 'read write'<br /> comment.type IEC958<br /> comment.count 1<br /> iface PCM<br /> device 1<br /> name 'IEC958 Playback Default'<br /> value '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'<br /> }<br /> control.53 {<br /> comment.access read<br /> comment.type IEC958<br /> comment.count 1<br /> iface PCM<br /> device 1<br /> name 'IEC958 Playback Con Mask'<br /> value '3fff000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'<br /> }<br /> control.54 {<br /> comment.access read<br /> comment.type IEC958<br /> comment.count 1<br /> iface PCM<br /> device 1<br /> name 'IEC958 Playback Pro Mask'<br /> value df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<br /> }<br />}<br /></div><br /><span></span><br /><code># aplay -l</code><br /><div style="overflow:scroll; height:8em;"><nobr><br />**** List of PLAYBACK Hardware Devices ****<br />card 0: CK804 [NVidia CK804], device 0: Intel ICH [NVidia CK804]<br /> Subdevices: 0/1<br /> Subdevice #0: subdevice #0<br />card 0: CK804 [NVidia CK804], device 2: Intel ICH - IEC958 [NVidia CK804 - IEC958]<br /> Subdevices: 1/1<br /> Subdevice #0: subdevice #0<br />card 2: AV710 [Chaintech AV-710], device 0: ICE1724 [ICE1724]<br /> Subdevices: 1/1<br /> Subdevice #0: subdevice #0<br /><span style="font-weight:bold;">card 2</span>: AV710 [Chaintech AV-710], <span style="font-weight:bold;">device 1</span>: IEC1724 IEC958 [IEC1724 IEC958]<br /> Subdevices: 1/1<br /> Subdevice #0: subdevice #0<br /></nobr></div><br /><span></span><br /><code># sudo vi /etc/asound.conf</code><br /><div style="overflow:scroll; height:8em;"><br /># /etc/asound.conf<br /># ~/.asoundrc<br />#<br /># 2006-11-18<br /><br />################################################################################<br /># Chaintech AV-710 (IC Ensemble/VIA VT1721)<br /><br />#<br /># HW definition for raw communication with ALSA kernel driver<br />#<br />pcm.chaintech {<br />type hw<br /><span style="font-weight:bold;">card 2<br />device 1</span><br />#mmap_emulation true # for ro/wo devices, increases latency<br />#nonblock true # force non-blocking open mode<br />}<br /><br />#<br /># SPDIF output<br />#<br />pcm.!spdif {<br />type plug<br />slave.pcm "chaintech"<br />}<br /><br />#<br /># Analog output<br />#<br />pcm.analog {<br />type plug<br />slave { <br />pcm "surround51"<br />format S32_LE<br />}<br />}<br /><br />#<br /># Upmix stereo to 5.1<br />#<br />pcm.upmix {<br />type plug<br />slave.pcm "surround51"<br />slave.channels 6<br />route_policy duplicate<br />}<br /><br />#<br /># DMIX output device<br />#<br />pcm.output {<br />type dmix<br />ipc_key 10001 # in integer, unique IPC key for each dmix definition<br />ipc_key_add_uid false # Don't add current UID to unique IPC key<br />ipc_perm 0666 # Share mixer with all users, default permissions = 0600<br />slave {<br />pcm "chaintech"<br />buffer_size 8192 # in bytes, power of 2, for dmix OSS emulation<br />period_size 1024 # in bytes, power of 2, (OSS emu), default = 125000<br />period_time 0 # in usec, apparently unnecessary since ALSA 1.0pre<br />#periods 128 # power of 2, if 'buffer_size' or 'buffer_time' is not specified<br />rate 44100 # in Hz, default = 48000<br />format S32_LE # Required for ICE1724 digital output, default = S16_LE<br />}<br />bindings {<br />0 0<br />1 1 # dmix will use only the first 2 channels<br />}<br />#slowptr true # Slow but more precise pointer updates<br />}<br /><br />#<br /># DSNOOP input device<br />#<br />pcm.input {<br />type dsnoop<br />ipc_key 10002<br />ipc_key_add_uid false<br />ipc_perm 0666<br />slave {<br />pcm "chaintech"<br />channels 2<br />#buffer_size 4096<br />#period_size 1024<br />#rate 44100<br />}<br />}<br /><br />#<br /># ASYM duplex device<br />#<br />pcm.duplex {<br />type asym<br />playback.pcm "output"<br />capture.pcm "input"<br />}<br /><br />#<br /># SOFTwareVOLume for digital output<br />#<br />pcm.vol {<br />type softvol<br />slave.pcm "chaintech"<br />control.name "Master"<br />min_dB -65.0 # Minimal dB value in REAL num (default: -51.0)<br />}<br /><br />#<br /># JACKplug device<br />#<br />pcm.jackplug {<br />type plug<br />slave.pcm "jack"<br />}<br /><br />pcm.jack {<br />type jack<br />playback_ports {<br />0 alsa_pcm:playback_1<br />1 alsa_pcm:playback_2<br />}<br />capture_ports {<br />0 alsa_pcm:capture_1<br />1 alsa_pcm:capture_2<br />}<br />}<br /><br />#<br /># default device ###############################################################<br />#<br />pcm.!default {<br />type plug<br />slave.pcm "duplex" # spdif, analog, upmix, duplex, vol<br />}<br /><br />#<br /># OSS Compability<br />#<br />pcm.!dsp2 {<br />type plug<br />slave.pcm "default"<br />}<br /><br />ctl.!mixer2 {<br />type hw<br />card 2<br />}<br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116339510274969591?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1162875347452476052006-11-06T22:50:00.000-05:002006-11-14T00:15:09.626-05:00autofs: mounting iPod & USB<span></span><br />1. Install the goodies:<br /><code><br /># aptitude install autofs pmount<br /></code><br /><span></span><br />2. Edit <span style="font-style:italic;">autofs</span> config file:<br /><code><br /># sudo vi /etc/auto.master<br /></code><br /><table><tr><td bgcolor=#c0c0c0>/media /etc/auto.media --ghost<br /></td></tr></table><br /><span></span><br />3. Get your device ID:<br /><code><br /># ls /dev/disk/by-id/ | grep iPod<br /></code><br /><table><tr><td bgcolor=#c0c0c0>usb-Apple_iPod_000A270012E6900E<br />usb-Apple_iPod_000A270012E6900E-part1<br /><span style="font-weight:bold;">usb-Apple_iPod_000A270012E6900E-part2</span><br /></td></tr></table><br /><span></span><br />4. Create custom config for media:<br /><code><br /># sudo vi /etc/auto.media</code><br /><div style="overflow:auto;"><br /><table><tr><td bgcolor=#c0c0c0><nobr>dvd -fstype=auto,ro :/dev/dvd<br />usb -fstype=vfat :/dev/disk/by-id/usb-KINGMAX_USB2.0_Flashdisk_00000000000064-part1<br /><span style="font-weight:bold;">ipod -fstype=vfat,iocharset=iso8859-1,fmask=0117,dmask=0007,gid=plugdev :/dev/disk/by-id/usb-Apple_iPod_000A270012E6900E-part2</span></nobr></td></tr></table></div><br /><span></span><br />You can use <span style="font-weight:bold;">UUID</span> instead of <span style="font-weight:bold;">ID</span> to identify your device. It's shorter. You could also use <span style="font-weight:bold;">LABEL</span> but there would be a chance of a conflict.<br /><span><span><br /><table><tr><td bgcolor=#c0c0c0>ipod -fstype=vfat :/dev/disk/by-uuid/A5D3-DF28<br /></td></tr></table><br /><span><span><br />5. Reload <span style="font-style:italic;">autofs</span>:<br /><code><br /># sudo /etc/init.d/autofs reload<br /></code><br /><span></span><br />6. Start <span style="font-style:italic;">gtkpod</span> or just check out <span style="font-style:italic;">/media/ipod</span> and witness the magic.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116287534745247605?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com2tag:blogger.com,1999:blog-18939011.post-1162672796339055942006-11-04T15:04:00.000-05:002007-07-11T18:21:16.047-04:00VNC (a.k.a. KDE 'Desktop Sharing') crashing and slow performance workaround<span></span><br />Disable the built-in 'Desktop Sharing' and install <span style="font-style: italic;">x11vnc</span>:<br /><code><br /># apt-get install x11vnc<br /></code><br />If you have an existing VNC password file:<br /><code><br /># x11vnc -display :0 -rfbauth ~/.vnc/passwd<br /></code><br /><span></span><br />To set the password (not my preferred way):<br /><code><br /># x11vnc -storepasswd <span style="font-style:italic;">yourpassword</span> /path/to/password<br /></code><br />Or set the password using <span style="font-style:italic;">vncpasswd</span> (part of <span style="font-style:italic;">vnc-common</span>):<br /><code><br /># vncpasswd<br /></code><br />***<br /><span><br />Alternatively, create <span style="font-weight:bold;">~/.x11vncrc</span> with all the options you need and then just start 'x11vnc'.<br /><code><br /># ~/.x11vncrc<br /># ** uncomment options you need **<br /><br /># password file must use full path<br />rfbauth /home/<span style="font-style:italic;">user</span>/.vnc/passwd<br /><br />display :0<br />forever<br />shared<br /><br /># keyboard repeat<br />repeat<br /><br /># visual speed tweak<br />nodragging<br /><br /># CPU performance tweak (?)<br />threads<br /><br /># be less verbose<br />quiet<br /><br /># put process in background<br />#bg<br /><br /># show GUI<br />#gui<br /></code><br /><span></span><br />To stop x11vnc running in background ('bg' option):<br /><code><br /># x11vnc -remote stop<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116267279633905594?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1161904705904802772006-10-26T19:15:00.000-04:002006-11-04T15:45:02.396-05:00Dapper directory sizes<span></span><br />Just for reference for someone who wants to set up multiple partitions but has no clue how much space is required.<br /><br />This is what my file system currently looks like (fresh Kubuntu install a year ago, a few essential apps + dist-upgrade to some recent stuff):<br /><code><br />/bin 4.5M<br />/boot 9.4M<br />/dev 5.5M<br />/etc 40M<br />/home 862M<br />/lib 110M<br />/proc 900M<br />/root 24M<br />/sbin 8.5M<br />/tmp 31M<br />/usr 2.8G<br />/var 1.3G<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116190470590480277?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1161904530414562362006-10-26T18:58:00.000-04:002006-10-26T19:20:45.406-04:00Initializing existing RAID-0 setup to install Ubuntu on it<span></span><br />If you have your root partition on RAID-0 and for some reason decided to delete the system while keeping /home (or any other directories) and start over, here's how to do it:<br /><br />1. Boot the 'alternate' disc.<br />2. Go through the setup until you get to partitioning.<br />3. Switch to console (for example: ALT+F2).<br />4. Issue the following commands, replacing <span style="font-style:italic;">hde3</span> and <span style="font-style:italic;">hdg8</span> with your RAID partitions:<br /><code><br /># modprobe md<br /># mdadm --assemble /dev/md0 /dev/hde3 /dev/hdg8<br /># mount /dev/md0 /mnt<br /></code><br />You can now access your stuff in /mnt. Delete what you need, keep the rest. Then:<br /><code><br /># umount /mnt<br /># mdadm --stop /dev/md0<br /></code><br />Go on with the installation. Make sure <span style="font-weight:bold;">not</span> to format your RAID!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-116190453041456236?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1157860362842701392006-09-09T23:32:00.000-04:002006-12-18T22:50:35.350-05:00nvidia-glx 1.0.8762 binary driver fix<span></span><br />After upgrading from <span style="font-style: italic;">Breezy</span> to <span style="font-style: italic;">Dapper</span>, Xorg failed to work with the new nVIDIA binary driver on my BenQ FP731 LCD at its native resolution of 1280x1024.<br /><span><br />Quick fix #1:<br /></span><br />Edit /etc/X11/xorg.conf and add the section in <span style="font-weight: bold;">bold</span>, then restart X (Ctrl+Alt+Backspace will do).<br /><code><br />Section "Device"<br /> Identifier "NVIDIA Corporation NV43 [GeForce 6200]"<br /> Driver "nvidia"<br /> BusID "PCI:1:0:0"<br /> <span style="font-weight: bold;">Option "UseEDID" "false"</span><br />EndSection<br /></code><br /><span style="color: red;">"By default, the NVIDIA X driver makes use of a display device's EDID, when available, during construction of its mode pool. The EDID is used as a source for possible modes, for valid frequency ranges, and for collecting data on the physical dimensions of the display device for computing the DPI. However, if you wish to disable the driver's use of the EDID, you can set this option to False."<br />(from <a href="http://download.nvidia.com/XFree86/Linux-x86/1.0-9626/README/appendix-d.html">nVIDIA Accelerated Linux Driver Set README and Installation Guide</a>)<br /></span><br /><span><br />Quick fix #2:<br /></span><br />Edit /etc/X11/xorg.conf and add the section in <span style="font-weight: bold;">bold</span> to force 60Hz refresh rate, then restart X.<br /><code><br />Section "Screen"<br /> Identifier "Default Screen"<br /> Device "NVIDIA Corporation NV43 [GeForce 6200]"<br /> Monitor "BenQ FP731"<br /> DefaultDepth 24<br /> SubSection "Display"<br /> Depth 24<br /> Modes "1280x1024<span style="font-weight: bold;">_60</span>" "1024x768" "800x600" "640x480"<br /> EndSubSection<br />EndSection<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-115786036284270139?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com2tag:blogger.com,1999:blog-18939011.post-1145200679219829672006-04-16T11:16:00.000-04:002006-04-16T11:17:59.220-04:00Firefox - Flash audio fix<span></span><br /># vi ~/.mozilla/firefox/rc<br /><code><br />FIREFOX_DSP="none"<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-114520067921982967?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1145200519428729282006-04-16T11:10:00.000-04:002006-04-16T11:16:30.503-04:00iPod - safe remove fix<span></span><br />Unmouting iPod from a user's account doesn't completely work. iPod will still be showing "<i>Do not disconnect</i>". Fix (insecure, I know):<br /><br /># sudo chmod +s /usr/bin/eject<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-114520051942872928?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1143191377665670082006-03-24T04:05:00.000-05:002006-04-16T11:19:57.070-04:00prelinking<span></span><br /># sudo apt-get install prelink<br /># sudo vi /etc/default/prelink<br /><code><br />PRELINKING=yes<br /></code><br /># sudo /etc/cron.daily/prelink<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-114319137766567008?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1141479826997645492006-03-04T08:42:00.000-05:002006-03-21T02:41:27.366-05:00multi source audio<span></span><br />- ALSA<br /><br /># sudo apt-get install libesd-alsa0<br /><br />- OSS<br /><br /># sudo apt-get install libesd0<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-114147982699764549?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1140596728325584692006-02-22T03:23:00.000-05:002006-12-22T22:31:51.843-05:00sudo settings<span></span><br />- remember password in all terminals:<br /><span></span><br /># sudo visudo<br /><code><br />Defaults !lecture,<span style="font-weight:bold">!tty_tickets</span><br /></code><br /><span></span><br />- expire sudo session immediately:<br /><span></span><br /># sudo visudo<br /><code><br />Defaults !lecture,tty_tickets,<span style="font-weight:bold">timestamp_timeout=0</span><br /></code><br /><span></span><br />- keep sudo password for the session:<br /><span></span><br /># sudo visudo<br /><code><br />Defaults !lecture,tty_tickets,<span style="font-weight:bold">timestamp_timeout=-1</span><br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-114059672832558469?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1139972539270213422006-02-14T22:02:00.000-05:002006-03-21T02:39:49.960-05:00Firefox - compiling from source<span></span><br /># wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.5.0.1/linux-i686/en-US/firefox-1.5.0.1.tar.gz<br /># tar xzvvf firefox-1.5.0.1.tar.gz<br /># cd mozilla<br /># vi .mozconfig<br /><br />---8<---<code><br /># mozilla/.mozconfig<br /># Firefox 1.5.0.1 compile options<br /><br />. $topsrcdir/browser/config/mozconfig<br />mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build<br />ac_add_options --enable-official-branding<br />#ac_add_options --disable-official-branding<br /><br />#ac_add_options --enable-default-toolkit=qt<br />#ac_add_options --with-qtdir=/usr/share/qt3<br />ac_add_options --enable-default-toolkit=gtk2<br />ac_add_options --enable-xft --disable-freetype2<br /><br />ac_add_options --enable-static --disable-shared<br />ac_add_options '--enable-optimize=-Os -freorder-blocks -fno-reorder-functions -gstabs+'<br />#ac_add_options --enable-optimize="-O6 -march=k8"<br />#ac_add_options --enable-optimize="-O2 -msse -mmmx -m3dnow -mfpmath=sse"<br />#ac_add_options '--enable-optimize=-pipe\ -w\ -O2\ -DDEBIAN\ -fno-strict-aliasing'<br /><br />ac_add_options --enable-strip<br />ac_add_options --disable-debug<br />ac_add_options --disable-logging<br />ac_add_options --disable-tests<br />ac_add_options --disable-pedantic<br />ac_add_options --disable-long-long-warning<br /><br />ac_add_options --enable-svg<br />ac_add_options --enable-svg-renderer-cairo<br />ac_add_options --enable-canvas<br />ac_add_options --enable-mathml<br />ac_add_options --enable-postscript<br />ac_add_options --enable-crypto<br /><br />ac_add_options --enable-single-profile --disable-profilesharing<br />#ac_add_options --enable-extensions=cookie,xml-rpc,xmlextras,pref,transformiix,universalchardet,webservices,inspector,auth<br />ac_add_options --enable-xinerama<br />ac_add_options --enable-pango<br />ac_add_options --enable-gnomevfs<br />ac_add_options --enable-gnomeui<br /><br />ac_add_options --disable-installer<br />ac_add_options --disable-updater<br />ac_add_options --disable-xprint<br />ac_add_options --disable-ldap<br />ac_add_options --disable-accessibility<br />ac_add_options --disable-oji<br />ac_add_options --disable-jsd<br /><br />ac_add_options --with-default-mozilla-five-home=/usr/lib/mozilla-firefox<br />ac_add_options --with-user-appdir=.mozilla<br />ac_add_options --with-system-zlib=/usr<br />ac_add_options --with-system-jpeg=/usr<br />ac_add_options --with-system-png=/usr<br />ac_add_options --with-system-mng=/usr<br />ac_add_options --without-system-nspr<br />ac_add_options --with-pthreads<br /></code>--->8---<br /><br /># make -f client.mk build<br /><br />* takes 30-60 min on AMD64 3000+ with 1G RAM<br /><br /># make -C firefox-build/browser/installer<br /># sudo mv firefox-build/dist/firefox-1.5.0.1.en-US.linux-i686.tar.gz /opt<br /># sudo tar xzvf firefox-1.5.0.1.en-US.linux-i686.tar.gz<br /># cd firefox<br /># sudo ./firefox<br /><br />***<br /><br />- for a static build:<br /><br /># vi browser/app/Makefile<br />:94<br />$(MOZ_XFT_LIBS)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-113997253927021342?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com0tag:blogger.com,1999:blog-18939011.post-1138843600502134752006-02-01T20:07:00.000-05:002006-02-01T20:26:40.580-05:00Bootable CD/DVD with GRUB<code><br /># mkdir -p BOOT_CD/boot/grub<br /># cp /lib/grub/i386-pc/stage2_eltorito BOOT_CD/boot/grub/<br /># mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o BOOT_CD.iso BOOT_CD<br /># cdrecord -v -sao CD_BOOT_GRUB.iso<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-113884360050213475?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com1tag:blogger.com,1999:blog-18939011.post-1138428382597337072006-01-27T23:43:00.000-05:002006-02-26T13:45:15.450-05:00Slipstreaming Windows CD under Linux<span></span><br />required tools: mkisofs, cdrecord, dd, mount, lcab, text editor<br />optionally: hex viewer, hex->dec converter<br /><br />1. Create an image of Windows CD.<br /><span style="font-weight: bold;"><br /># dd if=/dev/dvd of=win_xp.iso bs=2048 conv=noerror,notrunc<br /></span><br />2. Extract files from the image.<br /><span style="font-weight: bold;"><br /># sudo mount -o loop win_xp.iso /mnt<br /># cp -a /mnt win_xp_slipstream<br /># chmod -R +w win_xp_slipstream<br /># sudo umount /mnt<br /></span><br />3. Extract the CD boot image and add it to the root of Windows directory. The value of the 'skip' parameter needs to be found. More info below.<br /><span style="font-weight: bold;"><br /># dd if=win_xp.iso of=boot.img bs=2048 count=1 skip=375<br /># mv boot.img win_xp_slipstream/<br /></span><br />4. Add your RAID driver files in <span style="font-style: italic;">$OEM$/$1/drivers/</span><br /><span style="font-weight: bold;"><br /># mkdir -p 'win_xp_slipstream/$OEM$/$1/drivers/sii680r'<br /># unzip -j sii680r.zip -d 'win_xp_slipstream/$OEM$/$1/drivers/sii680r'<br /></span><br />5. Create a .cab archive of the RAID driver's .sys file in the <span style="font-style: italic;">i386</span> directory.<br /><span style="font-weight: bold;"><br /># cp 'win_xp_slipstream/$OEM$/$1/drivers/sii680r/pnp680r.sys' win_xp_slipstream/i386/<br /># lcab win_xp_slipstream/i386/pnp680r.sys win_xp_slipstream/i386/pnp680r.sy_<br /># rm win_xp_slipstream/i386/pnp680r.sys<br /></span><br />6. Get the RAID driver ID info.<br /><span style="font-weight: bold;"><br /># cat 'win_xp_slipstream/$OEM$/$1/drivers/sii680r/txtsetup.oem' | grep 'PCI\\VEN'<br /></span><br />---8<---<code><br />id = "PCI\VEN_1095&DEV_0680&SUBSYS_36801095", "PnP680r"</code><br />--->8---<br /><br />7. Add the RAID driver info to the bottom of <span style="font-style: italic;">txtsetup.sif</span> before the last EOF. You'll need the .sys file name, "PCI\VEN" string, device ID and name.<br /><span style="font-weight: bold;"><br /># vi win_xp_slipstream/i386/txtsetup.sif<br /></span><br />---8<---<code><br />[SourceDisksFiles]<br />pnp680r.sys = 1,,,,,,3_,4,1<br /><br />[HardwareIdsDatabase]<br />PCI\VEN_1095&DEV_0680&SUBSYS_36801095 = "PnP680r"<br /><br />[SCSI.load]<br />PnP680r = pnp680r.sys,4<br /><br />[SCSI]<br />PnP680r = "Silicon Image Ultra-133 Medley ATA RAID Controller"</code><br />--->8---<br /><br />8. Create a <span style="font-style: italic;">winnt.sif</span> file and add the info below with the right driver path.<br /><span style="font-weight: bold;"><br /># vi win_xp_slipstream/i386/winnt.sif<br /></span><br />---8<---<code><br />[Data]<br />UnattendedInstall=Yes<br />MSDosInitiated=No<br />AutoPartition=0<br /><br />[Unattended]<br />OemPnPDriversPath="Drivers\sii680r"</code><br />--->8---<br /><br />9. Re-create the CD image, now with the included driver.<br /><span style="font-weight: bold;"><br /># mkisofs -v -volid "XP_RAID" -d -D -l -N -relaxed-filenames -no-iso-translate -no-emul-boot -boot-load-size 4 -b boot.img -c boot.cat -hide boot.img -hide boot.cat -J -hide-joliet boot.img -hide-joliet boot.cat -o win_xp_slipstream.iso win_xp_slipstream<br /></span><br />10. Finally, write the image to a CD.<br /><span style="font-weight: bold;"><br /># sudo cdrecord -v -sao win_xp_slipstream.iso<br /></span><br /><br />***<br /><span style="font-size: 150%; font-weight: bold; color: black;"><br />Finding the CD boot image<br /></span><br /><span style="font-weight: bold;"><br />I. The quick and easy way.<br /></span><br />1a. Dump ISO info from CD.<br /><span style="font-weight: bold;"><br /># isoinfo -d<br /></span><br />---8<---<code><br />Eltorito defaultboot header:<br />Bootid 88 (bootable)<br />Boot media 0 (No Emulation Boot)<br />Load segment 0<br />Sys type 0<br />Nsect 4<br />Bootoff 177 375</code><br />--->8---<br /><br />1b. Alternatively, dump ISO info from the image file.<br /><span style="font-weight: bold;"><br /># isoinfo -d -i win_xp.iso<br /></span><br />2a. Extract the boot image from CD. Use the second value from the "Bootoff" line in the 'skip' parameter.<br /><span style="font-weight: bold;"><br /># dd if=/dev/dvd of=boot.img bs=2048 count=1 skip=375<br /></span><br />2b. Same as above but from an ISO image.<br /><span style="font-weight: bold;"><br /># dd if=win_xp.iso of=boot.img bs=2048 count=1 skip=375<br /></span><br /><span style="font-weight: bold;"><br />II. The real hacker's way ;)<br /></span><br />1a. Dump a chunk of the CD to a file. Increase 'count=' to 2000 or more if the boot image is not found at first.<br /><span style="font-weight: bold;"><br /># dd if=/dev/dvd of=dump.img bs=2048 count=500<br /></span><br />1b. Alternatively, dump data from an ISO image.<br /><span style="font-weight: bold;"><br /># dd if=os_image.iso of=dump.img bs=2048 count=500<br /></span><br />2a. Look for the boot image string. Note the starting address in hex. If there are multiple matches, start with the first and complete all steps. If the CD doesn't boot, try the second matching address, and so on.<br /><span style="font-weight: bold;"><br /># xxd dump.img | grep '007c fb8c'<br /></span><br />2b. Alternate method using 'hexdump' and visual examination. Look for a string "fa33 c08e d0bc 007c fb8c".<br /><span style="font-weight: bold;"><br /># hexdump -C dump.img | less<br /></span><br />---8<--- <code>00bb800: fa33 c08e d0bc 007c fb8c c88e d852 e800 .3.....|.....R..<br />00bb810: 005e 81ee 1100 7412 81fe 007c 7575 8cc8 .^....t....|uu..<br />00bb820: 3d00 0075 7fea 3700 c007 c606 ae01 3390 =..u..7.......3.<br />00bb830: 8cc8 3dc0 0775 7e8c c88e d8c6 06ae 0134 ..=..u~........4<br />00bb840: 9080 fa80 726f c606 ae01 3590 bbfe 078b ....ro....5.....<br />00bb850: 073d 55aa 755f 5a88 1699 0468 8a04 6a0b .=U.u_Z....h..j.<br />00bb860: 6800 20e8 7603 0f82 0f00 601e 068a 1699 h. .v.....`.....<br />00bb870: 049a 0000 0020 071f 6168 7e04 6a0c 6800 ..... ..ah~.j.h.</code><br />--->8---<br /><br />3. Convert the address from hex to decimal.<br /><span style="font-weight: bold;"><br /># echo $((16#bb800))<br /></span><br />4a. Finally, extract the boot image from CD. Note the 'skip' parameter!<br /><span style="font-weight: bold;"><br /># dd if=/dev/dvd of=boot.img bs=1 count=2048 skip=768000<br /></span><br />4b. Same as above but from an ISO image.<br /><span style="font-weight: bold;"><br /># dd if=os_image.iso of=boot.img bs=1 count=2048 skip=768000<br /></span><br />4c. Alternatively, calculate and use LBA to make things look pretty. 0xbb800 = 768,000 -> 768,000 / 2,048 = 375 (R/LBA)<br /><span style="font-weight: bold;"><br /># dd if=os_image.iso of=boot.img bs=2048 count=1 skip=375<br /></span><br />Another example: Windows 2000 CD.<br /><br />---8<--- <code>000a000: fa33 c08e d0bc 007c fb8c c88e d852 e800 .3.....|.....R..</code><br />--->8---<br /><br />0xa000 = 40,960 -> 40,960 / 2,048 = 20 (R/LBA)<br /><span style="font-weight: bold;"><br /># dd if=/dev/dvd of=boot.img bs=2k count=1 skip=20<br /></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-113842838259733707?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com8tag:blogger.com,1999:blog-18939011.post-1138151768238107732006-01-24T20:13:00.000-05:002006-01-29T00:21:08.426-05:00X performace tweak<span></span><br />- set higher process priority for <span style="font-style:italic;">Xorg</span> binary<br /><span style="font-weight:bold;"><br /># sudo vi /etc/X11/Xwrapper.config<br /></span><code><br />nice_value=-10<br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18939011-113815176823810773?l=linuxtuneup.blogspot.com'/></div>Obi Boknoreply@blogger.com2