RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → General →

RIC OS Lite

Subscribe to RIC OS Lite 9 posts, 5 voices

 
Jul 23, 2011 1:36pm
Avatar Chris Hall (132) 280 posts

I am trying to put together a ‘painless’ way for a Beagleboard uder who has never heard of RISC OS to give it a try.

The constraint is that he must be able to boot up into RISC OS with no external RISC OS drive.

Instructions would require him to put files ‘boot.scr’, ‘uEnv.txt’ and ‘riscos’ onto the SD card (which we already have done).

Edit: note file ‘uEnv.txt’ above added so that these instructions work both with the new and old SD card images.

Then to put three files ‘RunMe’, ‘EtherUsb’ and ‘HardDisc4/util’ onto a pendrive no bigger than 2Gbytes in size.

Booting the Beaglebaord will then show a ‘*’ prompt at which the user types ‘Exec RunMe’

The problem is that everything works, with RISC OS booting up nicely into the desktop [I shall add lots of Help files about various things later] using the RAM filing system as the boot drive, with no errors, except that the network does not start up. There is obviously something subtle I am not doing correctly. Any ideas please?Edit – all working now

The file ‘RunMe’ (edited 2100 Sat 23 July) is given below:

*| This file will be run using '*Exec RunMe'
*| Set status to convenient values for BBXM
*| In lieu of a file 'cmos' on the SD card
*status FileSystem SCSI
*status SCSIFSDrive 0
*status CDROMDrives 0
*basic
REM Allocate 64Mbytes to the RAM filing system
SYS "OS_ChangeDynamicArea",5,64000000
QUIT
*| Set file type of default HardDisc image
*settype HardDisc4/util Utility
*| Copy this self-extracting image to the RAM disc
*copy HardDisc4/util RAM::0.$.* ~c ~v
*| Copy network driver EtherUSB 0.12 if present
*| obtain from the URL below:
*| <a href="http://effarig.co.uk/riscos/">http://effarig.co.uk/riscos/</a>
*ifthere EtherUSB then copy EtherUSB RAM::0.$.* ~c ~v else echo Netowrk driver not present
*| Select the RAM filing system
*ram
*| Extract the necessary 'vanilla' boot image
*run HardDisc4/util
*| Move it into the root directory of the RAM disc
*copy HardDisc4.* * ~c d r ~v
*delete HardDisc4
*delete HardDisc4/util
*Dir !Boot.Resources.!System.310.Modules
*CDir Network
*Dir
BASIC
REM Now add networking for the BBXM
P=OPENIN"EtherUSB"
IF P<>0 THEN
  CLOSE#P
  *SetType EtherUSB Module
  P=OPENOUT"SetUpNet"
  BPUT#P,"Run BootResources:!Internet"
  CLOSE#P
  *SetType SetUpNet Obey
  *Access !Boot.RO510Hook.Boot.PreDesk.SetUpNet /RW
  *Copy SetUpNet !Boot.RO510Hook.Boot.PreDesk.SetUpNet ~c ~v f
  *Access !Boot.RO510Hook.Boot.PreDesk.SetUpNet RW/R
  *Access !Boot.RO500Hook.Boot.PreDesk.SetUpNet /RW
  *Copy SetUpNet !Boot.RO500Hook.Boot.PreDesk.SetUpNet ~c ~v f d
  *Copy EtherUSB RAM::0.$.!Boot.Resources.!System.310.Modules.Network.* ~c ~v d
  *Access !Boot.RO500Hook.Boot.PreDesk.SetUpNet RW/R
  *Dir !Boot.Choices
  *CDir Internet
  *Dir
  P=OPENOUT"!Boot.Choices.Internet.Routes"
  BPUT#P,"|=====================================================================|"
  BPUT#P,"| Routes file for !Internet V5.39 (10-Jan-03)                         |"
  BPUT#P,"|                                                                     |"
  BPUT#P,"| Place any extra *Route commands, apart from the default route that  |"
  BPUT#P,"| can be set using !InetConf, into this file.                         |"
  BPUT#P,"|                                                                     |"
  BPUT#P,"| For example, if your machine is connected to net 1, and you wish to |"
  BPUT#P,"| establish a route to net 2 via the interface 1.0.0.2 on a gateway:  |"
  BPUT#P,"|                                                                     |"
  BPUT#P,"| IF ""<Inet$Error>"" = """" THEN Route -e add -net 2 1.0.0.2             |"
  BPUT#P,"|                                                                     |"
  BPUT#P,"| (The IF...THEN statement above is necessary, as is the '-e'         |"
  BPUT#P,"| parameter.)                                                         |"
  BPUT#P,"|                                                                     |"
  BPUT#P,"|=====================================================================|"
  CLOSE#P
  *SetType !Boot.Choices.Internet.Routes Obey
  P=OPENOUT"!Boot.Choices.Internet.StartUp"
  BPUT#P,"|================================================================|"
  BPUT#P,"| Startup file for !Internet V5.39 (10-Jan-03)                   |"
  BPUT#P,"|                                                                |"
  BPUT#P,"| This file was automatically generated by !InetSetup. Do not    |"
  BPUT#P,"| edit it by hand unless you REALLY, REALLY, know what you're    |"
  BPUT#P,"| doing. Comments and spacing are significant to !InetSetup.     |"
  BPUT#P,"|                                                                |"
  BPUT#P,"| If you want to add extra configuration options, place them in  |"
  BPUT#P,"| the User file.                                                 |"
  BPUT#P,"|================================================================|"
  BPUT#P,""
  BPUT#P,"|"
  BPUT#P,"| Host name"
  BPUT#P,"|"
  BPUT#P,"Set Inet$HostName myname"
  BPUT#P,"Set Inet$LocalDomain .nom"
  BPUT#P,"Set Inet$EtherDevice EtherUSB"
  BPUT#P,"Set Inet$EtherIPAddr 10.0.0.68"
  BPUT#P,"Set Inet$EtherIPMask 255.0.0.0"
  BPUT#P,"|"
  BPUT#P,"| Interface: EtherUSB"
  BPUT#P,"|"
  BPUT#P,"RMEnsure EtherUSB 0.09 RMLoad System:Modules.Network.EtherUSB"
  BPUT#P,"IfConfig -e ej0 10.0.0.68 netmask 255.0.0.0"
  BPUT#P,"CheckError"
  BPUT#P,"Set Inet$EtherTypeA <Inet$EtherType>"
  BPUT#P,"|"
  BPUT#P,"| Loopback"
  BPUT#P,"|"
  BPUT#P,"IfConfig -e lo0 127.0.0.1"
  BPUT#P,"CheckError"
  BPUT#P,"Set Inet$EtherType <Inet$EtherTypeA>"
  BPUT#P,"Unset Inet$EtherTypeA"
  BPUT#P,"|"
  BPUT#P,"| Name resolver"
  BPUT#P,"|"
  BPUT#P,"If ""<Inet$Resolvers>"" = """" Then Set Inet$Resolvers 10.0.0.2 212.139.132.6 212.139.132.21"
  BPUT#P,"Set Alias$InetLoadResolver ""If <Boot$OSVersion> > 370 Then X ResolverConfig Else RMEnsure Resolver 0.55 RMLoad System:Modules.Network.Resolver"""
  BPUT#P,"SetEval Test$Eval 1"
  BPUT#P,"RMEnsure Resolver 0.55 SetEval Test$Eval 0"
  BPUT#P,"If Test$Eval THEN ResolverConfig"
  BPUT#P,"Unset Test$Eval"
  BPUT#P,"|"
  BPUT#P,"| Routing"
  BPUT#P,"|"
  BPUT#P,"Route -e add default 10.0.0.2"
  BPUT#P,"CheckError"
  BPUT#P,"Run Choices:Internet.Routes"
  BPUT#P,"CheckError"
  BPUT#P,"Set Inet$IsGateway """""
  BPUT#P,"Set Inet$RouteDOptions """"" 
  BPUT#P,"|"
  BPUT#P,"| Access"
  BPUT#P,"|"
  BPUT#P,"IfThere Resources:$.Resources.ShareFS.!Boot then Run Resources:$.Resources.ShareFS.!Boot"
  BPUT#P,"RMFind Freeway 0.26 System:Modules.Network.Freeway"
  BPUT#P,"RMFind ShareFS 3.38 System:Modules.Network.Share+"
  BPUT#P,"SetEval Inet$KickFiler 1"
  CLOSE#P
  *SetType !Boot.Choices.Internet.StartUp Obey
  P=OPENOUT"!Boot.RO510Hook.Boot.Tasks.Help"
  BPUT#P,"RISC OS is running with its resources provided by"
  BPUT#P,"the RAM disc"
  BPUT#P,"This 'Lite' version of RISC OS is fully functioning"
  BPUT#P,"but cannot be reconfigured because a reboot would"
  BPUT#P,"clear the RAM disc. With external RISC OS data"
  BPUT#P,"storage the set up can be adjusted and RISC OS"
  BPUT#P,"rebooted with the new settings."
  BPUT#P,""
  BPUT#P,"The screen size can be adjusted by clicking on the"
  BPUT#P,"monitor icon below"
  BPUT#P,""
  BPUT#P,"To access any shared RISC OS discs on the network"
  BPUT#P,"click on the 'Discs' icon below."
  BPUT#P,""
  BPUT#P,""
  BPUT#P,""
  CLOSE#P
  *SetType !Boot.RO510Hook.Boot.Tasks.Help Text
  P=OPENOUT"!Boot.Resources.Configure.!INetSetUp.AutoSense.EtherJ"
  BPUT#P,"Set InetSetUp$Driver$USB EtherUSB:ej0:EtherUSB:0.09:EtherUSB"
  CLOSE#P
  *SetType !Boot.Resources.Configure.!INetSetUp.AutoSense.EtherJ Obey
  P=OPENOUT"!Boot.Choices.Internet.User"
  BPUT#P,"|================================================================|"
  BPUT#P,"| User startup file for !Internet V5.39 (10-Jan-03)              |"
  BPUT#P,"|                                                                |"
  BPUT#P,"| Place any special configuration options that cannot be set     |"
  BPUT#P,"| using !InetSetup into this file. It is executed immediately    |"
  BPUT#P,"| after the automatically-generated Startup file.                |"
  BPUT#P,"|================================================================|"
  BPUT#P,""
  BPUT#P,"Set Inet$MimeMappings InetDBase:MimeMap"
  BPUT#P,"Set Inet$ResolverDelay 5"
  BPUT#P,"Set Inet$ResolverRetries 3"
  BPUT#P,"SetEval Test$Eval 1"
  BPUT#P,"RMEnsure Resolver 0.55 SetEval Test$Eval 0"
  BPUT#P,"If Test$Eval THEN ResolverConfig"
  BPUT#P,"Unset Test$Eval"
  CLOSE#P
  *SetType !Boot.Choices.Internet.User Obey
