probably you wanna visit his real website though... as long as it lives: http://ywstd.fr

The nameless distro called solyste

This page lists one of my (exciting) project. It will be an interesting way to experiment my unrealistic and stupid ideas (I'll learn much more about Linux). We will see if I succeed or not…

Status

2015

March:

I created and wrote the main POSIX shell bricks. Even if the current result is kinda tiny and useless, I'm still happy. Providing a solid work which means something simple and understandable (in my opinion) is really important. I've read too much dark, awful and approximative scripts from many "popular" distros. Not doing the same mistake is my strongest motivation. I also often build the toolchains and the mini rootfs, to be sure I don't introduce issues. My Phenom II gives me heat. It's moving slowly but surely…

April:

Nothing much. I torture my mind with questions. All choices were carefully thought. I modified / polished the scripts and the "logic". I try to be very conscientious even if it takes much more time. I also worked on experimental snippets like the network files. Not ready to be committed anyway. The regularity went drastically down this month because I was unable to solve some stupid "problems" and because I would like to work on real hardware. But I'm still very excited to learn and use MIPS instruction set. It's totally new for me and I already learned a few things. We will see how it goes in the following weeks. Let's hope you'll stay tuned.

May:

The month started badly. Tried to build statically famous TCP/IP utilities with musl (rocks) and it was a real pain. Lost a few hairs. After a mail to the official maintainer, the polite answer (which arrived too late) was something like: "Fuck off. But your patches are still welcome". Yeah, that's what we call FOSS. Dunno if I should laugh or cry. Also contacted a MIPS corporation to receive a tiny discount or even a free board (I'm a dreamer) to work on bare hardware. You know, I'm not wealthy, this kind of help could be really nice. Had two answers saying me "Right now, I'm busy. Come later". And then, nothing (after a 3rd mail). ATM, it's pretty clear I have more chances to see Santa "in the flesh". Of course, they don't owe me anything but bigger projects received donations by request, why not me? Nobody cares about an idiot, that works on his crappy embedded environment. Thankfully, disillusions are over for this month. Technically speaking, the scripts were refined / expanded and a Makefile was added to build the final env (toolchain, rootfs, kernel), using a simple command. I'm a fond of sh + make. That's a powerful combo. To be able to include the best flags for the hardware, I read many data sheets or official docs and my curiousity is satisfied. It may look like a mad scientist that tries unknown recipes but at least, I understand what I'm doing. And finally, when I take a break, I "spy" the web to find good and "hackable" MIPS modules. Some of them claim they're designed for tweakers, but they do not provide any relevant specs, like the firmware layout. They only allow you to compile a "custom" OpenWRT system (most of the time, they forked the OpenWRT tree and changed bits, here or there), to "upload" it via a fuzzy program. I do not talk about the things that can be compiled only with GCC 3. Wrong definition of hackable IMHO. So yeah, catchy words for the void. TL;DR the house has the bricks and I'm preparing the cement (no roof yet).

June:

Nothing. Abandon MIPS (temporarily) to discover ARM.

July:

I wanted to give a huge bump to the current project and I forced myself to be more prolific after DAYJOB. That means trying to go forward and stop being blocked by unresolved problems. As I said it the previous month, I forgot MIPS a little bit (and all the headaches related to layouts), to concentrate myself on the system. I bought a Raspberry Pi B+ and added the full ARMv6 support by myself (toolchain, rootfs, kernel). What's new? It finally BOOTED. RPi was a fantastic platform, because I did not have to focus on the filesystem structure. You put two partitions: /boot in FAT32, the / in ext4 and I just boots, if the kernel config is correct. The kernel do not use modules! My systems are very specific and therefore I adapt them one by one. It takes time but the game is worth the candle: a rock solid box (and a 4.5Mib kernel). Many pieces are not pushed online because I'm working on them (init scripts are a bit dirty, for example even if it does the trick). I must say the USB TTL cable was also an investment. Simply AVOID the one from Adafruit, it will cost you a kidney (around 10€) and mine broke in less than 6 hours (I handled it with care). YES, 6 FUCKIN' HOURS! I decided to get a new one on Ebay for 2€ and now I do not feel I was scammed, by a hipster electronic company. Another subject: you certainly know it already but GCC was bumped a few times: 5.1 and now 5.2. I was surprised to see everything worked flawlessly, on my side. Same for musl libc, every releases are more awesome / exciting. I did the right choice. Kudos to them! The rootfs was expanded with a syslog-like, especially for the network services, where we need "visibility": sshd or iptables. We often say "We do not forget our first love" and it applies to MIPS too. I have new options for the fantastic Ubiquiti ERLite-3 hardware and I plan to follow them, but it's very encouraging. Yeah, some persons think MIPS is dead in favor of ARM. I laugh at them, they are so DAMN WRONG (the router they use is probably a MIPS CPU, after all). Now, I need to maintain the same efficiency / streak for the next month, but I'm happy / proud of me today. Should be easy, isn't it?

