Off-Topic > Off-Topic - Tiny Core Lounge
Tiny core on Eden ulv 500MHz cpu
Stefann:
--- Quote from: mocore on August 16, 2024, 07:57:14 PM ---the syslinux "*LOCALBOOT" config option might be of interest
https://git.kernel.org/pub/scm/boot/syslinux/syslinux.git/tree/txt/syslinux.cfg.txt#n292
--- End quote ---
That is a real cool suggestion!
At the end... I did need to hookup the monitor&keyboard anyway.
At some point during the juggling with CF-cards and USB sticks I lost connection and had to have a HW console.
Suggestion really appreciated and of potential use somewhere in future where I only need to update TinyCore in stead of moving to a full new OS.
The uuid suggestions make sense but that was only a head scratcher due to the old syslinux I had with dsl and I needed to use in the transfer process. I'm now at the fresh tiny core that has that by default fully functional.
Anyway.... It runs now.
On a brand new pristine Tinycore from internal drive (which is a CF card).
TinyCore AND the full home automation application. All is running and controlling my lights, heat pump, solar panels, energy monitor, garden watering, jacuzzi, EV-charger, alarm system.
Real cool, real happy.
gadget42:
given this post on another thread:
https://forum.tinycorelinux.net/index.php/topic,27320.msg175835.html#msg175835
@Stefann, would it be possible to get more specifics regarding your setup?
for example, i frequently put together complete documentation for a project that allows(hopefully) someone completely unknown to me to rebuild/reconstruct/recreate the project from a-to-z/start-to-finish(as long as all the hardware/software/peripherals/etc are procurable)?
as a sidenote, i am frequently reviewing these notes while brainstorming new/future possibilities/potential-projects and often wish i could encourage my past-self to do an even-better-job on the note-taking...argh!
surely i am not the only reader who is impressed and intrigued by your successful project and its longevity.
this could even be in the form of an attachment which would make it easy for a forum member to download and enjoy offline.
just a humble request...thanks!
Stefann:
Pfew...
what do you want?
The full history of my damn small linux project?
- I can/could summarise but not in extreme detail. That is a hobby project over 10+ years. And not extremely efficient as that is how I learned linux at the same time.
Or a summary how I got moved to tiny core?
- its kind of described in above posts but not extremely organised
I can write "a bit" but "all" is not possible
gadget42:
well, you've brought out the big-bang-theory-nerd-geek in me with the following(quotes from above posts):
--- Quote ---The computer is a ULV 500MHz EDEN i386 1W cpu with 1G RAM.
--- End quote ---
...
--- Quote ---Anyway.... It runs now.
On a brand new pristine Tinycore from internal drive (which is a CF card).
TinyCore AND the full home automation application. All is running and controlling my lights, heat pump, solar panels, energy monitor, garden watering, jacuzzi, EV-charger, alarm system.
Real cool, real happy.
--- End quote ---
really whatever you'd care to share(would be interesting for sure!)
Stefann:
Ok…. Here you go…
Computer you can find here: https://robosavvy.com/static/RoboSavvyPages/eBox/DMP_EBOX_catalogue_old-2011.pdf
- I have the Xbox 43xx with VIA eden ULV 500MHz processor.
- I have 1G RAM
- And at this moment 8G CF card as “hard disk”
- Processor is 1W, total power consumption is more.
- This computer is no longer available. I bought in its 2008 for about 200euro (approx 200$)
Today I would go for a raspberry PI but that did not exist at that time.
For my home automation I literally did everything :
- roof mounted heatpipe system
- self plumbed the heating
- did all electricity
- made the PCB’s with electronics
- did all the control wiring in house
- and programmed the control program from scratch in C.
These days I would probably have adopted “home assistant” but that did not exist (or at least not generally) at that time.
I started with 2 protocols:
- x10 which is a Powerline protocol for light switches and is controlled via an usb enquiped gateway. The protocol is slow (1..2seconds) and unreliable but allows connection to lights without additional wiring. At that time wireless was still in its infancy.
https://www.uk-automation.co.uk/products/Marmitek-X10-CM15Pro-Computer-Interface-with-Transceiver_revpage-2/
- 1wire protocol that uses a 1 wire serial cable that can connect multiple inputs, outputs and temperature sensors. The endpoints are simple “transistor style” components of about 2euro/$. They are accessed in about 0.2seconds and (as being hard wired) quite reliable. This is controlled by a usb adapter.
https://www.ibuttonshop.nl/ds9490r-usb-1-wire-adapter
====
As an operating system I used Damn Small Linux (DSL) for reason:
- runs in RAM so even on a slow underpowered processor have decent speed
- runs in RAM so minimal amount of write actions that cause the flashdrive to wear and ultimately break down
The sad thing:
- when I installed it in 2008 DSL was maintained. But maintenance stopped at about that time. Sad… no upgrades :(
After all the hardware actions my dream had been to do some high level programming to develop controllers. I have a background in control technology so I was looking forward to explore variants.
How bad….
The usb gateways I was using had opensource sdk’s but these appeared to be very low quality. The 1wire components should be accessible in 0.2 seconds but reality was more like 5 seconds. So… at the end I found myself completely rewriting the usb interface software to the level of precisely timing the control of the usb endpoints all the way until bit-level. Ouch. But i survived :).
On the positive side: “at work I have much smoother discussion with our software engineers since than”.
Anyway…
- Program is completely written in C, There is a nice modularity:
- drivers/gateways to the components
- control algorithms
- process flow and reporting
- For gui i run an Apache server with php website
I survived at DSL with linux 2.4.31 until this spring.
During that time I once did recompile gcc for reason I did need libusb 1.0 while the included version was only at 0.1. That compile was a bit of nightmare as it took about 5 hours and was constantly running out of RAM. I had to juggle compile options severely to get it succeeding. All the time I was quite worried that i would get stuck.
The backup I had was a bit shaky. I never succeeded to have a “real reliable backup” because dsl uses a lot of mounts and symlinks that I not got to properly backup.
Over time I kept extending the application:
- got curtains integrated via the x10 interface where I soldered the buttons of the remote of the curtains to x10 switches.
- got energy reading with rs232 over usb interface
- got pv panel reading via http interface
- got EV charge station connecting via http interface
- got garden watering implemented with 1wire components
- got alarm integrated by connecting 1wire input to its relay output
And than I hit the hard limit.
1/ Internet moving to “all https”
2/ wishing to include a modern python program that is able to read my EV car diagnostics.
For those I would need a modern Linux.
For about a year I considered options.
Basically:
- either start all over on a raspberry pi running home assistant
- or get all on a modern Linux.
At the end I did choose the latter. I migrated to tiny core 15 which I really really love:
- it includes latest gcc and latest kernel so my board from 2008 is 100% up to date and extendable now.
- it has really small footprint
- runs in ram which makes it fast and does not wear the compact flash harddrive. I literally have only 1 ssd write per day (bulk saving the monitoring data of that day)
- the concept of mounting of compressed applications is amazing. The system remains extremely pristine. Customizations are very much concentrated in .filetool.lst, bootlocal.sh and syslinux.conf files. All files are “real non sym linked files” so can be very easily backed up with a compressed or non compressed copy command.
I had my lesson from the gcc recompile that had me worried whether “I would survive” so I prepared the full migration on a second “development workstation” being a hp510 thin client that I purchased for the whopping price of 10euro/$.
Biggest hurdle was to get a 1st version of tinycore running.
Strangely enough:
- getting a 1st pen drive with windows is well supported from the website.
- but getting a 1st pen drive from Linux is more tricky. Especially if that needs to come from a very old dsl kernel.
At the end I succeeded.
After having tinycore running on my “development workstation hp510” the transfer to the 500MHz board was relatively simple. I first tested the tiny core os by booting from usb.
Than removed the original compact flash and installed tinycore from USB on a fresh compact flash (keeping the original cf card such that I could always go back by simple hardware swap).
—- why not gone for fresh home assistant on raspberry pi?
A full migration would cost about a year of weekends to get all reprogrammed. I don’t want to do that.
The way I would do this would be to run home assistant on raspberry pi “at the side” for all modern connections and keep the old board for all legacy and simple make a data path between the 2 boards.
However…..
Home assistant needs about 4G of ram. That means it can only run on the bigger (more power consuming) raspberry pi’s. I basically “do not really like that”. I also wonder whether I would be able to run all in ram. If not, it will wear the ssd card. And as this project is clearly not caring about footprint… it’s unclear how that will develop in future.
So…
At some point I may try things… but at this moment I’m happy that I have modernized my low power, full ram running system.
Well… this is about it….
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version