Author Topic: Calling all Linux Kernel developers!  (Read 391201 times)

0 Members and 1 Guest are viewing this topic.

Offline tangrs

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 229
  • Rating: +98/-0
    • View Profile
    • tangrs blog
Calling all Linux Kernel developers!
« on: October 02, 2012, 06:10:36 am »
Quick links

Most up to date information: About 95% of the things you need to know about Nspire Linux are available on the Linux page on Hackspire.
Downloads: Nightly builds of just about everything you need can be found on TI-Planet, courtesy of Lionel and Fabian (Vogtinator).
Bug reports: They are very welcome! Don't hesitate to contact myself, Lionel or Fabian or simply post in this thread if you're experiencing kernel panics or just general weirdness and it isn't already documented on Hackspire. We're relying on users to report bugs and strange behavior. However, if you just need general help on how to get things running, you're better off getting help at...
Getting help: If you need any help booting, getting a working rootfs, etc... there is a thread dedicated to this that you can post in. The kind members of the community can help you quickly and efficiently and leave the rest of us time for developing!
Feature requests: We're working as hard as we can making all the hardware available in Linux but if there's a feature or certain behavior that you think could improve Linux (e.g. a better function for an unused key), feel free to post in this thread for discussion.


Original post below:

Hiya!

After finally getting my head around the basics of Linux kernel developing, I've completed a basic, shaky port of Linux to the TI-Nspire CAS CX.

It boots to userland with minimal hardware support (just an interrupt controller, timer and an early boot console on the UART).



(The kernel panic is just Linux complaining about the lack of a root fs but it otherwise boots fine)

Unfortunately, as much as I'd like to work on this alone, I have exams soon so I'll need some helpers.

If anyone wants to help, give me a yell and I'll clean up the code a litte and upload it somewhere.

Blog post

Edit: Kernel and bootloader sources are up!

New bootloader source code (use this)
Old bootloader source code
Linux source code
« Last Edit: February 02, 2013, 04:40:28 am by tangrs »

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Calling all Linux Kernel developers!
« Reply #1 on: October 02, 2012, 06:38:31 am »
what o.o
do you mean you are making linux for the TI-nspire?
I'm not a nerd but I pretend:

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
Re: Calling all Linux Kernel developers!
« Reply #2 on: October 02, 2012, 06:39:15 am »
Wow awesome o_O
Coming from such a talented developer as you are, you will surely get some more people interested and I truly hope this is going to be a great step towards ... a new world ?

(also, you should modify the topic title to make it more attractive :P)


EDIT : cross-posted/newsed on tiplanet

btw tangrs : you're using XCode for nspire dev too ? :o
« Last Edit: October 02, 2012, 06:59:41 am by adriweb »
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Calling all Linux Kernel developers!
« Reply #3 on: October 02, 2012, 06:40:10 am »
Tangrs, the community loves you !

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Calling all Linux Kernel developers!
« Reply #4 on: October 02, 2012, 06:40:50 am »
So any chances that this will be available for the non-cas ever?
I'm not a nerd but I pretend:

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
Re: Calling all Linux Kernel developers!
« Reply #5 on: October 02, 2012, 06:47:10 am »
So any chances that this will be available for the non-cas ever?
I believe that's not a problem :)
(However, CX is probably a pre-requisite)
« Last Edit: October 02, 2012, 06:47:26 am by adriweb »
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Calling all Linux Kernel developers!
« Reply #6 on: October 02, 2012, 06:47:28 am »
Great. :D
I'm not a nerd but I pretend:

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Calling all Linux Kernel developers!
« Reply #7 on: October 02, 2012, 07:10:07 am »
Extremely interesting :)
Of course you should upload the source code (of the kernel, device tree definitions, U-Boot, etc.) somewhere in public, tangrs ;)

Note that a Linux port for the Clickpad series would be even much more interesting than a port for the CX series, because on the Clickpad series, it is certainly possible to install Linux permanently (because it is definitely possible to change the contents of the boot1), and thereby be completely free of whatever lockdown TI will try - and fail, as usual - to put forth (instead of embracing developers and making its calculator more useful as a result) :)

And indeed, CAS vs. non-CAS (especially on the CX, which does not have interchangeable keyboards) is, for all practical purposes, only a difference of several bits in the ASIC ("CAS bit" and two leading hex digits of the product ID), as shown by RunOS (never released, in 2010) and OSLauncher (independently reimplemented, and released, in 2011).
« Last Edit: October 02, 2012, 07:36:59 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline tangrs

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 229
  • Rating: +98/-0
    • View Profile
    • tangrs blog
