Make SnakeOil install much easier
#1
After seeing how easy it was to install moOde, I believe it is time to make the SnakeOil install much easier.

Currently, my steps are:
1. Download image : Ubuntu iso
2. Flash image to USB/SD card
3. Connect terminal and keyboard
4. Boot from USB/SD card
5. Download SO script file
6. Transfer script file using WinSCP
7. SSH into computer and run script
8. Reboot computer and update firmware etc.

It is long winded and can be challenging for a beginner, becoming a barrier for easy adoption of SO.  By contrast, moOde requires steps 1,2 and 4. Can we do something similar?

Note that Step 3 can be skipped easily using the Raspberry Pi imager.
https://www.raspberrypi.com/news/raspber...g-utility/
The imager (click on gear image) can set up the user and network as part of the install.  I think it is possible to do a similar process by modifying the iso?

Due to its licensing requirements, it will not be possible to modify and host the Ubuntu image. However, we should be be able to simplify the steps.  Is it possible to provide a Linux image which downloads and installs Ubuntu, then downloads and runs SO installer?
[-] The following 2 users Like Snoopy8's post:
  • uglymusic, hkphantomgtr
Reply

#2
How does MoOde install work? Is it a OS image with all the software already installed? So you flashed the image and everything works? If yes, that's how Snakeoil was (before 1.2.x).  There were several reasons then for the change:
  1. Limited cloud storage at the time. This is now resolved somewhat - moving from 2TB to 4TB.
  2. Very limited time. For around 2+ years now I have the workload of 2 to 3 people. This current job was the worst of it all and I actually have full intention to blow steam at my manager and then just resigned. Because my co-worker simply refuse to work. So now only do I have to do the work that's equal to 2 people, I have to clean up his work. I believe I have ranted about this multiple times and it all came into a head last Thursday.. On that resignation bit, I actually tried, but my laptop refuse to go ahead with my plan. Not only did my manager cancel the meeting, my laptop crashed 3 times as I was writing out an angry letter itemising the reasons why I had to resign. Things are smoother now and the problem person is semi-officially gone, and they convinced me to stay. This guy is off to a higher paying job elsewhere (that's why he hasn't been working on his current one past few months as he's actively using his current role here as a stepping board to a better one). Perth is a very small country town, I hope after his next stint he will never get employment in this town ever again. Literally everybody knows somebody around here.
  3. Third is bandwidth. Item 5 of your list is extremely annoying to me. I'm not sure if you remember the history behind this, it probably preceeds you using SnakeoilOS. I hate the fact that people have to sign up to the forums in order to download the installer script or the firmware. But it had to be done at the time, because some irresponsible folks engaged a botnet and initiate tens of thousands of bots to download the file. i.e. a distributed denial of service attack. Actions like this can instantly take out the site, and at the time, incur a huge cost as my hosting at that time charge if bandwidth is exceeded. 
So it's all about storage, time and network bandwidth.

1st and 3rd is partially solved. Time is still the problem - right now I'm still doing the workload of 3 people. I have a lot of deliverables by Nov, and the project is in trouble because not only did this guy not do any quality work, the little he did is like cancer and it needs to be cleaned up. So now only do I have to add new features by Nov, I have to fix his bugs at the same time too. Because reading in between the lines, I'm not going to get any extra help.

Despite that, I'm still open to suggestions though.. I'm thinking of writing a playback (Ansible)... so you basically install the OS of your chance, then run the playbook to install it. The workflow will be:
1. Install stock OS
2. Download a small script and execute (without login). Something like bash -c "$(wget /path/to/script/file)"
3. The script will pull from the Snakeoil server and install.
4. and that's it.

Over the past year I've slowly accumulate enough infrastructure for the above to be in place. I don't have to worry much about people chewing up the bandwidth any more since I've now moved on to two servers with unlimited bandwidth. This is my goal for 1.3... And reason why 1.3 hasn't been released yet.

