PsionLX: Difference between revisions

Update from the 30 September audit and search record: archival image now rebuilt with the working one, Word spell checking, link handlers, Data and Printers, font cause, module list; JFFS2 image identities corrected; NBLXLoad.sh, 2.6.9 patch and companion CD recovered; Linux on tour 2007 post; wider search record
Downloads: correct the card image checksums (images rebuilt 30 September), file count and folder sizes
 
(3 intermediate revisions by the same user not shown)
Line 140: Line 140:


A forum member who used the <code>e8</code> script on a standard machine in 2009 found that Windows CE would no longer install into the smaller partition until the script was remade with <code>7e8</code>.<ref name="hpcf-dvr" /> A 2007 guide to the BooSt supervisor mode gives the full-erase commands as <code>nand -ignore erase 18 7e8</code> for a 32 MB machine and <code>nand -ignore erase 18 fe8</code> for a 64 MB one, and warns that erasing below block 18 erases BooSt itself and leaves the machine unbootable.<ref name="boostdongle" />
A forum member who used the <code>e8</code> script on a standard machine in 2009 found that Windows CE would no longer install into the smaller partition until the script was remade with <code>7e8</code>.<ref name="hpcf-dvr" /> A 2007 guide to the BooSt supervisor mode gives the full-erase commands as <code>nand -ignore erase 18 7e8</code> for a 32 MB machine and <code>nand -ignore erase 18 fe8</code> for a 64 MB one, and warns that erasing below block 18 erases BooSt itself and leaves the machine unbootable.<ref name="boostdongle" />
RetroTechCollection's own restore of Windows CE in September 2026 did not bear out <code>7e8</code> as a partition value. On its standard machine a <code>nand</code> dump reads <code>0x800</code> blocks of <code>0x4000</code> bytes, 32 MB. There, <code>nand partition 7e8</code> gave the whole chip to the operating-system partition and left Windows CE with no Flash Disk, so it reached its splash screen and stopped. <code>nand partition 540</code> worked, leaving 10.6 MB of Flash Disk.<ref name="rtc-docs" />


LX machines appeared for sale from time to time. Expansys asked "over a thousand dollars" for one earlier in 2008, a prototype appeared on eBay in June 2008 without source, and in February 2010 a forum member offered his 256 MB machine, bought from Pulster two years earlier, for €400, with the LX system "swapped for GPE".<ref name="hpcf-mrkrupa-0807" /><ref name="hpcf-chiark-0806" /><ref name="hpcf-marc-1002" /> In September 2026 Pulster listed a "Psion Netbook PRO Linux - PsionLX" at €1,900.<ref name="pulster" />
LX machines appeared for sale from time to time. Expansys asked "over a thousand dollars" for one earlier in 2008, a prototype appeared on eBay in June 2008 without source, and in February 2010 a forum member offered his 256 MB machine, bought from Pulster two years earlier, for €400, with the LX system "swapped for GPE".<ref name="hpcf-mrkrupa-0807" /><ref name="hpcf-chiark-0806" /><ref name="hpcf-marc-1002" /> In September 2026 Pulster listed a "Psion Netbook PRO Linux - PsionLX" at €1,900.<ref name="pulster" />
Line 624: Line 626:
| MBR || - || 0 || 1 || 512 bytes || Partition table, signature <code>0xAA55</code>. CHS fields use 16 heads and 32 sectors per track, the geometry BooSt expects
| MBR || - || 0 || 1 || 512 bytes || Partition table, signature <code>0xAA55</code>. CHS fields use 16 heads and 32 sectors per track, the geometry BooSt expects
|-
|-
| Partition 1 || <code>0x06</code> FAT16, bootable || 2,048 || 143,360 || 70 MB || Label <code>PSIONBOOT</code>. <code>nBkProOs.img</code>, the file name BooSt looks for, and <code>README.TXT</code>
| Partition 1 || <code>0x06</code> FAT16, bootable || 2,048 || 143,360 || 70 MB || Label <code>PSIONBOOT</code>. <code>nBkProOs.img</code>, the file name BooSt looks for, a 279-byte <code>nBkPro.img</code> (see below) and <code>README.TXT</code>
|-
|-
| Partition 2 || <code>0x83</code> ext2 || 145,408 || 1,856,480 || 906.5 MB || Label <code>PSIONLX</code>. The root filesystem
| Partition 2 || <code>0x83</code> ext2 || 145,408 || 1,856,480 || 906.5 MB || Label <code>PSIONLX</code>. The root filesystem
Line 631: Line 633:
The ext2 filesystem is made with a 1 KB block size and with the <code>resize_inode</code> and <code>dir_index</code> features turned off, because the 2.6.9 kernel predates both and refuses the filesystem otherwise. <code>/home/lx</code> must belong to uid and gid 1000, and must be empty when the image ships: the desktop runs as <code>lx</code>, and any settings left in that directory override everything in <code>/etc</code> from then on.<ref name="rtc-docs" />
The ext2 filesystem is made with a 1 KB block size and with the <code>resize_inode</code> and <code>dir_index</code> features turned off, because the 2.6.9 kernel predates both and refuses the filesystem otherwise. <code>/home/lx</code> must belong to uid and gid 1000, and must be empty when the image ships: the desktop runs as <code>lx</code>, and any settings left in that directory override everything in <code>/etc</code> from then on.<ref name="rtc-docs" />


