Operating System: Difference between revisions

From Hackspire
Jump to navigation Jump to search
(Remove outdated info)
 
(52 intermediate revisions by 11 users not shown)
Line 1: Line 1:
This article currently contains notes and ideas jotted down, but may be splitted and reorganized in the future as knowledge becomes more structured and comprehensive.
This article currently contains notes and ideas jotted down, but may be splitted and reorganized in the future as knowledge becomes more structured and comprehensive.


==Booting and resetting==
==Booting==
There is no documented key combo to reset the TI-Nspire, as can be found on TI-68k. The small reset button on the underside which can be pressed with a paper clip or a ball point pen only works when the TI-Nspire is switched on.
*In TI-Nspire mode, it shows a popup telling that the documents and folders have been deleted. The document "Getting started" is also deleted. The OS is ''not'' rebooted. The system settings are set to the factory settings.
*In TI-84 Plus mode, a TI-Nspire (not TI-84 Plus) menu ask to validate the reset. The RAM and the archive memory of the emulated TI-84 Plus will be cleared, and the TI-84 Plus will be reset.
''Booting'' happens when:
''Booting'' happens when:
*all the batteries are removed and put back
*a battery is removed and put back after a few seconds
*after a crash of the TI-Nspire OS
*after a crash of the TI-Nspire OS
*when the keypad is changed
*when the keypad is changed
There is no backup battery as we can find on previous calculator models, so removing at least one AA battery make the RAM lose its content. Removing and putting back the same keypad doesn't make it boot (the calculator will turn on as after being turned off), the keypad really needs to be changed. Whether booting in TI-Nspire mode or in TI-84 Plus mode, a progress bar is displayed with the 2 sequencial messages: ''"Preparing file system, please wait..."'' and ''"Loading Operating System..."''. The supposed memory setup during this phase is described in [[Memory layout]]. It seems that the exception handler of the TI-Nspire OS systematically forces a reboot: you won't see anything like ''illegal instruction'' in a black bar on the screen as there is on TI-68k.
*after an OS update
*after the maintenance menu (see below)
There is no backup battery as we can find on previous calculator models, so removing at least one AA battery for a few seconds make the RAM lose its content. In TI-Nspire mode removing, and putting back the same keypad doesn't make it boot. In TI-84 Plus mode, removing the keypad automatically stores the RAM image to the flash memory (we can see it process for one second in TI-84 Plus mode when removing the keypad while the calculator is still on). If the TI-84 Plus keypad is put back within a few seconds, the TI-84 Plus will immediately start as after a shutdown. If the keypad is removed for more than a few seconds, the TI-Nspire OS will boot, and the RAM and archive memory of the TI-84 Plus will be restored at its last state. It seems that the exception handler of the TI-Nspire OS systematically forces a reboot: you won't see anything like ''illegal instruction'' in a black bar on the screen as there is on TI-68k.


