prime_161_akaiforce
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
prime_161_akaiforce [2023/09/06 16:50] – ounsatn | prime_161_akaiforce [2023/11/22 17:09] (current) – ounsatn | ||
---|---|---|---|
Line 34: | Line 34: | ||
You can copy this new file ( 512 mb ) on your SD card. | You can copy this new file ( 512 mb ) on your SD card. | ||
+ | |||
+ | Then we are going to a create filesystem overlay which will contain our files. | ||
+ | On you media card location ( eg : / | ||
+ | |||
+ | < | ||
+ | |||
+ | It will create a file which size is 800 mb. | ||
+ | to give Ext4 FS type to our file, issue this comand : | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Create a folder named overlay on your media card ( eg : / | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Mount the created filesystem file ( lower-fs.img) on overlay folder : | ||
+ | < | ||
+ | |||
+ | |||
+ | Go to your overlay folder : | ||
+ | < | ||
+ | |||
+ | |||
+ | And create the following folder : | ||
+ | |||
+ | < | ||
+ | mkdir overlayupper | ||
+ | mkdir overlaywork | ||
+ | |||
+ | ls => lost+found overlayupper overlaywork | ||
+ | |||
+ | </ | ||
+ | |||
+ | Then we have to populate our overlayupper folder with the content of the denon firmware. | ||
+ | You can view the 512 Mb file from denon with 7zip, and extract / transfert files. | ||
+ | Another way is to mount the 512Mb file in another folder, and to copy files from there. That's i will do. | ||
+ | |||
+ | I put the 512Mb file in a folder named SC5 on my media card : | ||
+ | |||
+ | |||
+ | 02EB-7AEF is the name of my SD, it will be another on your side. | ||
+ | |||
+ | < | ||
+ | # pwd | ||
+ | / | ||
+ | |||
+ | # ls -al | ||
+ | 4 | ||
+ | total 512256 | ||
+ | drwxr-xr-x 2 root root 131072 Mar 24 14:45 . | ||
+ | drwxr-xr-x 60 root root 131072 Mar 24 14:36 .. | ||
+ | -rwxr-xr-x 1 root root 524288000 Mar 24 13:53 PRIMEGO-2.1.2-Update | ||
+ | |||
+ | # mkdir / | ||
+ | |||
+ | # mount PRIMEGO-2.1.2-Update / | ||
+ | |||
+ | # cd / | ||
+ | |||
+ | -- Here you see the content of the rootfs, mounted on / | ||
+ | # ls | ||
+ | bin dev home lib32 lost+found mnt proc | ||
+ | run srv tmp var | ||
+ | boot etc lib linuxrc media opt root | ||
+ | sbin sys usr | ||
+ | |||
+ | # cd usr | ||
+ | |||
+ | # ls | ||
+ | Engine bin lib libexec qt share | ||
+ | SoundSwitch etc lib32 mkspecs sbin | ||
+ | |||
+ | </ | ||
+ | |||
+ | copy files : | ||
+ | |||
+ | < | ||
+ | # cp -a Engine/ / | ||
+ | # cp -a SoundSwitch/ | ||
+ | # cp -a qt / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Some extra/new libs are required : | ||
+ | < | ||
+ | # cp -a lib/ | ||
+ | # cp -a lib/libicu* / | ||
+ | |||
+ | </ | ||
+ | |||
+ | All this files are put in the lower-fs.img file. | ||
+ | |||
+ | Then we will use the magical trick of the overlay to map what we have in overlayupper on /usr : | ||
+ | to do that i do : | ||
+ | |||
+ | < | ||
+ | mount -t overlay -o | ||
+ | rw, | ||
+ | ia/ | ||
+ | </ | ||
+ | |||
+ | And when you go to /usr , Taddaaaa! you have your content : | ||
+ | |||
+ | < | ||
+ | # cd /usr | ||
+ | |||
+ | # ls | ||
+ | Engine SoundSwitch bin etc lib lib32 libexec | ||
+ | qt sbin share | ||
+ | |||
+ | </ | ||
+ | |||
+ | Once done, before running Engine you have to EXPORT some var : | ||
+ | |||
+ | < | ||
+ | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ | ||
+ | export AIR_SCREEN_ROTATION=-90 | ||
+ | </ | ||
+ | |||
+ | |||
+ | And to spoof product-code, | ||
+ | to do this do a copy of the real file : | ||
+ | |||
+ | < | ||
+ | eg : copy "/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Then edit the file : | ||
+ | < | ||
+ | vi "/ | ||
+ | </ | ||
+ | |||
+ | Change ADA2 or what you have by JP11 for the prime GO ( Shift + R on vi to replace ) | ||
+ | Dont remove the ending ^@ | ||
+ | |||
+ | Then mount the file like this : | ||
+ | < | ||
+ | mount -o bind "/ | ||
+ | </ | ||
+ | |||
+ | And rename the file / | ||
+ | < | ||
+ | eg : mv / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | __**/!\ : before running prime , rename / | ||
+ | to do this : | ||
+ | < | ||
+ | mount remount / -o rw,remount | ||
+ | mv / | ||
+ | </ | ||
+ | |||
+ | Otherwise Prime may try to update STM32 firmware in dfu mode. | ||
+ | |||
+ | |||
+ | Now you can run prime, however like this , there is no mapping done to use it. | ||
+ | |||
+ | Some examples of assignments files are available in the folder : | ||
+ | / | ||
+ | |||
+ | And then to run Prime | ||
+ | Issue the command ( in / | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | # ./Engine | ||
+ | </ | ||
+ | |||
+ | In the starting log you' | ||
+ | |||
+ | < | ||
+ | in the log we see the model and assignment files : | ||
+ | QCommandLineParser: | ||
+ | DenonDJ "PRIME GO 2.1.2 eaf7ec4c8" | ||
+ | QCommandLineParser: | ||
+ | FORCING SWAP INTERVAL = 1 | ||
+ | FORCING SWAP INTERVAL = 1 | ||
+ | air.assignments.deviceadapter: | ||
+ | air.assignments.deviceadapter: | ||
+ | air.assignments.deviceadapter: | ||
+ | air.assignments.deviceadapter: | ||
+ | qml: Sending Initilization Message Akai Pro AMX | ||
+ | qml: Sending initialization message for PRIME GO ... | ||
+ | qml: Initialization phase ended | ||
+ | qml: Query absolute position controls | ||
+ | </ | ||
+ | |||
+ | So the Next step to use prime is to create/ | ||
+ | On Akai force you can make 4 qml in relation with audio interface. | ||
+ | I was not able to verify if public qml file are working because on my first try i had these 4 files. | ||
+ | |||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | Now i'm only using private files and it's working well. | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | Private files are used to map Led / Pad colors output</ | ||
{{http:// | {{http:// |
prime_161_akaiforce.1694011808.txt.gz · Last modified: 2023/09/06 16:50 by ounsatn