TB - UpdateOS 2.2 TB Beta - closed -> use official OS 3.0


#1

Hi

ok, Ive put together a beta for anyone interested, covering enhancements discussed in my previous thread

Its on patchstorage here:
https://patchstorage.com/updateos-v22b1-tb/

install procedure same as the official upgrade - download zip, unpack it, copy it to usbdrive/patches, then run from organelle.

the beta is fully compatible with 2.1, simply providing new features and bug fixes.
the hope is to roll this code into the C&G code via a ‘pull request’, once the beta is complete (assuming they like/accept my changes :))

if you get bored of it, have issues with the beta, you can simply revert by installing the official 2.1 release - https://patchstorage.com/update-os-v2-1/

features

  • organise your patches into sub directories
  • favourites
  • shutdown shortcut (hold down encoder for 4 seconds)
  • various fixes for ‘system commands’
  • experimental : support for partitioned internal sd card
  • experimental: support for running OS off the usbdrive/sd card

favourites

in the ‘system menu’ you will see a new option “show favourites/patches” , this toggles between showing (unsurprisingly) favourites and all patches, when on the ‘favourite menu’ , you can add and remove the current (running) patch.

so this means:
to add a favourite:
start patch as normal , from the patch menu , press encoder, select show favourites, then select add current

to delete a favourite:
start the patch (hint, you can do that from the favourite menu :wink: ), ensure favourites are shown in menu, then select delete current.

the favourites are stored in a simple text file, in the top level of the usbdrive - so if you want to you can edit this, to change the order etc. you will see the format is
{location of patch}:{name of patch}
eg.
/usbdrive/Patches:rngs_reverb
/usbdrive/Patches/Community/Technobear:rngs_reverb

if you have any issues etc, let me know on this thread.

enjoy
Mark

UPDATES:

(same location on patchstorage, replaces any previous beta version)

Beta 2 release (15-July)

  • fix set midi channel
  • fix eject/reload/midi ‘screen freezes’
  • fix issue with multipage version
  • move favourites to /usbdrive/favourites.txt

Beta 3 release (17-July)

  • fix midi config leaving oscdump running
  • verify Update package when installing (SHA1) for possible corruption
  • rearrange menu
  • introduce shutdown shortcut, hold encoder down for 4 seconds to initiate shutdown

Beta 4 release (18-July)

  • install improvements, only check files in manifest, report failed installed, dont reboot

Beta 5 release (19-July)

  • fix saving of “multi page synths”
  • add “>” to patch subdirectories.

Beta 6 release (29-July)

  • Program Changes now select from Favourites.

Beta 7 (9 August)

  • experimental alsa midi support ( see this post for details)

Beta 8 (10 August)

  • improved alsa support

Beta 9 (19 August)

  • improved shutdown shortcut
  • fix usb eject issue
  • improved deploy script
  • install now:
    • sets root password to organelle (all lowercase required for X11 remote login)
    • updates sshd_config to better defaults
    • move user ssh environment to tmp (writeable)
    • removes c&g git config

#2

ok, bit of playing - there will be a beta 2 :wink:

Ive introduced one issue with setting midi channels - fixed in 2.2b2

I also found a bug, which i believe is present in 2.1
set the midi channel, then select the info screen … and organelle will 'lock up’
Ive also fixed this in 2.2b2

as these are ‘relatively’ minor , I’ll wait a bit before releasing a new version… so if others find any issues, or other goodies make there way into the code :boom:

another one: I assume you have a System directory on your usbdrive to store favourites…
workaround: you may need to create one , fixed in 2.2b2


#3

“organise your patches into sub directories for patches”

OMG i can’t wait to try this, i was about to start a thread requesting it…dream come true!


#4

ok, beta 2 release, see above for fixes etc.

also as a ‘dev’ note

make image

will now create a zip file ready for release, using a templated deploy and main.pd , which all gets updated using root/version & root/buildtag

… note, if you want to do this on organelle you’ll need to install zip and unzip

pacman -S zip unzip

there are also other make targets:
make deploy, deploy to /root
make deployToSD , deploy ‘firmware’ to usbdrive
make deployToUSB, deploy firmware to usbstick

(basically host/compile.sh and host/deploy.sh are redundant now, as can all be done with make)

known issues : (for beta 3 fix)

  • mid-config leaves oscdump running (so using cpu/memory) - bug in 2.1

#5

This sounds cool, and thanks for making a proper makefile, much needed improvement!

This week I added some basic file integrity checks to the v2.1 update patch deploy script.

We heard from several users that the Organelle became unresponsive after running the update patch. In one case we traced the problem back to corrupted files on the USB drive. Unless a user is willing to fire up a monitor and debug, the only option is to reflash the SD card.