EDIT: Added a tiny screenshot showing the RPi, with Linux 4.1.4.

August

Despite the very hot weather and the stifling air outside, my ideas were still clear. It mostly started by removing unnecessary things and bumping softwares, like 'Linux' headers and 'iproute2' to 4.1.x. or 'curl'. Updates can be sometimes very messy and some patches had to be modified. Then, I decided to push the first tool of the 'lys' suite (lys-pkg), which is ready. The filesystem will require ajustments furthermore in order to work, though. The purpose of that 'set' is to provide standalone "scripts", to apply tasks on the system. It will be possible to not use them at all, if you judge it's superfluous. The next one to be pushed will be probably 'lys-ndv' and it will "handle" daemons. Writing small theorical pieces of code is not my favourite hobby (I only like the part when it runs without issue). I describe myself as a hardware enthusiast. That means "feeling" the boards in your hands and thinking about what you could do with it. Thus, I bought new Ubiquiti network products because they were worthwhile (ERLite-3 for example) and I'm "porting" 'solyste' on them. 'musl' doesn't support MIPS64 (yet?), so I will build a MIPS64 kernel + a 32-bit userland. MIPS has strong advantages (do not pay attention to haters). You can run 32-bit applications on those 64-bit CPUs, without any changes. After I succeed to create a correct and valid kernel configuration, I will say it's officially supported! We can't wait actually (me and my network). More things I plan to do: I have some dusty Dockstars around. Not using them would be the stupidest thing, in 2015. So I added that labour on my endless TODO list. In the last past months, a nice person donated to me a Snowball. The perfect way to excite me. Same as before, another new item on the TODO (your dusty boards are welcome too). The rhythm is sometimes slow, sometimes fast and it's frustrating. I work on that project on my spare time, usually after a full-featured DAYJOB, hence the irregularity. But I'm pretty sure I won't give up soon. My determination remains rock solid. My other projects + the blog are stalled for obvious reasons, because I'm not in the mood to extend them, but they are definitely not dead. See ya next month

September