If I resigned last Thurs this will be my plan for the rest of the year and I'll only start seeking employment in the new year. But alas my laptop just refuse to cooperate. At least my current company listened and took steps to mitigate the problem so that's a great thing. Really I'm forking up ~AUD$100 a month to host this Snakeoil infrastructure, and that does not include the support behind the scenes... Realistically my day job has to take precedence, especially now that working conditions are going to improve.

Let me know about that playbook thing. Do you reckon that's a good move?
Snakeoil Operating System - Music, your way!
[-] The following 2 users Like agent_kith's post:
  • Snoopy8, hkphantomgtr
Reply

#3
(01-Aug-2023, 09:14 AM)agent_kith Wrote: How does MoOde install work? Is it a OS image with all the software already installed? So you flashed the image and everything works? If yes, that's how Snakeoil was (before 1.2.x). 
Yes, I do realise 1.1.x was similar, but as you know, that way of doing things was not sustainable because you were spending lots of time maintaining things.
 
(01-Aug-2023, 09:14 AM)agent_kith Wrote: Very limited time.
Understand how difficult it is for you at the moment. You have done an unbelievable job of making SO sound so good but everything depends on you mainly. I can help with the forum and Wiki, but unable to technically contribute.

Perhaps the next steps are very small ones which are easy to do? And perhaps discard the ambitious kernel builder project?
 
(01-Aug-2023, 09:14 AM)agent_kith Wrote: I'm thinking of writing a playback (Ansible)... so you basically install the OS of your chance, then run the playbook to install it. The workflow will be:
1. Install stock OS
2. Download a small script and execute (without login). Something like bash -c "$(wget /path/to/script/file)"
3. The script will pull from the Snakeoil server and install.
4. and that's it.

Over the past year I've slowly accumulate enough infrastructure for the above to be in place. I don't have to worry much about people chewing up the bandwidth any more since I've now moved on to two servers with unlimited bandwidth. This is my goal for 1.3... And reason why 1.3 hasn't been released yet.

Let me know about that playbook thing. Do you reckon that's a good move?
I think the playbook is a good way forward, especially when it makes it easier for people to adopt SO. We need an injection of new people using SO...
[-] The following 1 user Likes Snoopy8's post:
  • agent_kith
1
Reply

#4
(01-Aug-2023, 12:06 PM)Snoopy8 Wrote: And perhaps discard the ambitious kernel builder project?

I might be the only person here that thinks this.....I've been hanging on for the kernel builder and have not upgraded from 1.1 haha
1
Reply

#5
Kernel builder is cool, because it's that little bit extra push that can really make a beautiful system sounds like it's real. The idea of kernel building is to basically use the power of crowdsourcing to find a good version, then some good settings. From there on we can make individual tweaks to taste.

There's not really a lot of things to test really,
  1. Drivers to include/exclude - This is a no brainer, if you use NVMe, you gotta have have those drivers, ditto for network, USB and audio devices)
  2. Drivers to be installed in kernel, or as a module (kmod) - This has subtle differences. But I am unsure what sounds better
  3. Various timer, schedulers
  4. Kernel versions - big kettle of fish. Newer versions will have better support and stability. But may not sound as good
  5. RT patches - Probably related to 4.
1 cannot be helped. And 2-5 are simple, but because there are so many kernels the process can get complicated. 

Still looking to upgrade my hardware. I'm looking for something that accepts a USB card, and also SFP (optical does make the sound cleaner), and small enough to be powered by a LPS. We need an audiophile hardware maker to make a USB + SFP card that works on PCI-e x2 (or x4)...  Making it one slot will make things easier, otherwise I have to buy breakout boards and that's not always reliable.

But yeah, kernel builder is kind of pointless if I still cannot successfully make Snakeoil easily installable for the masses.
Snakeoil Operating System - Music, your way!
Reply