To prevent this, the update patch now checks a sha1 hash for each file and proceeds with copying only if they all check out. This brute force method is a pain and not really workable, which is why I want to get the deploy into a pacman package which has integrity checks built in. I can look into this and hopefully we could eventually roll it into ‘make image’.

Just thought I’d point this out… if TB Beta 2 causes an Organelle to become unresponsive, it is probably because the files were corrupted on the USB (or somewhere between user downloading, unzipping and copying them onto USB)


#6

ok, for beta 3:

  • I’ve implemented an sha1 test … so make image builds the sha1, and deploy.sh checks it.
  • fixed, the issue with mid-config leaving oscdump running, I’ve also simplified it, by removing the requirement for set-midi-sh, so i think it’ll be a bit more reliable.

would be useful if others are using it, to get some feedback, be cool if beta 3 could be the last,
but id like to fix any other oddities I’ve introduced (or are in 2.1)


#7

is beta 3 on patch storage ?


#8

Not yet, I was going to wait to see if there was any other 'oddities reported , that the could fix - but I can upload now if you like.


#9

I’m trying out 2 now. Looking good so far. One thing is the organization of the System menu. Originally Shutdown was last cause that make sense. But now there are more things… nice to have save functions closest to the patch area. maybe it should be alphabetical? or maybe Shutdown should be first, easy to get to, also furthest away?


#10

also, should sub folders be represented differently on the main (root) menu, a prepended special character, or space? or maybe ending with (’–>’) ?


#11

Good ideas

Shutdown is a funny one, frequently used, but one you don’t want to accidentally trigger :slight_smile:
I was wondering if a 'long press on encoder ’ (5 sec) might be a nice shortcut for shutdown


#12

Yeah that would be a good shortcut. The shutdown menu item also serves to remind user to shutdown correctly (I don’t know how important that is after first use). could be both – long press on menu item, or long press anytime starts shutdown. (haha, I guess in this case the menu item would merely be a reminder)


#13

Please make this happen! Such a shortcut to shutdown would be simply awesome.


#14

ok, beta 3 is out … including shutdown shortcut… press and hold encoder for 4 seconds.
(I found 5 was a bit long, but easy to change if others believe otherwise)

a couple of notes

  • it can be used anywhere, however, I do respect patch/aux override, so if a patch says its processing encoder events (e.g. multi page) then your have to go back to the main menu
    we could say that this functionality is not overridable, but I thought id be ‘conservative’ initially. (again easy change)

  • users probably wont notice, but… actions are now carried out when the encode is released, rather than pressed. This actually is pretty normal for UIs, since its a bit more flexible… since you can allow for alternative gestures when an encoder is being pressed , rather than ‘up’ e.g. long presses, press and turn.
    i only mention, as some may be ‘surprised’ … but really mid term its better :wink:


#15

Awesome! :slight_smile: Now, before I’m diving in: is this a normal ‘unzip - copy to patch folder - power up - run patch’ procedure? Also, can I use the original SD card and usb drive that came with the Organelle? No creating partitions and other funny stuff? :slight_smile: I’m still running the latest official OS and plan to upgrade to the beta 3 from where I am. Sorry for still being dumb when it comes to things like upgrades and I much appreciate your feedback. :


#16

Yes ,exactly the same as the official upgrade.
Just unzip to patches, and run the patch.

No other requirements. Normal organelle sdcard and usbstick


#17

When awesome gets even better! Thanks a bunch! :smiley:


#18

I had some install issues, so I had to install manually. My mac made a .DS_Store file in the patch folder, and looks like it made a lot of other tmp files when I copied the patch folder to the USB drive too. This caused the SHA1 file check to fail. Also the patch didn’t alert me that it failed, it just shutdown so I actually thought it worked the first time.

Another option for the deploy might be to put all the files into a single .zip or .tar.gz file. Then this gets copied to /tmp, checked (SHA1), then uncompressed and the files copied to /root.


#19

I did update as described and it went fine, but there doesn’t seem to be any difference compared to 2.1. On the ‘info’ it still reads OS2.1, same menu system, no shutdown shortcut. Where did I go wrong? Am I maybe missing some extra files from the root directory? Like I said earlier I had/have 2.1 running, added nothing else but the beta 3 patch. Any advice will be appreciated. Thanks!


#20

ok @oweno @jooga1972 beta 4 release, which improves the installation :slight_smile:

now only checks files listed in the manifest, so extra files created by OS X etc will be ignored.

the issue with shutdown, was caused by the ‘shell’ extension ignoring exit codes
so Ive change this so the whole thing is dealt with in the deploy script, so now…
if the files corrupt, it will report this to the oled, and not shutdown…
if files are ok, will proceed to shutdown, as before