Sunday, May 17, 2009

SheevaPlug customizing pre-installed Ubuntu/Jaunty

Show-n-Tell day -- brining LordShiva to the MA offices.

mediawiki / mysql / apache2


root@LordShiva:~# sudo apt-get install mediawiki
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 libterm-readkey-perl mysql-client-5.0 mysql-common mysql-server mysql-server-5.0
mysql-server-core-5.0 php5 php5-cli php5-common php5-mysql psmisc ssl-cert
Suggested packages:
www-browser apache2-doc apache2-suexec apache2-suexec-custom ufw php-pear dbishell libipc-sharedcache-perl libcompress-zlib-perl php5-gd imagemagick
mediawiki-math memcached clamav mysql-doc-5.0 tinyca mailx
The following NEW packages will be installed:
apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 libterm-readkey-perl mediawiki mysql-client-5.0 mysql-common mysql-server mysql-server-5.0
mysql-server-core-5.0 php5 php5-cli php5-common php5-mysql psmisc ssl-cert
0 upgraded, 27 newly installed, 0 to remove and 0 not upgraded.
Need to get 53.6MB/53.6MB of archives.
After this operation, 166MB of additional disk space will be used.
Do you want to continue [Y/n]?


text mode web browsers (elinks / links2)


root@LordShiva:~# apt-get install elinks links2
The following extra packages will be installed:
elinks-data libdirectfb-1.0-0 liblua50 liblualib50 libperl5.10 libpng12-0
libruby1.8 libsysfs2 libtiff4 libts-0.0-0
Suggested packages:
elinks-doc
The following NEW packages will be installed:
elinks elinks-data libdirectfb-1.0-0 liblua50 liblualib50 libperl5.10
libpng12-0 libruby1.8 libsysfs2 libtiff4 libts-0.0-0 links2
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 5104kB of archives.
After this operation, 15.4MB of additional disk space will be used.
Do you want to continue [Y/n]?


lanmap

root@LordShiva:~# apt-get install lanmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
defoma fontconfig fontconfig-config graphviz libcairo2 libdatrie0
libfontconfig1 libfontenc1 libfreetype6 libgd2-noxpm libgraphviz4 libice6
libltdl7 libpango1.0-0 libpango1.0-common libpcap0.8 libpixman-1-0 libsm6
libthai-data libthai0 libxaw7 libxcb-render-util0 libxcb-render0 libxext6
libxfont1 libxft2 libxmu6 libxpm4 libxrender1 libxt6 ttf-dejavu
ttf-dejavu-core ttf-dejavu-extra ttf-liberation x-ttcidfont-conf x11-common
xfonts-encodings xfonts-utils
Suggested packages:
defoma-doc psfontmgr dfontmgr libft-perl gsfonts graphviz-doc libgd-tools
ttf-japanese-gothic ttf-japanese-mincho ttf-thryomanes ttf-baekmuk
ttf-arphic-gbsn00lp ttf-arphic-bsmi00lp ttf-arphic-gkai00mp
ttf-arphic-bkai00mp
The following NEW packages will be installed:
defoma fontconfig fontconfig-config graphviz lanmap libcairo2 libdatrie0
libfontconfig1 libfontenc1 libfreetype6 libgd2-noxpm libgraphviz4 libice6
libltdl7 libpango1.0-0 libpango1.0-common libpcap0.8 libpixman-1-0 libsm6
libthai-data libthai0 libxaw7 libxcb-render-util0 libxcb-render0 libxext6
libxfont1 libxft2 libxmu6 libxpm4 libxrender1 libxt6 ttf-dejavu
ttf-dejavu-core ttf-dejavu-extra ttf-liberation x-ttcidfont-conf x11-common
xfonts-encodings xfonts-utils
0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.4MB of archives.
After this operation, 24.6MB of additional disk space will be used.


screen

marc@LordShiva:~$ sudo apt-get install screen
Reading package lists... Done
Building dependency tree
Reading state information... Done