==Noteworthy characteristics==
In TI-Nspire mode, the About screen indicates two boots,  ''boot 1'' in version 1.1.8916 and ''boot 2'' in version 1.8981. The versions are the same for TI-Nspire CAS. Whether booting in TI-Nspire mode or in TI-84 Plus mode, a progress bar is displayed. At half-way, the screen flashes as if it was reinitialized, then the progress bar continue to be filled up and 2 messages are displayed sequencially: ''"Preparing file system, please wait..."'' and ''"Loading Operating System..."''. The supposed memory setup during boot up is described in [[Memory layout]]. We expect "boot 1" to be what is run during the first half of the progress bar, and "boot 2" during the second half. The boot code exists even without OS, and seems to use 4224KB of storage capacity on a TI-Nspire (see [[#Upgrading the OS|further]]).
*As mentionned in the official guidebooks and as it appears in the resource files of the OS images, the Operating System cannot be downgraded, that is only a version of the OS greater than the current one can be flashed to the TI-Nspire. When a new version of the OS will be available, think twice before sending it: flaws which could have been exploited by our hackers may be fixed... forever.


==We need your help==
==Startup key combinations==
*Find out how to reinitialize completely the TI-Nspire, i.e. how to make the OS reinstall the TI-84 Plus flash applications, and display the configuration wizard you meet when you starts your TI-Nspire for the first time.
The boot 1 and boot 2 both accept key combos as startup options. When the TI-Nspire ''is ready to boot'' (for example after a battery has been removed and reinstalled), it can be turned on by holding the following keys while pressing ON (making sure ON is the last key pressed):
 
{| border=1
|
! Clickpad
! TI-84+ Keypad
! Touchpad
|-
! rowspan=3 | Boot 1:
| Home+Enter+B
| Graph+Enter+Apps
| Doc+Enter+2
| waits for a boot 2 image to be downloaded through [[Hardware#RS232|RS232]]
|-
| Home+Enter+G
| Graph+Enter+Tan
| Doc+Enter+Minus
| waits for a diagnostic image to be downloaded through [[Hardware#RS232|RS232]] ('''Warning: This will erase the current diagnostic image first!''')
|-
| Esc+Menu+G
| y=+Clear+Tan
| Esc+Menu+Minus
| toggle diagnostics - if boot data is configured to try to run diagnostics first, this will skip them, and vice versa.
|-
! rowspan=2 | Boot 2:
| Home+Enter+X
| (not possible)
| Doc+Enter+?!
| waits for a test image to be downloaded through [[Hardware#RS232|RS232]]
|-
| Home+Enter+P
| Graph+Enter+8
| Doc+Enter+EE
| brings up the maintenance menu. It allows to remove and flash an OS image, delete the document folder contents, or do a complete format. To delete documents on a Touchpad, T must be pressed instead of 2.
|}
 
==Upgrading the boot 2==
The boot 2 can be upgraded:
*During an OS upgrade, if a ''boot2.img'' is present in the OS upgrade file (see [[OS upgrade files]])
*Through [[Hardware#RS232|RS232]], with the X-Modem protocol, by sending the file ''boot2.img''.
The boot image is not check before being written to flash memory but checked after reboot. The signature of the file prevents corrupted or modified boot images from being sent.
 
A boot 2 image greater than 1358976 bytes (~1327kB, i.e. 10617 128-bit X-Modem packets) cannot be sent: the warning sign is displayed on the Nspire screen, and lsz hangs with "Got 44 for sector ACK". The size of ''boot2.img'' v1.4.1571 is 1216KB. (caution, this also could be the result of a streamed image validation by boot 1).
 
==Third-party components==
The About screen reports that the following third-party components are integrated to the TI-Nspire OS:
*''Graph & Geometry'' developed in conjunction with Cabrilog SAS
*"Data & Statistics" design and developed in conjunction with KCP Technologies
*Portions of the software are based on Fathom(TM) Dynamic Data and copyright ©2007 KCP Technologies.
*''[http://www.mentor.com/products/embedded_software/nucleus_rtos/index.cfm Nucleus Real-Time Operating System]'' by [http://www.mentor.com/ Mentor Graphics Corp.]. Note that the source code of the OS is provided to licensees, so it could have been customized by Texas Instruments. Nucleus RTOS is also a modular OS, it is currently not clear which modules are included.
*The "Flash Media Manager" [http://datalight.com/products/flashfx/ FlashFX Pro] and the "High-Integrity Transactional File System" [http://datalight.com/products/reliance/ Reliance] by [http://www.datalight.com/ Datalight Inc.] (both compatible with Nucleus RTOS), for a fault-tolerant file system, presented in this [http://www.datalight.com/companyinfo/success.php?successid=11 success story]. Only the NAND flash memory of the TI-Nspire is supported by FlashFX, and not the NOR memory.
*The compression library ''[http://www.zlib.net/ zlib]''
*The XML parser ''[http://expat.sourceforge.net/ eXpat]''
*The ''[http://www.openssl.org/ OpenSSL]'' library
 
==Weblinks==
[http://tiplanet.org/forum/archives_list.php?id=OS+Nspire TI-Nspire OS Archive] almost all OS releases

Latest revision as of 09:11, 26 January 2014

This article currently contains notes and ideas jotted down, but may be splitted and reorganized in the future as knowledge becomes more structured and comprehensive.

Booting

Booting happens when:

  • a battery is removed and put back after a few seconds
  • after a crash of the TI-Nspire OS
  • when the keypad is changed
  • after an OS update
  • after the maintenance menu (see below)

There is no backup battery as we can find on previous calculator models, so removing at least one AA battery for a few seconds make the RAM lose its content. In TI-Nspire mode removing, and putting back the same keypad doesn't make it boot. In TI-84 Plus mode, removing the keypad automatically stores the RAM image to the flash memory (we can see it process for one second in TI-84 Plus mode when removing the keypad while the calculator is still on). If the TI-84 Plus keypad is put back within a few seconds, the TI-84 Plus will immediately start as after a shutdown. If the keypad is removed for more than a few seconds, the TI-Nspire OS will boot, and the RAM and archive memory of the TI-84 Plus will be restored at its last state. It seems that the exception handler of the TI-Nspire OS systematically forces a reboot: you won't see anything like illegal instruction in a black bar on the screen as there is on TI-68k.

In TI-Nspire mode, the About screen indicates two boots, boot 1 in version 1.1.8916 and boot 2 in version 1.8981. The versions are the same for TI-Nspire CAS. Whether booting in TI-Nspire mode or in TI-84 Plus mode, a progress bar is displayed. At half-way, the screen flashes as if it was reinitialized, then the progress bar continue to be filled up and 2 messages are displayed sequencially: "Preparing file system, please wait..." and "Loading Operating System...". The supposed memory setup during boot up is described in Memory layout. We expect "boot 1" to be what is run during the first half of the progress bar, and "boot 2" during the second half. The boot code exists even without OS, and seems to use 4224KB of storage capacity on a TI-Nspire (see further).

Startup key combinations

The boot 1 and boot 2 both accept key combos as startup options. When the TI-Nspire is ready to boot (for example after a battery has been removed and reinstalled), it can be turned on by holding the following keys while pressing ON (making sure ON is the last key pressed):

Clickpad TI-84+ Keypad Touchpad
Boot 1: Home+Enter+B Graph+Enter+Apps Doc+Enter+2 waits for a boot 2 image to be downloaded through RS232
Home+Enter+G Graph+Enter+Tan Doc+Enter+Minus waits for a diagnostic image to be downloaded through RS232 (Warning: This will erase the current diagnostic image first!)
Esc+Menu+G y=+Clear+Tan Esc+Menu+Minus toggle diagnostics - if boot data is configured to try to run diagnostics first, this will skip them, and vice versa.
Boot 2: Home+Enter+X (not possible) Doc+Enter+?! waits for a test image to be downloaded through RS232
Home+Enter+P Graph+Enter+8 Doc+Enter+EE brings up the maintenance menu. It allows to remove and flash an OS image, delete the document folder contents, or do a complete format. To delete documents on a Touchpad, T must be pressed instead of 2.

Upgrading the boot 2

The boot 2 can be upgraded:

  • During an OS upgrade, if a boot2.img is present in the OS upgrade file (see OS upgrade files)
  • Through RS232, with the X-Modem protocol, by sending the file boot2.img.

The boot image is not check before being written to flash memory but checked after reboot. The signature of the file prevents corrupted or modified boot images from being sent.

A boot 2 image greater than 1358976 bytes (~1327kB, i.e. 10617 128-bit X-Modem packets) cannot be sent: the warning sign is displayed on the Nspire screen, and lsz hangs with "Got 44 for sector ACK". The size of boot2.img v1.4.1571 is 1216KB. (caution, this also could be the result of a streamed image validation by boot 1).

Third-party components

The About screen reports that the following third-party components are integrated to the TI-Nspire OS:

  • Graph & Geometry developed in conjunction with Cabrilog SAS
  • "Data & Statistics" design and developed in conjunction with KCP Technologies
  • Portions of the software are based on Fathom(TM) Dynamic Data and copyright ©2007 KCP Technologies.
  • Nucleus Real-Time Operating System by Mentor Graphics Corp.. Note that the source code of the OS is provided to licensees, so it could have been customized by Texas Instruments. Nucleus RTOS is also a modular OS, it is currently not clear which modules are included.
  • The "Flash Media Manager" FlashFX Pro and the "High-Integrity Transactional File System" Reliance by Datalight Inc. (both compatible with Nucleus RTOS), for a fault-tolerant file system, presented in this success story. Only the NAND flash memory of the TI-Nspire is supported by FlashFX, and not the NOR memory.
  • The compression library zlib
  • The XML parser eXpat
  • The OpenSSL library

Weblinks

TI-Nspire OS Archive almost all OS releases