September was less luxuriant and more calm. Most of the scripts were written earlier this year and then extended to gain more readability and efficiency. Sadly, I think I reached the limits for a few 'solyste' parts. As I said it (probably on IRC), when something is not perfect for me, I just rework it. Maybe it sounds a bit arrogant, but I want to have "good" scripts (sick of reading approximative snippets). Avoiding duplicate code and reusing piece(s) is vital to me. In other words: MO-DU-LA-RI-TY. However, the biggest drawback / weakness in that project was how softwares were handled. I'm not ashamed to say it. I focused my thoughts on the system without thinking about what composes it. Before the 'create-userland' refactoring, all builds were "hardcoded" inside it, which is simply bad. It was a choice I made in the beginning. I didn't want to have dozens of separate files around. I finally changed my mind. Now, it's a bit better, but I feel I can improve it (and I will do it in the following weeks). Two major things were introduced: list of files owned by a software and the "external" layout, that contains non-base softwares (directly inspired by NetBSD and pkgsrc). Suprisingly, it wasn't difficult at all (thanks to the rewrite). The hierarchy will be called "coffre". That word is perfect to me because it symbolizes an enclosure. My first intention was "bunker" but it's not original (and too much brutal)… 'lys-soft' (formerly known as 'lys-pkg') will be also reworked. The current version is not even decent. In a gloomy evening where I was doubtful, I begun 'lys-nuke' which will help you to purge the system. Maybe it won't be included in the suite, but I plan to dig into it. The other work that was undertaken earlier is changing variables. Not really interesting but still required (readability, as always). I rename them from FOO to SOL_FOO (sometimes it's harder though). "Efficiency" is another primary goal. Hence, I started some extended tests on other distros (Alpine, Void or Ubuntu). Building the full system with 'make' is an informative "benchmark" and therefore I noticed some breakages, mostly due to missing checks. I want to clarify one point: I AVOID GNU-only arguments in my tools. Sticking with POSIX shell (and avoiding the useful trap) with GNU arguments is just incoherent. The Alpine build failed because of grep(1). Here a link in case you want details. It won't be fixed, I can already make a bet. And to close out my monthly report, ERLite-3 is not far from being supported. The MIPS64 kernel was built and the relevant additions were pushed. I received the necessary hardware to try it (with u-boot). I'm excited. I hope my complaints were not too boring to read. Thanks for "following" a man that works alone inside his vault. Come back next month.

October

To not break the current streak which is quite "high" (I take this as a Quake® DM), I have to continue this log. The commits were not many and the adjustments are shy. It's like I'm doing surgery. I said it last month that I was going to test the MIPS64 kernel and after setting up a TFTP server with 'dnsmasq', I launched the trial. The result was very satisfying: successfully booted, detected the Ethernet ports / USB and panicked after not finding the init (that's what I wanted here). I am still thrilled to see that achievement (from scratch, as always). Apart from still enhancing 'create-userland' and softs, I totally revamped the 'lys' tools (for example 'lys-soft' and 'lys-file' are split) and submitted new ones. 'lys-report' "analyzes" permissions (among others) and print messages when necessary. It could be a nice combo with cron(8). 'lys-verify' checks if a file is absent for every installed softs. If so, you'll be warned. My unusual lurker skills helped me to find "feedback", where people think 'solyste' is a concept. In a certain sense, it means my aim is not enough obvious, despite this informative webpage. Sadly, it was the only "real" circumstantial feedback I had, apart hearing it is interesting… Using that word made me smile, actually. I plan to use that "concept" to rework my broken network (DNS, NTP or firewall). Pretty concrete, no? Don't worry, inapplicable ideas stay jailed in my brain. After I finish some of my pending modifications, I will take a needed break, far from 'solyste'. For now, I'm busy with a new sub-project more or less related to the parent. After all those years of using various distributions, I became lazy and jaded. Trying to understand how packaging works for all of them is an endless task and it's not interesting (don't want to lose my precious time, too). I'm not talking about the deprecated-buggy-insecure versions not updated by the maintainers, or unavailable in the official repositories. If I want the latest 'tmux', compiled with my specific options, I want it NOW (minus the stupid hacks)! All those drawbacks forced me to think about an alternative that was initiated many months ago with 'lys-mk' (know as 'y-mk'). I will create my portable & minimalistic manager, in two independent parts (the "builder" and the "installer"). I like how 'pkgsrc' or 'Homebrew' solved problems in many places. It WON'T be a package manager though (I'm not that pretentious). I just want to grab the required tool in one command and not worrying about the versions. Maybe you judge it has nothing to do with 'solyste', but it's not exact. It helped me to write cleaner & readable scripts and I will probably reuse some robust bricks elsewhere. It's almost ten o'clock and I finally realize I wrote everything I wanted for October, rendezvous in 4 weeks!

November

Nobody was expecting it, but winter has come quickly (with the diseases). The main project (and the associated sub-projects) are currently inactive. Once again, it's not because I want to throw in the towel, even if I can sometimes feel a form of spleen / demotivation. Being a thorough person at DAYJOB is the most important thing to me (directly followed by $ and $$ then). That means I sacrifice my personal time more often and therefore the projects I was involved in (gave my resignation). Fortunately, my obsessions remain unchanged. I am still obsessed (that word is perfect) by the possibilities offered by 'solyste'. Controlling the network "heart" is what I want to achieve. I do not want to install an opaque distro and claim "Yeah, my network uses a free distribution designed for embedded devices, I know what it's done". That would be very foolish. It's like using your router with the stock firmware. After planning the future additions, looting the hardware is the 2nd most difficult task too. Only a few lads see what I mean. Many boards are created to impose the homemade OS and prevent unofficial support, despite the very good hardware (hi there MikroTik®). In a room, I have some promising boards full of dust. The endless tasks needed to support them weren't worth it. In that case, dust is my ally. It helps me to forgot the disappointments. My current TOP priority is to work on 'rypp'. This is another instrument to interact with my systems. No more blocked by unwanted guidelines from retarted maintainers. The similarities with 'solyste' are numerous (not only x86, musl libc, static linking, POSIX sh) and it helps me to "notice" 'solyste' weaknesses, by looking in another direction. I will have a bunch of changes to be committed in the main tree (not before 2016, tho). It seems I will be busy for a few months… While I'm travelling (not less than *15h* per week), I imagine the perfect machines for my needs and of course, they are not really special. Interacting with the SHELL is important for me (in case it wasn't already obvious). I also want modularity, robustness, simplicity and small utils. 'Linux Desktop' (as Red Hat calls it) have a ton of points to learn from embedded. Hence, I tend to manage my PCs like I do it on minimal servers or routers. Many people would think scripts are disgusting and that is true. It simply depends on how it's done. Just remember one information: your script will still run fine in 10 years, unlike many popular in vogue languages, that only look good on your resumé. Oh fuck, I digressed a lot! Before it's over, two details: I'm not going to FOSDEM 2016 because I do not enjoy those meetings anymore. Too much sweating for me and it's not like I planned to meet someone this year (not talking about the trip cost). FOSDEM 2014 was the best edition so far. And for IRC, it's almost the same. I won't come so often now. Apart from a few fellows, the "official" chan remained desperately empty. If this is what happens with "interesting" projects, I prefer to not think about shitty ones. It has no fucking sense to join a blank auditorium. People have other things to do and so do I. I prefer to leave the (un)focused "community". Anyway, good December and don't get a cold!

UPDATE: IRC chan will be dropped (the ownership).

December

This time, I will try to print a post without rants. Indeed, I often complain and I know it can be very annoying to read. This month, I started to write those lines earlier than expected, because I didn't want to lose my excitement. I failed a little bit by pushing this first paragraph much before the "deadline" (maybe you saw it). Not so harmful, though. After being fully EXTRAoverworked recently, I can now spot an opened window, to continue the things that were stopped. 'solyste' was quiet because I was less enthusiastic and it was going nowhere. Taking a break often help. I now want to continue that project. Enhancing userland creation is still on the list (work in progress). Cross-compiler part ('create-crossenv') is sane and I think it is a solid "root" to rely on. When 'solyste' was drafted, I thought and wanted I could use a ton of various embedded hardware (I do not aim desktops here). With hindsight, I think it's futile and too much optimistic. I have lost time. Writing the initial support (the cross-compiler is damn easy), maintaining it when upstream softwares are updated or adjusting the patches is a long-term job / effort, especially when the boards are niche. For these reasons, I now choose the platforms more carefully. After all, 5 or 6 boards are sufficient. Raspberry Pi (all models) will become a significant element in my setup, for secondary services. They have drawbacks (no GigE, not open hardware) but plenty of advantages: bootloader, patches merged upstream, documentation, specs... That's why it's less discouraging to play with them. As a practical example, I recently noticed a MikroTik® product compatible with OpenWrt and therefore Linux, but there was almost nothing about specs (for a commercial product, I can understand it though). You need to find the right patches to apply from the obnoxious tree and also adapt them to 4.1.x, or more. Seems tedious. Consequently, I won't buy it and that's a pity. Putting that aside, expect a big set of changes in the domain and the subdomains (I know it has nothing to do here, but I'm too lazy to post on the blog). To put it simply, subdomains will be cut. Strangely, the beginning of this article was authored promptly but the end was complicated. Inspiration is fogged. Let's finish with the politeness: Happy New Year and see you in 2016!

2016

January

I'm not really into all this excitement when a new year is coming, but I still have expectations and I want to satisfy them. It is like restarting from scratch and that feeling is pleasant (it does not last long). But let's move on from there… Working in a "production" structure is a chance to learn how to apply criteria in a smart way. It also shows how misconfigurations can happen in a second… Many years ago, I was only managing my crappy home network and this environment is rather limited. Right now, I focus on the activities I'm interested (firewalls, embedded, portability and handling / treating ASCII files), hence my "recent" projects. No, I won't make an assessment about what I did in 2015 (I'm not a braggart and you can scroll backward). In January, I was happy to work on 'solyste'. I concentrated my efforts on improving 'create-userland' and external libraries. It does not seem to be difficult but it truly was. I also had hard time with subshells. When you know what you're doing, this is a formidable feature. As you can see (if you read the code), I often use them to isolate vars for example. I needed to verify a parameter and it was impossible outside this subshell (variables cannot be passed to the parent). It is now solved. I take my time to add new "options" because I do not want to write things I'll regret, like it was done with 'rypp'. Speaking of 'rypp' (which is more or less related to 'solyste'), it has improved a lot. After being frustrated due to maintainers not updating softwares in time, I decided to force myself to extend it. The process begun by totally rewriting the client 'rypp'. Like I told it, the previous version was not good and unreliable. The new version is MUCH better even if it's not finished. I want it to support BusyBox too, so it adds a bit of "taste". Sharing the built packages with archives (here .tgz) is trivial, but how to know those archives are valid and unaltered? sha256sum(1) might be the answer. However, this is not enough. SHA256SUM file or whatever, can be easily modified if the server is compromised. This is when signify(1) (from the OpenBSD project) comes. I already mentioned it in 'solyste' goals, before it was removed (and now restored). After testing it and also attempting to add 'musl' support in the portable version, I know it's perfect (minimalistic, fast thanks to Ed25519 and no CA or keyring). Exactly what I seek… Therefore, this tool will be an important component of 'rypp'. If signify(1) isn't found on the system, it will fallback to sha256sum(1) (it shouldn't be considered as a perennial solution). To make the repository creation simple, I wrote 'rypp-repo' which will handle all the actions (the repo structure is not definitive). Obviously, you have to generate a key pair before. Then, scp(1) or sftp(1) can be called to upload the required files. The public key is exported to the system(s) by yourself. This overview is now over just in time (during the last day of this month). That was short! Sorry to force you to jump to the bottom of the page, it will be "fixed" in some weeks (or months if I procrastinate). As always, I thank the folks who encourage(d) me. It is thrilling to see a few men reading that report.

February

If you came here for a report like 'January', I am sorry to tell you it won't be so exciting. The few commits were only done in the first week. We all need vacations and, consequently, I took a well-deserved break, far from this crap. Damn, it's relaxing! Having no responsibilities outside DAYJOB is also the wiser choice I did in 2015. More I use free softwares, more I want to not be part of it (the "community"). Right now, my concern is my Diablo III farming. I think it shows you the current priorities. I always have my daily booster shot about the softwares I use and not compiled by me, but the laziness is a more powerful feeling. I just let it go as every other dude do. To conclude on more positive notes, I'm starting to read IPv6 specs or RFCs (thanks to my boss who is technically very strong) and it was a gripping "discovery". If a get a fully IPv6 compliant internet access, I might adopt it (but we all need to wait for websites to do the move, we will see in 10 years). In other words, 'solyste' will perhaps provide IPv6 kernels configurations. Enough for friday and 'February', have a good weekend. Cya!

March

Compared to February, I have many things to say. It wasn't a bad month! 'rypp' is still my first mission on the TODO pyramid (it explains why 'solyste' is hibernating). I introduced 'rypp-backup' to be able to rollback the packages. The script will create 5 revisions by default, but it can be increased to 50 if necessary (or more). The first behavior was to create a daily backup, but it was retarded. The repository is not updated everyday (and the script would become useless). Then, I rewrote it to only create a backup if a change is detected in 'RYPPLIST'. This 'RYPPLIST' file is the 'rypp' skeleton. It's a kind of ASCII database. The repository is just an URL; pointing to a sub-folder that acts as a save (repo/2016-03-01) is effortless. It's not over (have to change some poor hacks) but the general idea is there. Obviously, that script is optional. It gives a sensation of confort for the anxious men (last step before a mirror). Refreshing that page shows me that the first pointless report was written exactly one year ago. 'solyste' was imagined in the first weeks of January and it took me more than two months, to find a name that sounds good. In retrospect, I expected a fully working distro earlier, but that's because I want to write *ALL* the parts used for the build (from the cross-compilers to the kernels). Some projects I know decided to switch to Buildroot, I won't do that (am I stupid?). Another reason why the result is less heavy: I'm a slow-mo dude. I prefer to take my time, think about what I will do later. Doing things in a hurry is never good (except when eating cheese). Public transport is a wonderful source of inspiration. While people are losing money and time at Candy Crush, I mangle my brain. Sometimes, I like to say I do primitive software design in public transport (do not take it too seriously, I am far from OpenSSH® or tmux© quality). I consider it is an important factor in the equation. However, forcing me to maintain this log was a tight exercise. I managed to feed the flame. I do not know how many lurkers are coming here to read the lines, every month. 3? 5? (as you can see, there is no hidden Piwik-related scripts). After all, it does not matter, writing sentences here heals me, even if they remain unread. In any case, the feedback I receive(d) by mail is a strong drug. Good news is a luxury: if you missed it, Rich Felker and the other 'musl' folks added native MIPS64 support in this WONDERFUL libc, at the beginning of March. That means fully native userland for my Ubiquiti hardware (the kernel is already compiled and working), without using MIPS32 mode to run binaries. Sexy. It will be the next activity on my 'solyste' baby. Jeez! In my spare time (when I bored of the projects), I slowly prepare the new 'ypnose' home. It's too early to say how it's gonna evolve… But after my recent interest for IPv6, I think I'll make sure to use this stack for the website (after the firewall is expanded and after I figure out the DHCP DUID request, when 'dhcpc' ≠ dhclient). Gosh, so many attractive stuff to dive into and only 24 hours per day. I will bless the dude that sells me more time. Good bye hitchhiker, we reached April! You know where to come back.

April

I will not say the duty is calling me here, it's more related to my dedication. But after all, the result is the same, that's why I do not forget my fellows. After months of endless questions, 'rypp' was successfully tested (and approved©) in real "production" usage, on my passive dayjob workstation or also on my own boxes. It feels soo0000 good to be able to grab up-to-date softwares so easily (in a portable manner too). Before my pillow catches me, I often think 'musl' was a fabulous springboard that allows me to control MY systems (vs odd maintainers choices). I cannot imagine what I could do without it... It applies to 'rypp' and 'solyste' as well. If you are interested about further 'rypp' improvements (pkgs or mods), I encourage you to read the commits message (please forgive me for being rude). As the webpage tells it, it's about 'solyste' here. It's like I left the primary PATH. I "promised" it previous month, I added full MIPS64 in my cross-compiler script. Its design tends to be "extensible", it was not very difficult. I recently discovered Ubiquiti MIPS64 hardware (powered by a Cavium Octeon CPU) do not contain a "true" MIPS64 userland (hi, 32-bit mode). A bit shocking for me. So yeah, we are making things better than big corporations. The weak userland creation is also being cleaned up. Some functions I used on 'rypp' just work and I will reuse them for that purpose. New directions (not the teenagers song) will be also followed: the default filesystem will be perhaps mounted read-only on 'solyste', as it is much more common with embedded and less error-prone with power loss / hard reboots. I do not know yet if I will enforce it in the init(8) scripts. Those scripts are rewritten (with a ksh(1) shell) and parameters are passed in a rc.conf. I will stay with that name, because most people already know what to expect with that file. Once again, I hesit to put daemons options in rc.conf (vs a nominative file)… Experimenting all those possibilities is time consuming, especially when taming 'Dark Souls' game series at the same time. Will I succeed? I sincerely ignore it!…

May

I do not really know if people noticed that I am late. Due to the highly critical weather conditions right now, I do not have time to write these lines. I'm currently living the worst week since 2016, since 2015 (and probably 2014), since I started to work and probably one of the most awful week in my entire life. More than 3 hours to go to the office or to come back (everyday), easily destroy a sane mind (and there are many other reasons). At the moment, there is almost nothing to say outside DAYJOB and public transport. But what about 'solyste'? Instead of telling myself I should expand it, I am going to cease it for an undetermined period of time. It doesn't mean I will END what I started with my bare hands (I do not give up). Hopefully, summer will grant me inspiration and time. But I'll not force me to improve it. Forcing me to put code is unproductive. When you read the previous reports, it is obvious we don't talk about 'solyste', so I will perhaps shut down this page too. I wanted to be totally neutral and unfortunately, I did not apply this rule here. The subjects ≠ 'solyste' are intrusive. People are scared of challenging themselves, because they do not want to restart from scratch (even if they should). When things are ugly, I obliterate / purge them…

June

After the last "report", I still think there is a bit of meat on the bones, maybe it's time to scratch it. I quite enjoyed drafting all those lines. If I had to redo it today, I wouldn't change anything! It is interesting to look back sometimes, to see what was done (like my own notebook). So, I plan to "maintain" that log less regularly as one time per month is perhaps a bit too much. I work on other projects in addition to an intense working day and therefore I'm not that prolific. It is not wise to write things by "obligation". New paths were explored and I'll bring some proven solid rocks, into 'solyste'. Just this morning, I had a crush on a x86 hardware that has 3 ethernets and I know the perfect candidate to run on it. That is why I want to continue and finish the project! I wish you a pleasant summer and I catch you later.

…2018

November

Where to begin? Read-only filesystem working as a charm, overlayfs for configs, reaching huge uptimes, recovering power loss without any problem, rock solid systems. Adding new softwares, working on new boards… So many things to say. Read the sources! :)

FAQ

Q: Can't you find an existing distro which suits your needs?

A: Linux ecosystem (not talking about the kernel) becomes more and more bloated, that's a fact. You can disagree with me. But trying to find or use a "tiny" distro is a real challenge those days. I mean a distro without all the widespread userspace cruft. Void Linux is the the only remaining distro I like to use daily. Those guys know what to do… Debian was also a nice candidate but the systemd "contamination" was stronger. I'll attempt to avoid it on my personal boxes, from Jessie.

Q: Another new distro? You're reinventing the wheel…

A: We have a ton of Ubuntu forks which only add custom GTK themes or wallpapers and nobody complains. I'm not reinventing the wheel simply because the system I *want* does not exist yet. FOSS allows me to build and use the softwares the way I desire it. You can't embrace that "philosophy" and then criticize my project. This is contradictory. If you still think this is a waste of time, that means you missed my reasons. I do not ask you to use it.

Q: Linux kernel is insecure, why do you rely on it?

A: Totally secure systems don't exist yet. Critical flaws will still happen in 50 years. If you tell me that the entire kernel is bad and ugly, I will tell you your argument is fallacious. Privilege escalation often occurs through modules (I know it's not the only vector…) launched as root. In 'solyste', kernels do not use modules and the configurations are wisely chosen according to the future use. Then the potential issues are severely reduced. I cannot avoid flaws found inside the daemons or programs. In computing, keep in mind that the zero risk is a pure chimera.

Q: Is it any good?

A: Yes.

https://framagit.org/Ypnose/solyste

Last update: 2018-12-02