The following extra packages will be installed:
gettext-base iso-codes python-apt python-central python-newt screen-profiles update-motd update-notifier-common
Suggested packages:
isoquery python-apt-dbg python-gtk2 python-vte python-newt-dbg screen-profiles-extras
The following NEW packages will be installed:
gettext-base iso-codes python-apt python-central python-newt screen screen-profiles update-motd update-notifier-common
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 2947kB of archives.
After this operation, 14.6MB of additional disk space will be used.


Seems like a bunch of extra stuff... update-motd?

nfs

Installing NFS to hack around. Eventually storage on lordshiva will be via usb disks.


sudo root@LordShiva:~# sudo apt-get install nfs-kernel-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libevent1 libgssglue1 libnfsidmap2 librpcsecgss3 nfs-common portmap
The following NEW packages will be installed:
libevent1 libgssglue1 libnfsidmap2 librpcsecgss3 nfs-common
nfs-kernel-server portmap
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 503kB of archives.
After this operation, 1548kB of additional disk space will be used.
Do you want to continue [Y/n]?


I made sure the nfs-kernel-server was also installed on where the disks were and added to /etc/exports something like:


/home/Music lordshiva(ro,sync,no_subtree_check)

and ran sudo exportfs -av

The on the SheevaPlug:

sudo mkdir -p /nfs/Music
sudo mount homeserver:/home/Music /nfs/Music



And updated /etc/gnump3/gnump3.conf to point to /nfs/Music

updating what munin monitors

Running the following commands will make some recommendations on additional things munin can monitor.


# munin-node-configure --shell --families auto
# munin-node-configure --shell --families contrib
# munin-node-configure --shell --families manual



Just cut-n-paste the ones you want to enable into a root shell. Remember to restart the daemon too.

root@LordShiva:~# ln -s /usr/share/munin/plugins/ntp_offset /etc/munin/plugins/ntp_offset
root@LordShiva:~# ln -s /usr/share/munin/plugins/ntp_ /etc/munin/plugins/ntp_europium_canonical_com
root@LordShiva:~# ln -s /usr/share/munin/plugins/ntp_states /etc/munin/plugins/ntp_states
root@LordShiva:~# ln -s /usr/share/munin/plugins/port_ /etc/munin/plugins/port_ssh
root@LordShiva:~# ln -s /usr/share/munin/plugins/port_ /etc/munin/plugins/port_www
root@LordShiva:~# /etc/init.d/munin-node restart


SheevaPlug as a mini-printserver

The pre-installed Ubuntu doesn't include any kernel modules, but thought I'd try using the SheevaPlug as a mini-print/scan server for my hp PSC 1510 All-in-One printer/scanner.

Install cups which pulls in a ton of other packages as well as the open source print management tools from Hewlett-Packard, hplip