Re: Calling all Linux Kernel developers!
« Reply #8 on: October 02, 2012, 08:22:00 am »
what o.o
do you mean you are making linux for the TI-nspire?

Yep. Well hopefully XD

Wow awesome o_O
Coming from such a talented developer as you are, you will surely get some more people interested and I truly hope this is going to be a great step towards ... a new world ?

(also, you should modify the topic title to make it more attractive :P)


EDIT : cross-posted/newsed on tiplanet

btw tangrs : you're using XCode for nspire dev too ? :o

No, I usually just use a simple text editor :P

So any chances that this will be available for the non-cas ever?
I believe that's not a problem :)
(However, CX is probably a pre-requisite)

It's CX only right now because that's the only hardware I have right now to test on. I've found that the nspire emulator can't emulate some of the instructions Linux uses (especially to do with caches) so I actually need real devices to test on.

It is definitely possible to make it work on the older calculators - there's no reason why it wouldn't work. Linux only needs ~4MB of RAM which even the old calculators have plenty of.

Extremely interesting :)
Of course you should upload the source code (of the kernel, device tree definitions, U-Boot, etc.) somewhere in public, tangrs ;)

Note that a Linux port for the Clickpad series would be even much more interesting than a port for the CX series, because on the Clickpad series, it is certainly possible to install Linux permanently (because it is definitely possible to change the contents of the boot1), and thereby be completely free of whatever lockdown TI will try - and fail, as usual - to put forth (instead of embracing developers and making its calculator more useful as a result) :)

And indeed, CAS vs. non-CAS (especially on the CX, which does not have interchangeable keyboards) is, for all practical purposes, only a difference of several bits in the ASIC ("CAS bit" and two leading hex digits of the product ID), as shown by RunOS (never released, in 2010) and OSLauncher (independently reimplemented, and released, in 2011).

Alright. In that case, I'll post up sources some time tonight - but beware! I'm new to kernel developing and the code is quite messy to say the least. :P


Edit: Added links to source code
« Last Edit: October 02, 2012, 09:30:05 am by tangrs »

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Re: Calling all Linux Kernel developers!
« Reply #9 on: October 02, 2012, 09:42:24 am »
Hey that's pretty awesome, that would even lead to a first third-party OS on the clickpad (using a bootloader in the boot1 and the rest follows)? Anyway, great job :D

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: Calling all Linux Kernel developers!
« Reply #10 on: October 02, 2012, 11:39:53 am »
Don't know if https://patchwork.kernel.org/patch/1478361/ can help you, seems to be a patch to support the PL111 PrimeCell color controller (the one that the Nspire uses). Might be useful to get the framebuffer working.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Calling all Linux Kernel developers!
« Reply #11 on: October 02, 2012, 01:09:07 pm »
Strictly speaking, the first third-party OS for Clickpad calculators, DummyOS, was made in 2011, as a companion project for OSLauncher ;)
But a port of Linux + userspace, assuming we reach that state, would be the first usable third-party OS for Nspire calculators. DummyOS is just a PoC, but it's completely useless in practice :D
Being the author of both OSLauncher and DummyOS, I get to criticize them - especially DummyOS - as much as I want ^^
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Calling all Linux Kernel developers!
« Reply #12 on: October 02, 2012, 01:36:31 pm »
Darn this is awesome. I wonder, however, if we'll need OSLauncher to run this? (knowing it's practically impossible to crack the 2048 bits RSA keys to sign third-party OSes)

REgardless, it will be a big step for the community to be able to actually run Linux on a calc.

Offline ExtendeD

  • CoT Emeritus
  • LV8 Addict (Next: 1000)
  • *
  • Posts: 825
  • Rating: +167/-2
    • View Profile
Re: Calling all Linux Kernel developers!
« Reply #13 on: October 02, 2012, 01:42:26 pm »
Another major step, good job tangrs :)
Ndless.me with the finest TI-Nspire programs

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: Calling all Linux Kernel developers!
« Reply #14 on: October 02, 2012, 01:42:46 pm »
Quote
I wonder, however, if we'll need OSLauncher to run this?
Not OSLauncher as we know it, but Linux does need a launcher, indeed :)
Therefore, the Linux port is dependent on arbitrary code execution vulnerabilities in the calculator's software.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.