CentOS 5.5 ImageMagick install + php module

Working this morning, I had to get ImageMagick working on a CentOS 5.5 VM. Pretty easy with YUM right? Well there were some complications installing the associated PHP module. So after doing the usual yum update, here is what you should do.

  1. yum install ImageMagick ImageMagick-devel
  2. If you are lucky “pecl install imagick” will work, if so skip to last 2 steps. If not continue along. I got the $PHP_AUTOCONF error.
  3. Head over to – http://pecl.php.net/package/imagick – and download the latest tarball (wget or whatever you fancy). At time of writing, I used “imagick-3.0.0RC2.tgz“.
  4. tar xzvf [da archive name] and cd into said archive
  5. gotta compile this thing from source: a) phpize b) ./configure c) make d) make install (as root … duh!) [check out Steven's post on webhostingtalk.com]
  6. load & restart: a) echo "extension=imagick.so" > /etc/php.d/imagick.ini b) /etc/init.d/httpd restart
  7. check to see if it was installed: php -m | grep imagick

Now let’s check to see if imagemagick “works”. Create a .php file on the server and access it with your web browser. Excerpted from docduke’s post on astahost.info.

<html> <head> <title>Test for ImageMagick</title> </head>
<body> <?
function alist ($array) {  //This function prints a text array as an html list.
$alist = “<ul>”;
for ($i = 0; $i < sizeof($array); $i++) {
$alist .= “<li>$array[$i]“;
}
$alist .= “</ul>”;
return $alist;
}
exec(“convert -version”, $out, $rcode); //Try to get ImageMagick “convert” program version number.
echo “Version return code is $rcode <br>”; //Print the return code: 0 if OK, nonzero if error.
echo alist($out); //Print the output of “convert -version”
//Additional code discussed below goes here.
?> </body> </html>

recover sd card data with linux and gddrescue

Just to be clear about the setup, I’ll be using Debian 5 Linux and an 8 GB SD card with a SD to USB adapter over a USB 2.0 link.

gddrescue is included in the main Debian and Ubuntu repos, so in my case the install was just an “apt-get install gddrescue“.

Plug in your sd card and watch dmesg for the sd card. Mine was added to /dev/sda as one can see from the following output:

[ 2540.580007] usb 5-4: new high speed USB device using ehci_hcd and address 2
[ 2540.776619] usb 5-4: configuration #1 chosen from 1 choice
[ 2540.781484] scsi1 : SCSI emulation for USB Mass Storage devices
[ 2540.781939] usb 5-4: New USB device found, idVendor=090c, idProduct=6000
[ 2540.781947] usb 5-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2540.781953] usb 5-4: Product: USB2.0 Card Reader
[ 2540.781957] usb 5-4: Manufacturer: Generic , .
[ 2540.781961] usb 5-4: SerialNumber: 12345678901234567890
[ 2540.781977] usb-storage: device found at 2
[ 2540.781980] usb-storage: waiting for device to settle before scanning
[ 2545.780245] usb-storage: device scan complete
[ 2545.781307] scsi 1:0:0:0: Direct-Access Generic 6000 PQ: 0 ANSI: 0 CCS
[ 2545.783697] sd 1:0:0:0: [sda] 15855616 512-byte hardware sectors (8118 MB)
[ 2545.784973] sd 1:0:0:0: [sda] Write Protect is off
[ 2545.784983] sd 1:0:0:0: [sda] Mode Sense: 4b 00 00 08
[ 2545.784988] sd 1:0:0:0: [sda] Assuming drive cache: write through
[ 2545.787318] sd 1:0:0:0: [sda] 15855616 512-byte hardware sectors (8118 MB)
[ 2545.787949] sd 1:0:0:0: [sda] Write Protect is off
[ 2545.787958] sd 1:0:0:0: [sda] Mode Sense: 4b 00 00 08
[ 2545.787963] sd 1:0:0:0: [sda] Assuming drive cache: write through
[ 2545.788050] sda: unknown partition table
[ 2545.795255] sd 1:0:0:0: [sda] Attached SCSI removable disk