root@LordShiva:~# apt-get install cups hplip
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
acl avahi-utils bc cups-client cups-common cupsddk cupsddk-drivers foomatic-db foomatic-db-engine foomatic-filters ghostscript gsfonts hal hal-info hdparm hpijs
hplip-data libavahi-client3 libavahi-compat-libdnssd1 libcupsimage2 libexif12 libffi5 libgphoto2-2 libgphoto2-port0 libgs8 libhal-storage1 libhal1 libieee1284-3
libijs-0.35 libpaper-utils libpaper1 libpci3 libpciaccess0 libpolkit-dbus2 libpolkit-grant2 libpoppler4 libsane libsensors3 libslp1 libsnmp-base libsnmp15
pciutils pm-utils policykit poppler-utils powermgmt-base psfontmgr python-dbus python-gobject python-imaging python-support radeontool sane-utils smartdimmer
smbclient ttf-freefont wget
Suggested packages:
cups-bsd cups-driver-gutenprint xpdf-korean xpdf-japanese xpdf-chinese-traditional xpdf-chinese-simplified cups-pdf kdeprint gtklp cups-pt xpp foomatic-db-hpijs
foomatic-db-gutenprint foo2zjs openprinting-ppds foomatic-gui ghostscript-x gnome-device-manager apmd hpijs-ppds hplip-doc hplip-gui gphoto2 gtkam hpoj
libsane-extras lm-sensors slpd openslp-doc cpufrequtils policykit-gnome python-dbus-doc python-dbus-dbg python-gobject-dbg python-imaging-doc python-imaging-dbg
unpaper smbfs
Recommended packages:
vbetool
The following NEW packages will be installed:
acl avahi-utils bc cups cups-client cups-common cupsddk cupsddk-drivers foomatic-db foomatic-db-engine foomatic-filters ghostscript gsfonts hal hal-info hdparm
hpijs hplip hplip-data libavahi-client3 libavahi-compat-libdnssd1 libcupsimage2 libexif12 libffi5 libgphoto2-2 libgphoto2-port0 libgs8 libhal-storage1 libhal1
libieee1284-3 libijs-0.35 libpaper-utils libpaper1 libpci3 libpciaccess0 libpolkit-dbus2 libpolkit-grant2 libpoppler4 libsane libsensors3 libslp1 libsnmp-base
libsnmp15 pciutils pm-utils policykit poppler-utils powermgmt-base psfontmgr python-dbus python-gobject python-imaging python-support radeontool sane-utils
smartdimmer smbclient ttf-freefont wget
0 upgraded, 59 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.4MB of archives.
After this operation, 127MB of additional disk space will be used.
Do you want to continue [Y/n]?


Hmm, during the install I plugged in the printer and checked dmesg to see if it was recognized. The lanmap process appears to have had a problem allocating memory:


lanmap: page allocation failure. order:5, mode:0xc0d0
[] (dump_stack+0x0/0x14) from [] (__alloc_pages+0x28c/0x2a0)
[] (__alloc_pages+0x0/0x2a0) from [] (__get_free_pages+0x28/0x5c)
[] (__get_free_pages+0x0/0x5c) from [] (packet_set_ring+0xc4/0x30c)
[] (packet_set_ring+0x0/0x30c) from [] (packet_setsockopt+0x34c/0x4b4)
[] (packet_setsockopt+0x0/0x4b4) from [] (sys_setsockopt+0x84/0xa8)
[] (sys_setsockopt+0x0/0xa8) from [] (ret_fast_syscall+0x0/0x2c)
r8:c0027628 r7:00000126 r6:0004f978 r5:0000005c r4:00000010
Mem-info:
DMA per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 180 Cold: hi: 62, btch: 15 usd: 58
Active:54514 inactive:39796 dirty:0 writeback:0 unstable:0
free:26150 slab:6191 mapped:4044 pagetables:328 bounce:0
DMA free:104600kB min:2884kB low:3604kB high:4324kB active:218056kB inactive:159184kB present:520192kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0
DMA: 8554*4kB 4492*8kB 1155*16kB 399*32kB 48*64kB 1*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 104600kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 0kB
Total swap = 0kB
Free swap: 0kB
131072 pages of RAM
26907 free pages
2296 reserved pages
6165 slab pages
20272 pages shared
0 pages swap cached
device eth0 left promiscuous mode


When I tried to killall lanmap, ssh sessions hung. I could get in via console still. The network seemed to be a bit wonky, so rebooted.

Hmm, scary kernel messsages

This is after the reboot and seems to be when hal is starting up on install. Install is slowing continuing.


