DISCLAIMER: I AM IN NO WAY RESPONSIBLE FOR ANYTHING THAT MAY HAPPEN TO YOUR CALCULATOR OR COMPUTER AS A RESULT OF FOLLOWING THIS GUIDE
These instructions are written for use on a computer running Debian (If you don’t have a computer running Debian you can use Virtual Box). Steps with a “~” in front will take a while. If you use a Raspberry Pi, you can skip installing qemu-user-static and binfmt-support, and skip step 5
You will need:
- A TI-Nspire CX running a version of TI-OS supported by Ndless
- A flash drive. The flash drive should ideally be at least 2GB, but 1GB might work.
- A Mini-B OTG USB cable.
- A powered USB hub if you want to plug anything else into the calculator.
- Install Ndless. Ndless lets you run 3rd party programs on your TI-Nspire.
- Prepare a flash drive. Use gparted (or mkfs.ext4) to format the drive as one ext4 partition.
- ~ Install programs on host. “sudo apt-get install qemu-user-static binfmt-support debootstrap”. These programs let you create and setup a rootfs on one computer.
- ~ Debootstrap. Mount the flash drive using “sudo mount /dev/sdbX /mnt” substituting sdbX for your flash drive. Now run “sudo debootstrap –arch=armel –foreign stable /mnt“. This command will install a Debian rootfs onto the flash drive.
- Copy files to rootfs. Run “sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin” to copy the arm emulator, and “sudo cp /etc/apt/sources.list /mnt/etc/apt/sources.list” to copy the apt list file.
- ~ Finish debootstrapping. Change into the new rootfs with “sudo chroot /mnt“. This will automatically run the arm binaries in the qemu emulator. Finish the job with “/debootstrap/debootstrap –second-stage“. This will install all the programs on the rootfs.
- Set a root password. Run “passwd” to set a root password.
- ~ Set up apt-get. Update the apt-get sources with “apt-get update”.
- Install any extra programs. You will need to download any extra programs you want now, because the calculator doesn’t have internet. Run “apt-get install -d ” to download the packages. The “-d” is important, otherwise it will try to install the packages as well. You will finish installing the packages when booted into Debian on the calculator. I recommend making a file with all the installed package names so you don’t forget what ones you downloaded.
- Install the kernel, device tree, and linuxloader2. Download the three files indicated in my handy graphic, located here. If you are using a TI-Nspire CX or CX CAS, you need the “DTB for CX”, “DTB for Touchpad” is for the touchpad models (duh) and I think you can figure out what the last one is for
Rename the kernel file to “zImage.tns” and rename the dtb file to “nspire.dtb.tns”. Send all three files to a folder called “linux” on your calculator.
- Set up boot script. Add “ext.ll2 linuxloader2” to the end of ndless.cfg.tns (in the ndless folder). This is easily done using nTxt. This line allows you to use a script to boot linux, and saves a whole lot of typing every time you want to boot linux. Download start_usb.ll2.tns and put it into the linux folder, along with zImage.tns and linuxloader2.tns.
- ~ Boot! Make sure Ndless is installed and the flash drive is plugged into the calculator and run start_usb.ll2.tns. If all went well Debian should be booting! It takes a while (~2 minutes) to boot, so be patient.
- ~ Finish installing packages. Log in as root, and “apt-get install ” for any packages you downloaded in step 9.
- Add users. Use “adduser ” to add any users to the system.
Done! You have successfully installed a full installation of Debian onto your calculator.
(Credit for linux on the calculator goes to tangrs on omnimaga)
Please leave comments with any suggestions or things I might have missed.
sudo debootstrap –arch=armel –foreign stable /mnt is != from sudo debootstrap –arch=armel –foreign stable /mnt. Those arent double dashes
You’re right, those should be double dashes. I have two dashes typed in the post editor, I think WordPress is eating the extra dash, I’ll look into it. Thanks for commenting
The site is not assuming double dashes.
Those that want a link to the page displayed in the pic: https://tiplanet.org/nspire-linux-builds/
Did I seriously not include a link to that in my post? Thanks for catching it! I’ll update the post right now.
I can’t install any packages. I tried “apt-get install -d micropython” and “apt-get install -d python2.7” and such, and I got errors saying can’t find any package by regex X.
I looked at the /etc/apt/sources.list and it was blank.
What do I do?
Good timing with your comment. I just started looking back into this, and I think I need to make a new post about this. Some things have changed, and I think I can make it better. Keep your eyes peeled for a new post sometime next week (or sooner).
Thanks a bunch! I was SO CLOSE to running sysbench on my ti nspire XD
Hello! I am “that one user from Omnimaga” of the same username. Specifically the one who created this thread: https://www.omnimaga.org/ti-nspire-projects/peripheral-not-identified/
The Debian installation on the calculator has been functioning very well. It’s useful for typing essays and such during times of education (school), though that ABCDEF keyboard can be a bit of a pain, haha.
I was wondering if there was any way to install more packages onto the USB driver after the initial installation? I figure I would just chroot to the USB again, but I’m afraid that there might be something more that I have to do [with QEMU and whatnot]. I would rather not completely reinstall the OS, as I’ve probably made some modifications to system files that I doubt I’ll remember to change again (possibly with cron to mount the rootfs as r/w on startup).
Also — how’s that new guide going? It’s been about 6 months since you had said you were going to create it
You still haven’t updated this post btw
Didn’t you want to update the post?
Great post btw
Hi, I just followed your guide, and I’m having issues. When plugging the usb drive (or any usb device) into the calculator, it is as if i did not even plug in the usb adapter. I don’t get a “peripheral not identified” error or any error. There are no lights on the usb drive. Running the script acts as if the drive isnt plugged in, it just goes to a black screen and stays there until reset. Any ideas? the adapter is brand new, here’s the one: https://www.amazon.com/dp/B004ZMYEMY/
So, any plans to update the post? Seeing as it’s been almost two years since it was created.