I am having many problems with compatibility among maemo shell commands and modern GNU commands. Any help will be appreciated:
1) As an example, xargs does not accept the option -0 (the only reason why I use xargs), or egrep does not accept the option -U. I suppose that this is to make the programs smaller/lighter, but it makes bash scripts hard to port. How do you solve this?
2) I installed bash 3.2 from extras, and I use history expansion a lot. I am used to expand using some leters of the command name, like: 'mo<UP>' to show previous commands that begin with 'mo'. But maemo bash ignores the 'mo', and shows the very last command. What I am missing?
3) When using history expansion with the <UP> arrow, sometimes there are some 'trash' of previous commands that makes hard to edit them. Like:
Nokia:~> firefox httmediaplayer-ui
instead of
Nokia:~> mediaplayer-ui
Maybe this has to do with the PS1 variable I use? Or terminfo?
4) I installed mc, but it shows lots of trash in my xterm. Perhaps the TERM=xterm variable is incorrect?
And, BTW, where can I find maemo xargs man page?
.
Maemo uses Busybox for many of the shell commands. That's why there are missing features compared to the full GNU tools. It is to save space (a lot of it, actually) just as you thought. You can view documentation about Busybox commands on its website, but bear in mind that Maemo Diablo uses Busybox v1.6.1 (released May 2008).
I don't know about mc compatibility with Maemo xterm. I've never tried it.
Maemo uses Busybox for many of the shell commands. That's why there are missing features compared to the full GNU tools. It is to save space (a lot of it, actually) just as you thought. You can view documentation about Busybox commands on its website, but bear in mind that Maemo Diablo uses Busybox v1.6.1 (released May 2008).
I see. Acutally, that BusyBox 'spam' message that appears many times in the console is quite annoying...
2) I installed bash 3.2 from extras, and I use history expansion a lot. I am used to expand using some leters of the command name, like: 'mo<UP>' to show previous commands that begin with 'mo'. But maemo bash ignores the 'mo', and shows the very last command. What I am missing?
An .inputrc is what you need. But when you have played some time with ctrl-r, you'll never need this anymore.
PHP Code:
# search in the history (up & down) "\e[A": history-search-backward "\e[B": history-search-forward
You often see busybox on linux embedded system with limited resources
Maemo uses Busybox for many of the shell commands. That's why there are missing features compared to the full GNU tools. It is to save space (a lot of it, actually) just as you thought. You can view documentation about Busybox commands on its website, but bear in mind that Maemo Diablo uses Busybox v1.6.1 (released May 2008).
Not only is it a space issue (storage and RAM), it's a performance issue. Substituting bash/GNUtils for BusyBox will more than double the boot time.
There will be some compatibility improvements for Fremantle.
Just query for Busybox bugs (also in RESOLVED/VERIFIED/CLOSED state) in https://bugs.maemo.org .
I'm sure a lot of people also will want manpages directly accessible on the device...
I don't think it's only the boot time that is impacted (who cares anyway). Some embedded systems I've worked on were never rebooted but still busybox was the only way with limited resources.