While logged in as root (or using sudo) make a copy of the sd card: ddrescue [/dev/device] [recovery image output] [logfile]

Now we will also need testdisk, so install that [Debian] [Ubuntu]: apt-get install testdisk

Testdisk can do some pretty cool stuff, but we are more interested in one of the subpackages it includes, photorec.

Now using photorec, let’s recover some photos: photorec /d [photo output dir] [recovery image output file from before]
And navigate through the menus and get your photos back. Usually the sd card is formatted in NTFS.

qwest actiontec gt701-wg PPOE on OpenWRT

I was having a difficult time yesterday trying to get my new OpenWRT install working on my Qwest DSL line. Here is how I got things working. I have yet to get the wireless interface working with WPA, I’ve just been using a different wireless access point I had lying around.

Telnet into your DSL modem, and cat /var/tmp/tr69para_pppoe (if you connect with PPoE) or cat /var/tmp/tr69para_pppoa (if you connect with PPoA).

Telnet into your gateway before flashing it and cat /proc/[###]/cmdline (where ### is the process number of pppd), this will get you the exact command used, along with the user/password that your gateway is using to login to the DSLAM. Save this command string for later!

I used the latest Kamikaze release (as of 03/28/2010) [download] and my Windows XP laptop connected via an Ethernet switch to my Actiontec. I was having trouble with tnftp on Debian, but I’ve heard it isn’t too hard to get that working. You have to be pretty fast, because as soon as you plug in your gateway you have ~3 seconds to ftp in. The username/password is adam2/adam2. No matter what IPv4 you have your gateway normally set to, it defaults to 192.168.0.1 on boot.

C:\Documents and Settings\Administrator\Desktop>ftp 192.168.0.1
Connected to 192.168.0.1.
220 ADAM2 FTP Server ready.
User (192.168.0.1:(none)): adam2
331 Password required for adam2.
Password:
230 User adam2 successfully logged in.
ftp> binary
200 Type set to I.
ftp> quote SETENV mtd5,0×90010000,0x903e0000
200 SETENV command successful
ftp> quote SETENV MAC_PORT,0
200 SETENV command successful
ftp> quote MEDIA FLSH
200 Media set to FLSH.
ftp> put “openwrt-ar7-squashfs.bin” “openwrt-ar7-squashfs.bin mtd5″
200 Port command successful.
150 Opening BINARY mode data connection for file transfer.
226 Transfer complete.
ftp: 2621444 bytes sent in 33.95Seconds 77.21Kbytes/sec.
ftp> quote REBOOT
221-Thank you for using the FTP service on ADAM2.
221 Goodbye.
Connection closed by remote host.
ftp> quit

C:\Documents and Settings\Administrator\Desktop>

Wait about 20 seconds before you telnet 192.168.1.1 to set the initial root password. Once you set the root password you are only allowed to login via SSH or the HTTP web interface.

SSH in to your new install and remove the existing options in /etc/ppp/options on your new OpenWRT install, and put the options we extracted earlier in the /etc/ppp/options file.

My /etc/ppp/options file ended up looking like this:

user [username]@qwest.net
password [password]
nodetach
defaultroute
usepeerdns
mru 1492
maxfail 10
lcp-echo-failure 4
lcp-echo-interval 30

And my /etc/config/network file for the wan portion:

config atm-bridge
option unit 0
option encaps llc
option vpi 0
option vci 32
option payload bridged # some ISPs need this set to ‘routed’

config interface wan
## PPPoE:
option ifname nas0
option proto pppoe

## PPPoA:
# option ifname atm0
# option proto pppoa
option encaps vc
option vpi 0
option vci 32

That should wrap things up. You might have to customize a few other things.

Return top