How to use uCLinux on the PSP (Jackson Mo’s port)


uCLinux - Jackson Mo (screenshot)

Once you’ve booted in the uCLinux, you will notice a red square block in the top right. Press & hold the shoulder buttons on the PSP to expand the box to show a keyboard layout.

L:          Numbers and symbols
R:          Letters and symbols
L + R:   Capital letters and symbols

With the chosen shoulder button held down, use the joystick to move the red cursor to the required letter. The TriangleCircleCrossSquare buttons represent the four characters of the highlight box, in respective location.

Type ‘help‘ for a list of commands.
[ENTER] is Circle pressed without the shoulder buttons being held down.

This will show the following commands…

break:

To escape/pause a process or script. Must actually be in a process before being able to break from it.

cd:

Change directory.

Continue:

Advance within a controlling while, for, foreach or until loop. The opposite of a ‘break’ command.

Eval:

Sort for evaluate, eval is a function that equates a given sum. A Perl example:

my $one = 1;
my $two = 2;
my $total = 0;
my $example = '$total = $one + $two';
eval $example;
print $total;

Exec:

Exec is a BOURNE and POSIX shell command that replaces the current shell process with the command specified after exec and does not create a new PID. Running exec <command>, the shell will be replaced by that command.

Exit:

Allows you to exit from a program, shell or log you out.

Export:

The process of transferring data from one computer or program to another – In another sense, the method of backing up portions of important data.

Help:

Show built-in commands as a list.

Login:

The process of logging in a user with a username and password.

Newgrp:

Log into a group.

Syntax:

newgrp [ -| -l ] [ group ] [argument]

– | -l Change the environment to what would be expected if the user actually logged in again as a member of the new group.
group A group name from the group database or a non negative numeric group ID. Specifies the group ID to which the real and effective group IDs will be set. If group is a non-negative numeric string and exists in the group database as a group name, the numeric group ID associated with that group name will be used as the group ID.
argument sh and kshonly. Options and operand of the newgrp command.

Read:

To obtain information from a drive so that it can be displayed or processed.

Readonly:

To be able to read data or a directory without making any alterations.

Set:

Sets the value of an environment variable.

Syntax:

set [–] [-a] [-e] [-f] [-h] [-k] [-m] [-n] [-p] [-s] [-t] [-u] [-v] [-x] [ -o option ] [ -A name ] [arg]

Do not change any of the flags; useful in setting $1 to -.
-a Mark variables which are modified or created for export.
-e Exit immediately if a command exits with a nonzero exit status.
-f Disable file name generation.
-h Locate and remember function commands as functions are defined (function commands are normally located when the function is executed).
-k All keyword arguments are placed in the environment for a command, not just those that
precede the command name.
-m Background jobs will run in a separate process group and a line will print upon completion. The exit status of background jobs is reported in a completion message. On systems with job control, this flag is turned on automatically for interactive shells.
-n Read commands but do not execute them.
-p Disables processing of the $HOME/.profile file and uses the file /etc/suid_profile instead of the ENV file. This mode is on whenever the effective uid is not equal to the real uid, or when the effective gid is not equal to the real gid. Turning this off causes the effective uid and gid to be set to the real uid and gid.
-s Sort the positional parameters lexicographically.
-t Exit after reading and executing one command.
-u Treat unset variables as an error when substituting.
-v Print shell input lines as they are read.
-x Print commands and their arguments as they are executed.
-o option The following argument can be one of the following option names:

allexport Same as -a.
errexit Same as -e.
bgnice All background jobs are run at a lower priority. This is the default mode. emacs Puts you in an emacs style in-line editor for command entry.
gmacs Puts you in a gmacs style in-line editor
for command entry.
ignoreeof The shell will not exit on end-of-file. The command exit must be used.
keyword Same as -k.
markdirs All directory names resulting from file name generation have a trailing / appended.
monitor Same as -m.
noclobber Prevents redirection > from truncating existing files. Require >| to truncate a file when turned on.
noexec Same as -n.
noglob Same as -f.
nolog Do not save function definitions in history file.
nounset Same as -u.
privileged Same as -p.
verbose Same as -v.
trackball Same as -h.
vi Puts you in insert mode of a vi style in-line editor until you hit escape character 033. This puts you in control mode. A return sends the line.
viraw Each character is processed as it is typed in vi mode.
xtrace Same as -x.
-A name Array assignment. Unset the variable name and assign values sequentially from the list arg. If +A is used, the variable name is not unset first.

Shift:

Changes the position of replaceable parameters in a batch file.

Times:

Used to time a simple command.

Syntax:

times [-p] utility [argument]

-p Write the timing output to standard error in the following format:real %f\nuser %f\nsys %f\n < real seconds>, <user seconds>, <system seconds>
utility The name of the utility that is to be invoked.
argument Any string to be supplied as an argument when invoking utility.

Trap:

Acts as an interrupt to tell a process to stop and wait for further instructions.

Umask:

Get or set the file mode creation mask.

Syntax:

umask [-S] [000] [mask]

-S Produce symbolic output.The default output style is unspecified, but will be recognized on a subsequent invocation of umask on the same system as a mask operand to restore the previous file mode creation mask.
000 Any three octal digits used for permissions.

Wait:

Await process completion.

Syntax:

wait [pid] [jobid]

pid The unsigned decimal integer process ID of a command, for which the utility is to wait for the termination.
jobid A job control job ID that identifies a background process group to be waited for. The job control job ID notation is applicable only for invocations of wait in the current shell execution environment, and only on systems supporting the job control option.

 

Source: http://www.computerhope.com

 

  • Anon

    I can’t seem to exit out of the shell. Help?

    • I believe you just type ‘exit’.

  • Ilhami

    How to download on Psp?

    • You need to extract the files into the game folder on the memory stick. The PSP will need to be able to run homebrew, for it to work; there are guides out there on how to enable it.

  • Nico

    Can i run android apps (games) on this?

  • ki2ne

    Are there any tutorials for using the toolchain to build binaries that can run on this environment?
    I just downloaded and I’m getting a bunch of errors.

    • Sorry for the slow response, and not so helpful one either. I do not know of any tutorials that may help, all I can suggest is joining the Google Group and announce your question there, as many will not notice it here.

  • Michal5575

    Can I install ubuntu programs here? If yes with what command?

    • Michal5575

      Or programs from other linux distributions?

      • It would be amazing if Ubuntu programs could be installed on the fly… but this isn’t the case. It is all down to the Memory Management Unit (MMU) being non-existent. If it were existent Ubuntu itself could be installed.

        There was talk of making the memory stick the MMU… but I think that was just hot air.

        There are uClinux apps out there… but they are a headache to get your head around. It would be ideal to have a system like apt-get.

  • Antonios

    Guys, I can’t make the virtual keyboard appear! I just see a red mouse icon on the upper-right corner and when I press and hold the shoulder buttons nothing happens! Can anyone help please? 🙂

    • Interesting… Someone else mentioned this, but I don’t know if it was because they didn’t know how to. What psp model you using? It works fine on the psp fat. Maybe the previous comment may help?

      • Antonios

         I’m not using 5.00 m33-3 so I’ll try it! I want SO much to make it work. I have a PSP E1000 model.

  • Robby

    Thanks for this, didn’t work on 5.00 m33 but it did after upgrading 5.00 M33 6.