'''Check the boot partition of any image built before 29 September 2026.''' Until then, partition 1 of both images also carried <code>nBkPro.img</code>. That file is the LX BooSt script, and it holds the commands <code>nand -ignore erase 18 ee8</code> and <code>nand partition e8</code>, which erase the internal NAND and repartition it with the LX prototype layout. When a card holding <code>nBkPro.img</code> is booted, BooSt loads and runs the script, as a 2010 boot log shows ("Loading "/cf0-0/nBkPro.img"... Load BooSt script ... Load completed successfully"). A standard netBook Pro partitioned that way can no longer reinstall Windows CE until the NAND is repartitioned with <code>7e8</code>. The file was removed and both images rebuilt on 29 September 2026. The community's CF installs of PsionLX also put <code>nBkProOs.img</code> alone on the FAT partition. If an older card has <code>nBkPro.img</code> on partition 1, delete it before booting.<ref name="anon-lt" /><ref name="hpcf-denisjc" /><ref name="hpcf-dvr" /><ref name="hpcf-acid-0711-06" /><ref name="hpcf-bobby-0905" /><ref name="provenance" />
'''Check the boot partition of any image built before 29 September 2026.''' Until then, partition 1 of both images also carried <code>nBkPro.img</code>, 300 bytes. That file is the LX BooSt script, and it holds the commands <code>nand -ignore erase 18 ee8</code> and <code>nand partition e8</code>, which erase the internal NAND and repartition it with the LX prototype layout. When a card holding <code>nBkPro.img</code> is booted, BooSt loads and runs the script, as a 2010 boot log shows ("Loading "/cf0-0/nBkPro.img"... Load BooSt script ... Load completed successfully"). It did exactly that on RetroTechCollection's own netBook Pro, erasing Windows CE, which had to be restored from Psion's restore set. A standard netBook Pro partitioned that way cannot reinstall Windows CE until the NAND is repartitioned (see [[#The development machines|The development machines]] for the value). The script was removed and both images rebuilt on 29 September 2026. The community's CF installs of PsionLX put <code>nBkProOs.img</code> alone on the FAT partition.<ref name="anon-lt" /><ref name="hpcf-denisjc" /><ref name="hpcf-dvr" /><ref name="hpcf-acid-0711-06" /><ref name="hpcf-bobby-0905" /><ref name="provenance" /><ref name="rtc-docs" />
 
Current images carry a different <code>nBkPro.img</code>, 279 bytes, whose only command is <code>load nBkProOS.img run</code>. It contains no <code>nand</code> command. BooSt runs a file of that name from an inserted card when the machine starts from cold, so this one makes the machine boot Linux from the card even when Windows CE is in the internal flash. An <code>nBkPro.img</code> of 300 bytes, or any that contains a <code>nand</code> command, is the LX script: delete it before booting.<ref name="rtc-docs" />


=== Writing and booting the card ===
=== Writing and booting the card ===
Line 716: Line 720:
=== Downloads ===
=== Downloads ===


The reconstruction's two card images (the working image and the archival one), its build tree and the recovered files listed above are being prepared for hosting by RetroTechCollection. Links and checksums for the images will be added here when they are available. The card image is not bit-for-bit reproducible, because <code>mke2fs</code> writes timestamps into the filesystem, so a rebuilt image should be checked by content rather than by comparing its checksum with the published one.<ref name="rtc-docs" />
The reconstruction is published in the RetroTechCollection Archive at [https://archive.retrotechcollection.com/?dir=PsionLX archive.retrotechcollection.com/PsionLX]. The release is about 4.4 GB in 116,474 files, and holds both card images, Psion's recovered sources and boot images, the complete build system, and the reference material the reconstruction was checked against. Start with <code>README.txt</code>, which carries the warning about the internal flash. <code>WHAT-IS-EVERYTHING.txt</code> describes every file, and <code>PROVENANCE.txt</code> records where each one came from and whether it is Psion's.<ref name="rtc-release" />
 
Two things are left out of the release on purpose, because they damage other people's machines: any image whose boot partition carries the LX NAND script, and a Windows CE restore script that repartitions the flash with <code>7e8</code>, which on a standard 32 MB machine leaves Windows CE unable to start (see [[#The development machines|The development machines]]). Only the <code>540</code> script ships. The LX script itself is kept, under a name BooSt will not run.<ref name="rtc-docs" />
 
{| class="wikitable styled-table" style="width:100%; text-align:left;"
|+'''Folders in the release'''
! Folder !! What it holds !! Size
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/1-IMAGES <code>1-IMAGES</code>] || The two card images, instructions for writing them to a card on macOS, Linux or Windows, and a note on how the archival image differs || 2.05 GB
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/2-WINDOWS-CE-RESTORE <code>2-WINDOWS-CE-RESTORE</code>] || Psion's Windows CE restore set and the BooSt scripts that run a restore. Needed only if the internal flash has been erased. Booting PsionLX from a card does not touch it || 42 MB
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/3-PSION-SOURCES <code>3-PSION-SOURCES</code>] || Psion's developer archive, the OpenEmbedded build tree and patched 2.6.9 kernel unpacked from it, the boot images and root filesystems listed in [[#Recovered files|Recovered files]], and upstream source at the versions Psion's recipes pin || 575 MB
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/4-BUILD-SYSTEM <code>4-BUILD-SYSTEM</code>] || The build guide and scripts, the root filesystem trees both images are built from, the Debian etch ARM OABI system run under QEMU, and the GPE sources including the reconstructed launcher || 1.54 GB
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/5-REFERENCE <code>5-REFERENCE</code>] || The photographs the reconstruction was matched against, Psion's companion CD, the BooSt dongle guide and jLime 2012.3 || 123 MB
|-
| [https://archive.retrotechcollection.com/?dir=PsionLX/6-PARKED-ORIGINALS <code>6-PARKED-ORIGINALS</code>] || Files the build replaced, kept so that every substitution can be checked or reversed || 45 MB
|}
 