#6
I've done some quick testing and here are some points:
  1. Don't have to over-complicate things. Can skip orchestration tools (Ansible, Puppet, Chef) for now and just stick to the existing script
  2. But instead of signing up to the forum and download, you (anybody) can download the script and execute it
  3. The script will be small, but it will pull files from the Internet and install them
  4. Instead of hiding the install screens, the script will show any prompts from the installer. This is to get around a problem installing Samba on the Pi
  5. With the theme of keeping things simple, will forgo the use of NextCloud as the repository and just use a simple web server to serve the files
  6. This web server will hopefully be protected by CloudFlare DDOS mechanisms and hopefully that will prevent history from repeating itself.
So, it will be install OS, and then SSH to the computer (or via a connected monitor), run the script and execute it... Aim is to complete this by the end of the year. Let's hope this can be done.
Snakeoil Operating System - Music, your way!
[-] The following 3 users Like agent_kith's post:
  • patricia1066, uglymusic, Snoopy8
Reply



Bookmarks

Possibly Related Threads…
Thread Author Replies Views Last Post
  Snakeoil Music server & Snakeoil its own endpoint hkphantomgtr 9 949 22-Jul-2024, 05:51 PM
Last Post: Snoopy8
  Working on new Snakeoil release - 1.3.x (Codename Measurements) agent_kith 42 6,939 19-Nov-2023, 10:53 AM
Last Post: agent_kith
  Request For Comments: Snakeoil 1.2.0 (Gear Isolation) agent_kith 103 36,833 02-May-2021, 09:14 PM
Last Post: agent_kith
  Lsyncd on Snakeoil seafoodlover 6 3,113 18-Jan-2020, 07:26 AM
Last Post: agent_kith
  Request For Comments: Snakeoil OS 1.1.0 (Blind Testing) agent_kith 58 26,403 24-Jun-2019, 12:35 AM
Last Post: Toto



Users browsing this thread:
1 Guest(s)

[-]
Our Sponsors

[-]
Welcome
You have to register before you can post on our site.

Username/Email:


Password:





[-]
Latest Threads
Announcing Snakeoil Measurements 1.3.0
Last Post: hkphantomgtr
03-Dec-2024 09:55 PM
» Replies: 105
» Views: 11503
Howto setup resampling in Logitech Media...
Last Post: Coacharnold
18-Nov-2024 12:06 AM
» Replies: 7
» Views: 5920
Dropping Measurements, Hello High-End.
Last Post: agent_kith
26-Oct-2024 09:02 AM
» Replies: 12
» Views: 552
Very happy to have Sankeoil......! mpd w...
Last Post: run51
24-Oct-2024 05:35 AM
» Replies: 9
» Views: 1752
SO no soundcard detected - RPI Pi4 snake...
Last Post: run51
21-Oct-2024 10:55 PM
» Replies: 4
» Views: 148
download
Last Post: Snoopy8
19-Oct-2024 05:52 AM
» Replies: 1
» Views: 148
Full proces to instal snakeiol 100% work...
Last Post: audioluthier
11-Oct-2024 02:32 AM
» Replies: 9
» Views: 418
A network protocol designed for CAS
Last Post: hkphantomgtr
10-Oct-2024 09:48 PM
» Replies: 0
» Views: 108
CAS with "Single Core"
Last Post: hkphantomgtr
06-Oct-2024 08:32 AM
» Replies: 2
» Views: 154
MPD player not working
Last Post: Snoopy8
27-Sep-2024 11:54 AM
» Replies: 7
» Views: 286

[-]
SnakeoilOS Mission Statement

Our mission is to create a free to use computer OS that is easy to install, intuitive to operate and play music that will connect and engage with you emotionally.

SnakeoilOS gives you the freedom to spend more time on listening, enjoying and exploring music. Wasting time on computers is now a thing of the past! Everything is constantly evolving/improving. Please check back often for updates.

If you like this project, do show your support with a small token donation. All donations collected will be used to run this website, and for purchasing new equipment for the project.


Powered By MyBB, © 2002-2024. Theme © Melroy van den Berg.