How to update and flash the kernel on the Netwalker (Sharp PC-Z1)

The Netwalker is a very small laptop computer with an ARM CPU, running Ubuntu GNU/Linux. As it uses flash memory instead of a hard drive, you need a special procedure to update the kernel (the Netwalker does not use standard boot loader like Lilo or Grub). This small how to describes how to compile the Linux kernel for the Netwalker, and then how to flash the kernel. I will provide interesting kernel hacks later on this blog.

Compiling the kernel

I used the kernel from Canonical archive. The sources are available here: http://netbook-remix.archive.canonical.com/updates/pool/public/l/linux-fsl-imx51/linux-fsl-imx51_2.6.28-15.50fsl1araneo7.tar.gz. It is not the same sources used by Sharp, but they work well.

Then, you can grab the Sharp's Netwalker kernel configuration in /sys/config.gz . Uncompress it, rename it ".config", and move it in the kernel source directory. Add in the kernel config the option CONFIG_KS7010_SDIO for the Wifi (strangely it is not present in /sys/config.gz).

Finally, compile the Linux kernel as usual, and install it.

Flashing the kernel

  1. You need a 2 Gb (or more) microSD / microSDHC card. BEWARE : the card will be reformatted and any data on the card will be deleted! You should also make a safe copy of any data on the Netwalker.

  2. Create a microSD recovery card; instruction are in Japanese on Sharp's website, so here is a summary.

  3. Download this script, and uncompress it: http://www.sharp.co.jp/support/ex-data/recovery.sh.tar.gz

  4. Insert the microSD card in the Netwalker, connect the Netwalker to Internet, and run the script. The script will set up the recovery card. It downloads many data (about 1 Gb) and thus it takes several hours.

  5. The microSD recovery card can be used to reset the Netwalker, reflashing the kernel and erasing all data. This can be done by shutting down the Netwalker, and pressing both mouse button at start- up (you need to press the button quite a long time). However, this is not what we want to do: the objective of this how-to is to flash only the kernel. To do so, follow the next steps.

  6. Mount the microSD card. This can be done with these commands:

mkdir /tmp/test
mount /dev/mmcblk0p1 /tmp/test
  1. Edit file /tmp/test/firmware/spider.srp ,and remove the line "5,ubi.img". This line is responsible for erasing all data on the Netwalker. The next line (4,zImage) is responsible for flashing the kernel, so we keep it.

  2. Replace /tmp/test/firmware/zImage by the new kernel image (typically /boot/vmlinuzXXX).

  3. Edit file /tmp/test/usr/local/bin/update_spider.sh . At line 47 and following, add /tmp/test before /usr/local/bin/... (there is 5 lines to modify).

  4. Connect the Netwalker's power cable.

  5. Run /tmp/test/usr/local/bin/update_spider.sh . Then press "y", wait a few second and press any key to exit.

  6. The kernel has been flashed! Now, reboot the Netwalker and enjoy your new kernel!

Arkanae III 0.1

The first stable release of Arkanae III (0.1) is available! This release includes the two first chapters of the game, which represent about 20% of the game. However, the bad news for you, English reader, is that it is currently available only in French.

Songwrite 2 0.2.1

Songwrite 2 0.2.1 is out ! It fixes many bugs of version 0.2. It is also possible to run it on Qtopia, e.g. on a Zaurus ! This version requires EditObj 2 0.2.1.

Here is the change log :

  • Qt / Qtopia support (tested on Sharp Zaurus)

  • When selecting a note, take the current duration into account in a smarter way

  • Allow to hide the edition panel

Bugfixes:

  • Fix songref in songbook edition dialog box

  • Fix default filename when exporting

  • Fix filename filter bug in import / export

  • Fix legato in ABC importer

  • Fix dot in ABC importer

  • Fix playlist analysis in ABC importer

  • Fix partial bars in ABC importer

  • Fix hammer/pull update when the second note is modified

  • Fix zoom when editing a new song

  • Fix quarter tripplets

  • Fix Texttab importer and exporter (string tuning was messing around, thanks Adrian Quark)

  • Fix launching from source directory (thanks Slawek)

Songwrite 2 0.2 : Tin whistle release

Songwrite 2 0.2 is out !

It adds support for flute fingering notations (i.e. small schema showing which holes should be covered in the flute, see the screenshot section) for tin whistle and recorder. It also support 6/8 and jig rhythms and can import file in the ABC format, two useful features for Irish music.

Finally, it also provides a new PDF exporter, which is now independent from Lilypond (Consequently, Lilypond is no longer a requirement for Songwrite 2). Lilypond is no longer used for PDF export, because it has poor support for non-staff notations (like tablature or fingering), and because incompatibilities are frequent between two version of Lilypond.

Songwrite 2 0.2 requires the lastest version of EditObj2 (0.2).

Balazar III 0.1

The first version of Balazar III is out !