Unable to handle kernel paging request at virtual address 1a364e25
pgd = c9e2c000
[1a364e25] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.22.18 #1)
PC is at strnlen+0x20/0x34
LR is at vsnprintf+0x314/0x5b4
pc : [] lr : [] psr: a0000013
sp : ca99bdc0 ip : ca99bdd0 fp : ca99bdcc
r10: ffffffff r9 : ffffffff r8 : 00000000
r7 : ffffffff r6 : caa68041 r5 : 1a364e25 r4 : ca99be40
r3 : c00c8994 r2 : 1a364e25 r1 : fffffffe r0 : 1a364e25
Flags: NzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 0005317f Table: 09e2c000 DAC: 00000015
Process udevadm (pid: 4301, stack limit = 0xca99a268)
Stack: (0xca99bdc0 to 0xca99c000)
bdc0: ca99be1c ca99bdd0 c02414f8 c0240218 c023db48 ca99bdec ca99bdfc ca99bdf0
bde0: c027369c 35597fbe caa68041 c00d321a ca99be44 00000014 00000041 d4502000
be00: caa68000 c03ed298 00000000 c03fc7a4 ca99be38 ca99be20 c0241864 c02411f4
be20: c03ed240 ca99be40 caa68000 ca99beec ca99be48 c026ef10 c024184c c00d3219
be40: 1a364e25 1a364e25 d4502000 00001000 d4502000 d450200c d4502020 d4502033
be60: 1a364e25 00000044 000280d0 c03f1574 00000000 00000000 ffffff9c c03f1574
be80: c08927e8 000080d0 c03f1570 ce818ac0 00000000 00000000 ca99beec ca99bea8
bea0: c01472ec c0146724 000280d0 00000010 c0581d00 ca99a000 40020000 4001f000
bec0: 00100073 ca9e82a0 c08927e8 c03ed240 ca9e82a0 c08927e8 c03ed240 ca9e82c0
bee0: ca99befc ca99bef0 c026e810 c026ee28 ca99bf44 ca99bf00 c019ca14 c026e7fc
bf00: ca99bf74 ca99bf10 c0153c60 ca99bf70 00001000 4001f000 00000000 d48a7700
bf20: 4001f000 ca99bf70 00001000 4001f000 ca99a000 00000000 ca99bf6c ca99bf48
bf40: c01625e8 c019c964 00000000 00000000 00000000 00000000 d48a7700 00001000
bf60: ca99bfa4 ca99bf70 c01629fc c0162540 00000000 00000000 00000022 00000000
bf80: ffffffff 2a024d18 2a024d18 000007ff 00000003 c0027628 00000000 ca99bfa8
bfa0: c0027480 c01629c8 2a024d18 2a024d18 00000007 4001f000 00001000 00000000
bfc0: 2a024d18 2a024d18 000007ff 00000003 bece6f0c 0000000a 4017f000 bece6f0c
bfe0: 40170000 bece6e68 400aab04 400fe3fc 60000010 00000007 00002031 00002431
Backtrace:
[] (strnlen+0x0/0x34) from [] (vsnprintf+0x314/0x5b4)
[] (vsnprintf+0x0/0x5b4) from [] (sprintf+0x2c/0x34)
[] (sprintf+0x0/0x34) from [] (show_uevent+0xf8/0x140)
r3:1a364e25 r2:1a364e25 r1:c00d3219
[] (show_uevent+0x0/0x140) from [] (dev_attr_show+0x24/0x28)
r7:ca9e82c0 r6:c03ed240 r5:c08927e8 r4:ca9e82a0
[] (dev_attr_show+0x0/0x28) from [] (sysfs_read_file+0xc0/0x130)
[] (sysfs_read_file+0x0/0x130) from [] (vfs_read+0xb8/0x148)
[] (vfs_read+0x0/0x148) from [] (sys_read+0x44/0x70)
r7:00001000 r6:d48a7700 r5:00000000 r4:00000000
[] (sys_read+0x0/0x70) from [] (ret_fast_syscall+0x0/0x2c)
r8:c0027628 r7:00000003 r6:000007ff r5:2a024d18 r4:2a024d18
Code: ea000000 e2800001 e2511001 3a000002 (e5d03000)


I've removed just hal, apt-get --purge remove hal

Hmm, now it appears that the pre-install Ubuntu/Jaunty doesn't include any kernel loadablel modules for things like USB printers. Time to install stock Debian on this beastie.