ENDIF  
QUIT
*Run !Boot

 
Jul 23, 2011 8:02pm
Avatar Chris Hall (132) 280 posts

Silly me. The RunMe file is now corrected.

This all works giving the following display:

Now… all we need to do is to persuade ROOL to bundle some useful stuff in a self extracting archive (like HardDisc4/util, including that and a lot more) – a browser, some HTML help files to take you through how to set up RISC OS, lots of links to free software on the web, a better (perhaps DHCP rather than static) network set up, EtherUSB, etc. I’d do this but I don’t think I have the copyright permission to bundle the various individual components.

Then the prospective RISC OS user can be provided with a browser window with help files all linked together, a functioning network (assuming an external DHCP server). This way he is not required to do any set up, formatting of drives etc. and can explore RISC OS immediately.

 
Jul 24, 2011 7:13am
Avatar Rob Heaton (274) 249 posts

Nice work Chris!
Are you able to configure the amount of drives shown on the iconbar?
Just it could be rather confusing to new users!

 
Jul 24, 2011 9:33pm
Avatar Chris Hall (132) 280 posts
Nice work Chris!
Are you able to configure the amount of drives shown on the iconbar?
Just it could be rather confusing to new users!

Actually I’m not sure! RISC OS loads my file ‘cmos’ after the various ‘Status’ changes introduced by ‘RunMe’, also I have two ‘USB’ pen drives, one RISC OS (my normal boot drive) and one Fat32 (which is where ‘RunMe’ runs from) as well as a USB hard drive, so much of my careful ‘STATUS’ commands are undone by ‘cmos’ [which new users would not have] or the drives actually present [which pop up an icon (I think) whatever the configuration].

 
Jul 25, 2011 7:12am
Avatar Andrew Conroy (370) 165 posts