This version is entirely functional, but includes only a single playable character, a single monster, and not a lot of items, powers and rooms. It is still fun and you can get an idea of the game. The network mode is quite advanced; it is quite powerful and should support a high number of simultaneous players.

Soya 0.14 is out !

The new version of Soya, 0.14, is out. Here is the complete changelog for 0.14:

  • August 2008 : Soya3D 0.14

  • Improved the cell-shading algorithm, by anti-aliasing outlines and disabling normal lighting when cell-shading is used

  • Bugfixes:

  • When re-starting a MainLoop, define it as the current MainLoop (aka. soya.MAIN_LOOP)

Cerealizer 0.7

Cerealizer 0.7 is out!

It now allows to dump() things repeatedly to a stream or file, and then load() things repeatedly out of it.

Many thanks to Peter Eckersley !

Soya 0.14rc1 is out !

A new version of Soya, 0.14rc1, is out. This release includes many bugfixes and has been updated for latest release of Pyrex. It also includes a new GUI module called soya.gui (see the gui-* tutos for demo).

Here is the complete changelog:

  • January 2008 : Soya3D 0.14rc1

  • Allow the centre of mass of a Body to be anywhere in its local coordinate system (thanks Greg Ewing)

  • Improve tutorial README (thanks Jacques Rebourcier)

  • Update for Pyrex 0.9.6.2 (thanks Greg Ewing)

  • Blender => Cal3D can now run with Python 2.3 (thanks Greg Ewing)

  • New GUI module soya.gui

  • Bugfixes:

  • Fix the weird segfaulting bug in terrain (thanks Souvarine)

  • Fix GL_INVALID_ENUM crash with the OSS ATI DRI driver (thanks Zoltan Dome)

  • Fix data/worldS and data/blender in the yet-in

  • Fix speed-1.py tuto

  • Fog was activated by error on partial camera with no atmosphere

  • Fix descender computation in font

  • Fix ODE on terrain (tuto ode-collision-8-terrain.py)

New Soya's GUI preview

I'm currently working on a new widget system for Soya.

It will feature advanced widgets such as scroll panes or flying windows, as well as a nice automatic dimensioning system, even better than GTK and Tk ones !

For now, I'm focusing on the widget's logic, and not on their graphical aspect.

The final goal being to add Soya's support to EditObj 2, in order to be able to generate dialog boxes in Soya for editing various game objects. Can be usefull for game editor but also for many complex games (roleplaying games, strategy games,...). I'm precisely thinking about new game projects in that area.

Here are some screenshots using various styles :

Songwrite 2 0.1.2

Songwrite 2 0.1.2 fixes a few bugs that were remaining in 0.1 and 0.1.1, namely :

  • Guitar pro importer was missing

  • Fix copy / paste of notes with alterations on staffs

  • Fix view name translation

  • Fix "AttributeError: 'ObjectPack' object has no attribute 'song'" when selecting notes

  • Fix copy-paste between different windows

You can get it there.

Songwrite 2 0.1

Here is a first stable release of Songwrite 2!

Songwrite 2 is a tablature editor for Linux, written in Python with GTK and Cairo. A tablature is a guitar partition ; Songwrite 2 supports many string instruments in addition to traditional staffs.

With Songwrite 2 you can...

  • ... edit tablatures (guitar, bass, banjo,...) and staff, and add lyrics to write your own songs !

  • ...create your own songbook

  • ... play your partitions

  • ... print your partitions and your songs

  • ...convert automatically staffs to tablatures and tablatures to staffs

  • ...export your songs into many formats (PDF, Midi, ASCII tablatures, GNU Lilypond, LaTeX, PostScript,...)

  • ... import Guitar Pro 3 / 4 file (experimental)

Songwrite 2 is a complete rewrite of Songwrite 1 with :

  • A new interface based on Gtk 2 and Cairo, with anti-aliasing

  • A new staff rendering engine, now handling tonality and alteration correctly

  • A new plugin system

  • A new documentation

  • Printing support updated for recent version of Lilypond (2.11.20 and above)

EditObj 2 0.1rc1 is out !

This is the very first release of EditObj 2.

It is a full rewrite of EditObj 1, and it now supports both Tk and Gtk 2.

Songwrite 2 0.1rc1

This is the very first release of Songwrite 2!

It is a complete rewrite with a new interface based on Gtk 2 and Cairo. Try it immediately!

Towards Songwrite 2 !

Here is a screenshot of an in-development version of Songwrite 2. The interface is totally rewritten.

Technically speaking, it uses GTK2 and Cairo, along with EditObj 2 (an improved version of EditObj which support GTK in addition to Tk).

Graphically speaking, it features antialiased text and graphics, funny icons, and four edition modes corresponding to the four tabs at the bottom of the window : Song mode, Partition mode, Time mode, and Note mode. The notebook automatically displays the attributes of the selected object(s) (possibly several of them).

Hope to release that soon ;-)

../_images/sw2.png