My FREESCO page | A FREESCO is born | Installing packages

Installing packages

This tutorial describes how to extend the functionality of a floppy based FREESCO by installing packages. While this feature is mostly used when running FREESCO from a HD, it can still be applied to a floppy installation. With a floppy installation, packages are loaded into a ramdisk. The size of the ramdisk limit the amount/size of packages you can install. Out of the box FREESCO can have a ramdisk with a maximum size of 16MB. To use the ramdisk feature you need to have at least 20MB RAM or the ramdisk will not be created. You enable the ramdisk by doing changes in the setup program and then reboot. The ramdisk must be enabled before packages can be installed on a floppy based FREESCO installation.

Packages are installed with the pkg command which takes an URL as parameter. The URL tells the command where to download the package from. Most of the available packages can be downloaded and installed from FREESCOsoft, the FREESCO software library. When installing a package on a HD, the pkg command is issued once. After installation, the package will remain on your HD even if you reboot your FREESCO. When installing a package to RAM, things are a bit different. As the package lives in RAM, it is removed from your machine when you shut it down. This means that you have to issue the pkg command after each boot to download and re-install the package. If several FREESCO users were using this approach, the traffic from FREESCOsoft and its mirrors could be rather heavy. To reduce the traffic from the these sites, it is not possible to use them when installing packages to RAM. Instead, you have to download the package to your computer and then upload it to a web/ftp server that you have access to. When you finally issue the pkg command on your FREESCO, you do not use the URL to any of the FREESCOsoft sites. Instead you use the URL to the server that you uploaded the package to. Usually your ISP provide some web/ftp space for you that you can use. Another option is to use e.g. http://www.freewebspace.net or http://www.free-webhosts.com to find free web space. You can also use a server inside your LAN if you want. The process look something like this:

+-------------+         +---------+         +----------------+         +---------+
| FREESCOsoft +-- 1. -->| Your PC +-- 2. -->| Web/FTP server +-- 3. -->| FREESCO |
+-------------+         +---------+         +----------------+         +---------+

  1. Download the package from FREESCOsoft or other place to your local PC
  2. Upload the package to a web/ftp server
  3. Install the package on your FREESCO using the URL to the server you uploaded the package to

This page describes how to enable the ramdisk, how to find and download the package you want to install and how to install the package on your FREESCO. As a final step you can automatize the installation.

One thing to remember when installing packages to RAM is that the package will be lost in the next reboot (as it lives in RAM). Hence it is a bad idea to install packages which require extensive configuration as you will have to re-install and re-configure the package after each boot. In this tutorial I use a package called Top, used for list running processes. The package is suitable for installing to RAM as it requires little configuration and user interaction during installation.


Enable the ramdisk

Enabling the ramdisk is done with the setup program. Log in to your FREESCO as a super user and start the setup program. Select the Advanced Settings and from the Advanced Settings Menu select setting 19 (Extra ram drives):

        If you have 20MB+ of RAM. Then a 4, 8, or 16MB RAM drive will be
        installed (depending upon system memory).

 19 Install a RAM drive (y/n) [n]?

Enter a "y" to enable the ramdisk and hit Enter.

 191 Manually control the ramdisk size (y/n) [n]?

Here you have the option to adjust the size of the ramdisk. Leave this setting as suggested and press Enter. Now you are back in the Advanced Settings Menu. Exit from the menu and save your changes. Reboot your FREESCO and when booting you should see information that a ramdisk is created (the size might vary between 4 and 16 MB depending on the amount of RAM you have in your machine):

Loading extra ramdisk....              Done 16MB /mnt/ram1

[ Top ]


Finding, downloading and uploading the package

Now it is time to download the package you want to install. The best way to find packages is to go to FREESCOsoft which hosts most available packages. From the main page of this site, select the mirror closest to your location. You are redirected to the mirror site and when the start page has loaded, you can start browsing and/or searching for packages. NB! Not all FREESCOsoft mirrors are searchable, so the search function may or may not work!

After browsing/searching and finally finding the Top-package, the information page for the package is shown. The page contains a link that should be used when installing the package. A FREESCO package is really two files: a script file (the "installer") and a compressed archive (the "application"). You must download both these file to your computer. The link points to the installer, so right click the link to save the file on your hard disk. Make sure you don't save it as a text document! To download the compressed archive, the easiest way is probably to left-click the link. The installation script will then open up in the browser. Now add ".tgz" to the URL and hit return. Now the browser should start downloading the application to your hard disk.

When browsing for packages, it is also a good idea to check the package release section of the FREESCO forums. In addition to that, Lightning and Dingetje have comprehensive package libraries.