Are you able to configure the amount of drives shown on the iconbar?

SCSIHide will allow you to hide specific drive icons, but that would then lead to some card reader slots not having an icon on the iconbar which could be even more confusing.

 
Jul 25, 2011 12:42pm
Avatar Jeffrey Lee (213) 1663 posts

Actually I’m not sure! RISC OS loads my file ‘cmos’ after the various ‘Status’ changes introduced by ‘RunMe’, also I have two ‘USB’ pen drives, one RISC OS (my normal boot drive) and one Fat32 (which is where ‘RunMe’ runs from) as well as a USB hard drive, so much of my careful ‘STATUS’ commands are undone by ‘cmos’ [which new users would not have] or the drives actually present [which pop up an icon (I think) whatever the configuration].

The cmos file gets loaded by the HAL during the kernel initialisation, so unless you’re using something like *LoadCMOS to load a different file during the boot sequence there’s no way that it could be interfering with your *Status commands. The RISC OS 5 version of SCSIFS ignores the configured number of drives and just goes by what the auto-detection tells it, so the only way to stop certain drives appearing would be to use SCSIHide (or just unplug them ;-))

 
Jul 25, 2011 5:41pm
Avatar Chris Hall (132) 280 posts
The cmos file gets loaded by the HAL during the kernel initialisation

I stand corrected (I thought it might have been loaded after *Run !Boot but clearly not).

 
Jul 25, 2011 6:03pm
Avatar Tank (53) 160 posts

By the way *Status I believe does not set the option, just displays it, you need *Configure.

 
Jul 25, 2011 6:10pm
Avatar Chris Hall (132) 280 posts
By the way *Status I believe does not set the option, just displays it, you need *Configure.

Another barb. Ouch! Quite correct of course.

Reply

To post replies, please first log in.

Forums → General →

Search forums

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Description

General discussions.

Voices

  • Chris Hall (132)
  • Rob Heaton (274)
  • Andrew Conroy (370)
  • Jeffrey Lee (213)
  • Tank (53)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys