GP2X is cool Linux stuff

gp2x

I like Linux and I’m glade to see/have Linux-based devices. One of them is Internet tablet Nokia770. It’s really geek and cool. A new game console GP2X is also based on Linux. It’s powered by Dual core CPU, supports MPEG 4, XviD, DivX, MP3, OGG, JPG, BMP, PCX, GIF, PNG and allows to read eBooks. CPU which has 2D accelerator enables you enjoy games anytime anywhere. Only two things are missed (IMHO): Internet browse and built-in Wi-Fi.

Installation VMvare Workstation on Fedora 5

VMware

I use WMvare Workstation 5 on my home PC under Windows about four months. Once I decided to try it on Linux. Installation of VMware is more or less trivial. First, download VMware Workstation for Linux (I chose RPM) and install it. After that before the first running VMware it should be configured using VMware config script:
vmware-config.pl
But there is the first trick. It needs to build a module for the kernel. Therefore the kernel header should be installed:
yum install kernel-devel
On my PC kernel headers were placed in the /lib/modules/2.6.16-1.2080_FC5/build/include. But as I understand the script cannot parse correctly the latest kernel’s version names. You have to apply this simple patch to the vmware-config.pl:
--- vmware-config.pl.old 2005-12-15 21:55:24.000000000 -0800
+++ vmware-config.pl 2006-02-04 16:53:06.000000000 -0800
@@ -1969,8 +1969,8 @@
. ' -E - | ' . shell_string($gHelper{'grep'}) . ' '
. shell_string($pattern));
chomp($header_page_offset);
- $header_page_offset =~ s/^$pattern \(?0x([0-9a-fA-F]{8,}).*$/$1/;
- if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) {
+ if ($header_page_offset =~ /^$pattern \(?0x([0-9a-fA-F]{8,})/) {
+ $header_page_offset = $1;
# We found a valid page offset
if (defined($gSystem{'page_offset'}) and
not (lc($header_page_offset) eq lc($gSystem{'page_offset'})))

Continue reading Installation VMvare Workstation on Fedora 5

Upgrade to Fedora Core 5 finished!

My epic work with upgrade to Fedora Core 5 finished successful this morning. As I wrote there was only one problem after upgrade – Embperl gave a Segmentation fault. Gerald spent more than two weeks tried to resolve this. During this time he released a new version of Embperl which was adapted for latest version of Apache. But it still didn’t work properly. Funally, Gerald gave me a right point to solve the problem. He suspected that the sources and binaries of Apache were mixed up i. e. there belonged to different versions. I removed the package httpd_devel and deleted the directory /usr/include/httpd manually (some Apache headers remained there). Then I reistalled httpd_devel and recompiled Embperl. After that Embperl started work correctly!
Well it’s time to make an upgrade at home 🙂

The first LINUX-based sequencer

Mediastation-X-76

Lionstracs released the Mediastation X-76, a next generation music workstation & performance keyboard based on Linux and AMD’s 32bit Athlon or 64 bit Opteron CPUs in 2004. This isn’t news but nevertheless it very interesting device:

The sound generation system is based on a combination between DSP and software synthesis: a total of 256 voices provided by DREAM DSP chips to provide GM/GS sounds. Besides hardware DSPs a an additive/subtractive softsynth is provided for synthetic sounds and a software sampler that can stream multi Gigabyte samples in GIG format directly from disk.
The architecture is completely open and most of the software empowering the Mediastation X-76 will be released under the GPL open source license which allows for royalty-free third party developer contribution and extension of audio libraries and applications. Customers get free automated software upgrades delivered by connecting the keyboard to the internet through a LAN cable.

The price of X-76 is about €2990.

Mediastation-X-76

Upgrade to Fedora Core 5

After upgrade to Fedora Core 5 I spent one-two days to resolve some problems. First were are the same as after upgrade to Fedora Core 4. Sure I supposed that Fedora is too crude and it was my choice 🙂

1. Embperl
New Feodra contains latest Apache and mod_perl. As I understand Embperl development team didn’t follow them. That’s why after upgrade Embperl-based web applications give Segmentation fault. There is a patch to compile correctly Embperl with Apache 2.2 (I got it from Embperl maillist and just formatted it and stored in the separate files). But it didn’t solve my problem. I sent stackbacktrace to Gerald Richter but he didn’t answer me yet.

2. SugarCRM

PHP applications worked fine after upgrade except SugarCRM. It gave me Segmentation fault after submit the login form. One guy from SugarCRM forum suggested me to replace a new PHP.INI by previous one. After that SugarCRM started work correctly. I don’t know what exactly was wrong with PHP and SugarCRM but I don’t have a time and a desire to dig it.

3. SELINUX

When I run a system utility system-config-securitylevel and tried to disable SELINUX it gave me a following error:
Traceback (most recent call last):
File "/usr/share/system-config-securitylevel/securitylevel.py", line 240, in okClicked
rc = self.apply()
File "/usr/share/system-config-securitylevel/securitylevel.py", line 402, in apply
self.selinuxPage.apply()
File "/usr/share/system-config-securitylevel/selinuxPage.py", line 379, in apply
type=self.getType()
File "/usr/share/system-config-securitylevel/selinuxPage.py", line 371, in getType
return self.types[self.selinuxTypeOptionMenu.get_active()]
IndexError: list index out of range

Following packages should be installed to avoid this error and run system-config-securitylevel correctly:

  • selinux-policy-targeted
  • selinux-policy-strict

Howto get Apache stackbacktrace

Recently I faced with problem: Embperl started give Segmentation fault after upgrade to Fedora Core 5. To resolve this problem Gerald Richard – the author of Embperl asked me send him Apache stackbacktrace. I didn’t do this before. I made a search and found a simple receipt howto get the stackbacktrace.

  1. start gdb:
    gdb httpd
  2. we have to specify config file for Apache and define a set single-process mode (option -X):
    set args -f /path/to/your/httpd.conf -X
  3. start Apache process:
    r
  4. make a request via web browser
  5. after display a message about Segmentation fault in the gdb console type a command BT:
    BT

Now you can analyse given backtrace or send it to the application author.

Funny grep under Debian

Recently I played with Plutohome which is based on Debian I found some strange thing with grep. When I tried to find the word ‘pluto’ in the directory /etc/init.d:
grep -i pluto /etc/init.d/* -n
I was very surprised when I saw error messages about missing files in this directory. It seems that grep under Debian uses locate to retrieve a list of files for specified directory. Maybe it isn’t a common case. It looks strange because the indexes for command locate are updated once at night. Some new files which are not indexed yet won’t be in the grep input and result won’t be correct.

Prepare for Nokia 770 development

Recently Nokia has released an excellent device – Internet Tablet 770. It’s based on Debian Linux and it seems attractive for open source developers (see a bunch of already created applications). My interest for Nokia 770 conditions on possibility to use it as Plutohome Orbiter – graphical console to controle Smarthome system. It’s compact, has touch-screen and supports SDL – Simple DirectMedia Layer which is used to build a graphical user interface for Orbiter.
To start programming for Nokia 770 you have to setup development environment included Scratchbox cross-compilation toolkit, Maemo SDK rootstrap and X server (Xephyr or Xnest). The process of installation those software is described clearly here but there is a simlier way to do it. You need to download an installer and it does all work for you: downloads tarballs, installs and configures them. you need to just answer to a couple questions, prepare a cup of coffee and read your favourite news 🙂
I’ve already tried both ways. I’d like to say that the sacond is the best!