The next step is to upload the package files to the server you want to use. Remember to upload both files to a public accessible directory on the server. Once the files are uploaded to your server, verify that they are accessible by entering their addresses in your browser. You should be able to view the install script and download the package from your server. If you fail to do this, something is wrong and you will not be able to install the package on your FREESCO. Please resolve this before continuing.

[ Top ]


Install the package

Once you have uploaded the package to the server, you can install it to your FREESCO. This is done with the pkg command:

pkg -r http://address.to.your/web/server/top_1.2_tiger

If you enter the correct address you should see some information from the installation program:

Installing...                           top_1.2_tiger

top - There is no entries in inetd.conf by default.

Checking versions...                    Pv0.3.0
Checking required temp space...         Ok
Checking required disk space...         Ok
Checking dependencies...                Ok
Checking if package is installed...     Ok
Checking for existing libraries...      Ok
http://bakskuru.se/fredrik/freesco/tmp/top_1.2_tiger.tgz (128K)
/tmp/2512~/top_1.2_tiger  [########################]     128K |  774.56K/s
131526 bytes transferred in 0.17 sec (771.14k/sec)
Unpacking top_1.2_tiger.tgz .. Done
Installing inetd
Successfully installed...               top_1.2_tiger

[myR00t@Freesco]

By now the package is installed into your ramdisk and ready to run. Try it out by typing

$ top

and a list simliar to the one below should be presented to you:

  8:32pm  up 7 min,  1 user,  load average: 0.00, 0.01, 0.00
16 processes: 15 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:  0.3% user,  3.8% system,  0.0% nice, 95.7% idle
Mem:   29868K av,  17704K used,  12164K free,   3440K shrd,  11812K buff
Swap:      0K av,      0K used,      0K free                  1468K cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT  LIB %CPU %MEM   TIME COMMAND
    1 myR00t     0   0   364  364   264 S       0  0.0  1.2   0:03 init
    2 myR00t     0   0     0    0     0 SW      0  0.0  0.0   0:00 kflushd
    3 myR00t   -12 -12     0    0     0 SW<     0  0.0  0.0   0:00 kswapd
 2280 myR00t     0   0   244  244   172 S       0  0.0  0.8   0:00 agetty
 2281 myR00t     0   0   244  244   172 S       0  0.0  0.8   0:00 agetty
 2282 myR00t     2   0   708  708   388 S       0  0.0  2.3   0:00 dropbear
  272 myR00t     0   0   344  344   252 S       0  0.0  1.1   0:00 syslogd
  407 myR00t     0   0   340  340   216 S       0  0.0  1.1   0:00 klogd
 2266 myR00t    10  10   312  312   220 S N     0  0.0  1.0   0:00 logrotate
 2283 myR00t     0   0   300  300   192 S       0  0.0  1.0   0:00 ile
  893 myR00t     0   0   284  284   208 S       0  0.0  0.9   0:00 update
 2313 myR00t    18   0   292  292   204 S       0  0.0  0.9   0:00 sh
 2709 myR00t    18   0   584  584   392 R       0  0.0  1.9   0:00 top
 1986 myR00t     0   0   392  392   304 S       0  0.0  1.3   0:00 dropbear
  941 myR00t     0   0   312  312   232 S       0  0.0  1.0   0:00 dhcpcd
 2050 nobody     0   0   404  404   248 S       0  0.0  1.3   0:00 dnsmasq

To get back to the prompt, just hit the 'q' key.

[ Top ]


Installing packages automatically

As packages installed in the ramdisk are lost when you reboot your machine, you need to install them each time you restart your FREESCO. This installation can be done automatically by adding the installation command to one of the setup files of your FREESCO. When you start your FREESCO, a file named rc_user is run once. Hence this is good place to put the install command.

Be careful when using this approach to install packages. If the package requires you to input data during the installation, your FREESCO will stall during the boot, awaiting your input. As the Top package doesn't require any user input, it is perfectly suitable for installing this way.

Log in to your FREESCO as super user and open the rc_user file in an editor:

edit /mnt/bootdev/router/pkg/rc/rc_user

In the file you will see a start)-section. On the line before the equal sign, add the install command (the same you used when you installed the package earlier) so the section look like this:

        start) echo -s "Starting rc_user..."
               pkg -r http://address.to.your/web/server/top_1.2_tiger
               =
               ;;

Press F10 to save your changes and reboot your FREESCO. The next time FREESCO boots, it will start the installation of the package automatically. To verify the package installs as expected, reboot your FREESCO. During boot, the Top package should be installed autmatically. Once the system has booted, verify that the package is installed by typing

[root@Freesco] pkg -l

at the prompt. This lists all installed packages and you should see top_1.2_tiger in the list.

[ Top ]


Page author: My email

Last modified: Wed Apr 16 20:51:28 CEST 2008

Valid HTML 4.01!