The main files are listed below with direct links. Check a download against its SHA-256 before writing it to a card, with <code>shasum -a 256</code> on macOS or <code>sha256sum</code> on Linux. <code>SHA256SUMS.txt</code> at the top of the release lists every archive, image, ISO and document in it; source trees are covered by the archives that contain them rather than file by file.<ref name="rtc-release" />
 
{| class="wikitable styled-table" style="width:100%; text-align:left; font-size:90%;"
|+'''Main downloads'''
! File !! What it is !! Size (bytes) !! SHA-256
|-
| [https://archive.retrotechcollection.com/PsionLX/1-IMAGES/psionlx-cf-1gb.img <code>psionlx-cf-1gb.img</code>] || The working image, with every application. This is the one to write to a card || 1,024,966,656 || <code>b562a0ad5cc6e4ca53d12084bab81e2cadcf33f11a5815eee5195410847ed5bd</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/1-IMAGES/psionlx-cf-1gb-asphotographed.img <code>psionlx-cf-1gb-asphotographed.img</code>] || The archival image. The same system, with a PROGRAMS screen that shows only the 21 applications in the Pulster photograph || 1,024,966,656 || <code>1c2884666e31c0635702b88c0649a738697a11327b7a9bc665eb584288a8efe6</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/3-PSION-SOURCES/netbook-linux-sources.tgz <code>netbook-linux-sources.tgz</code>] || Psion's developer archive, as recovered || 106,074,940 || <code>a14b7d2e87217fdc2f5d32752a00ca0959ae5b1f312a6116d1a895d248edf08f</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/3-PSION-SOURCES/original-images/nBkProOs.img_cf.fuchs-gibson-20050325 <code>nBkProOs.img_cf.fuchs-gibson-20050325</code>] || The <code>nBkProOs.img_cf</code> boot image of 25 March 2005, which both card images boot || 3,659,808 || <code>bc640360e58d858b2d260450e20621adc93cb51e0fcccadaf2a97f415099bd1b</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/2-WINDOWS-CE-RESTORE/nbpce-404-int-20051129.zip <code>nbpce-404-int-20051129.zip</code>] || Psion's Windows CE restore set for the -404 International model, dated 29 November 2005 || 20,991,819 || <code>461b875c92141668f421caf78ace54bdad8214b66ddb6965f0177972f01710f8</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/5-REFERENCE/netbook-pro-cd/1000999D.ISO <code>1000999D.ISO</code>] || Psion's netBook Pro companion CD of November 2004. Windows software and the user manuals || 30,750,720 || <code>7d646c2841cfbdd1f636814bb0129339ba7cb7e88b7d2e74f8a5c87862d5c967</code>
|-
| [https://archive.retrotechcollection.com/PsionLX/5-REFERENCE/other-netbookpro-linux/jlime-xfce-image-2012.3-netbookpro-20120311.rootfs.tar.bz2 <code>jlime-xfce-image-2012.3-netbookpro-20120311.rootfs.tar.bz2</code>] || jLime 2012.3 with XFCE. Not PsionLX || 88,409,659 || <code>ce14633797a2d4562ecdfb07db19974b8417df43bc96bed9595e43ac3f9060fc</code>
|}
 
The card image is not bit-for-bit reproducible, because <code>mke2fs</code> writes timestamps into the filesystem, so a rebuilt image should be checked by content rather than by comparing its checksum with the published one.<ref name="rtc-docs" />


== Other Linux systems for the netBook Pro ==
== Other Linux systems for the netBook Pro ==
Line 761: Line 807:
<ref name="ia-cd">[https://archive.org/details/1000999d_netbook_pro_cd "PSION TEKLOGIX Netbook Pro CD"], Internet Archive, uploaded 19 December 2019 by tfgbd. The date 10 November 2004 is the creation date in the ISO's volume descriptor, and the file list was read from the image.</ref>
<ref name="ia-cd">[https://archive.org/details/1000999d_netbook_pro_cd "PSION TEKLOGIX Netbook Pro CD"], Internet Archive, uploaded 19 December 2019 by tfgbd. The date 10 November 2004 is the creation date in the ISO's volume descriptor, and the file list was read from the image.</ref>
<ref name="rtc-search">RetroTechCollection, PsionLX search record (<code>docs/07-THE-SEARCH.md</code> and <code>recovered/FINDING-3.txt</code>), 29 and 30 September 2026. Original research: the second sweep for the lost root filesystem, the archives, forges, languages and sites it covered with their control queries, the sites not yet cleared, and the source of the 2.6.9 kernel patch.</ref>
<ref name="rtc-search">RetroTechCollection, PsionLX search record (<code>docs/07-THE-SEARCH.md</code> and <code>recovered/FINDING-3.txt</code>), 29 and 30 September 2026. Original research: the second sweep for the lost root filesystem, the archives, forges, languages and sites it covered with their control queries, the sites not yet cleared, and the source of the 2.6.9 kernel patch.</ref>
<ref name="rtc-release">RetroTechCollection, PsionLX release, [https://archive.retrotechcollection.com/?dir=PsionLX RetroTechCollection Archive], 30 September 2026: <code>README.txt</code>, <code>WHAT-IS-EVERYTHING.txt</code>, <code>PROVENANCE.txt</code> and <code>SHA256SUMS.txt</code>. Source for the folder contents and descriptions. Folder sizes and the file count were measured on the release files on 1 October 2026. File sizes and the checksums in the main downloads table were measured on the hosted copies the same day, and every file listed in <code>SHA256SUMS.txt</code> matched.</ref>
<ref name="rtc-docs">RetroTechCollection, PsionLX reconstruction documentation (<code>docs/01</code> to <code>docs/08</code>, <code>CLAUDE.md</code>, <code>PsionLX-CF-kit/INSTALL.txt</code>, <code>WRITE-TO-CARD.txt</code> and <code>AS-PHOTOGRAPHED.txt</code>) and the built card image, September 2026. Original research.</ref>
<ref name="rtc-docs">RetroTechCollection, PsionLX reconstruction documentation (<code>docs/01</code> to <code>docs/08</code>, <code>CLAUDE.md</code>, <code>PsionLX-CF-kit/INSTALL.txt</code>, <code>WRITE-TO-CARD.txt</code> and <code>AS-PHOTOGRAPHED.txt</code>) and the built card image, September 2026. Original research.</ref>
<ref name="oe-classic">OpenEmbedded classic, [https://github.com/openembedded/openembedded/blob/master/conf/machine/netbook-pro.conf <code>conf/machine/netbook-pro.conf</code>] and <code>netbook-pro-kernel_2.6.17.bb</code>, with the kernel patches from <code>linuxtogo.org/~koen/</code> recovered from the Internet Archive and checked against the recipe's MD5 sums. The machine file <code>netbookpro.c</code> names "Ben Dooks, Copyright (c) 2004 Simtec Electronics", based on <code>lubbock.c</code>.</ref>
<ref name="oe-classic">OpenEmbedded classic, [https://github.com/openembedded/openembedded/blob/master/conf/machine/netbook-pro.conf <code>conf/machine/netbook-pro.conf</code>] and <code>netbook-pro-kernel_2.6.17.bb</code>, with the kernel patches from <code>linuxtogo.org/~koen/</code> recovered from the Internet Archive and checked against the recipe's MD5 sums. The machine file <code>netbookpro.c</code> names "Ben Dooks, Copyright (c) 2004 Simtec Electronics", based on <code>lubbock.c</code>.</ref>