ytn Posted November 6, 2015 Share Posted November 6, 2015 Igor, I noticed that your build script automatically parses a URL to determine what the current stable release is for "Next". Since 4.3 is now officially released and has a number of features worth checking out, it would be nice if the build script offered an option to pick from stable vs. mainline. For now I am just manually setting the KernelTag to "4.3", but it would be nice not to have to modify any of the scripts manually and have this be an option you can pick from. Just a suggestion... Thanks. Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 6, 2015 Share Posted November 6, 2015 (edited) hi ytn, in configuration.sh just replace "stable" by "mainline" and also comment non relevant patches in patching.sh kernel 4.3.0 compiles ok, working also, but new features as sunxi-ss are not working I get [ 5.097091] sun4i-ss 1c15000.crypto-engine: no reset control found [ 5.098655] sun4i-ss 1c15000.crypto-engine: Die ID 0 [ 5.098672] sun4i-ss 1c15000.crypto-engine: Fail to register md5 [ 5.098947] sun4i-ss: probe of 1c15000.crypto-engine failed with error -22 otherwise the patch to test the sunxi prng doesn't work. Other new features seem to have no effect. Edited November 6, 2015 by wildcat_paris Link to comment Share on other sites More sharing options...
ytn Posted November 6, 2015 Author Share Posted November 6, 2015 Hi Wilcat, Thanks for the response. The sunxi-ss has a bug... that's primarily the reason I wanted to test 4.3. I emailed the driver developer about that error. He has submitted a patch to fix that problem... here's a link to the patch request: https://lkml.org/lkml/2015/11/5/91 ​ 1 Link to comment Share on other sites More sharing options...
Igor Posted November 7, 2015 Share Posted November 7, 2015 Just define a KERNELTAG in a call script and this way you override automatic selection. We can also add a parameter for MAINLINE / STABLE if that is less confusing? Link to comment Share on other sites More sharing options...
ytn Posted November 7, 2015 Author Share Posted November 7, 2015 Hi Igor, A command line parameter to compile.sh would be nice e.g. "./compile.sh mainline" if no parameter is passed in, then it could default to stable. That would make things a lot simpler and not require modifying any of the lib files or having to create separate call scripts to define KERNELTAG. Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 7, 2015 Share Posted November 7, 2015 ytn, thanks for the patch, you have spared me some time ss seems to work in /proc/crypto Linux version 4.3.0-sunxi (root@server1404) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-16ubuntu4) ) #8 SMP Sat Nov 7 16:55:14 CET 2015 name : ecb(des3_ede) driver : ecb-des3-sun4i-ss module : sun4i_ss selftest : passed internal : no driver : cbc-des3-sun4i-ss driver : ecb-des-sun4i-ss driver : cbc-des-sun4i-ss driver : ecb-aes-sun4i-ss driver : cbc-aes-sun4i-ss driver : sha1-sun4i-ss driver : md5-sun4i-ss I am unsure about "just" a ./compile.sh mainline as one need to be careful with patch management & kernel config in Igor's Armbian tools Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 8, 2015 Share Posted November 8, 2015 ok testing A20 prng BW is 4MB/s will give results from dieharder later FYIremade a patch for 4.3.0 kernel with last bug fix + http://sunxi.montjoie.ovh/patch for the "prng"including a "huge" .config file for 4.3.0 Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 8, 2015 Share Posted November 8, 2015 ok testing A20 prng BW is 4MB/s just a quick "diehard" on a 100 MB search "Allwinners" in the table dieharder running currently for 10 hours and pending looks ok (125 GB of /dev/hwrng and running) Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 9, 2015 Share Posted November 9, 2015 Partial dieharder testing see attachment Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 10, 2015 Share Posted November 10, 2015 another set of tests, "not bad" btw Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 18, 2015 Share Posted November 18, 2015 it is a decent prng, impossible to assess anything about being a csprng Link to comment Share on other sites More sharing options...
ytn Posted November 18, 2015 Author Share Posted November 18, 2015 Thanks for the feedback on the testing. Any plans to test the other stuff like AES, SHA1 etc? it is a decent prng, impossible to assess anything about being a csprng 1 Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 19, 2015 Share Posted November 19, 2015 ytn, Thanks for the feedback on the testing. Any plans to test the other stuff like AES, SHA1 etc? good question, I need to read soon or later the details of the crypto tests included in the kernel, I only see the following logs (the one with higher priorities for the kernel) gr@bpi:~$ dmesg | grep test [ 0.410187] prandom: seed boundary self test passed [ 0.413319] prandom: 100 self tests passed [ 3.749688] alg: rsa: test failed on vector 4, err=-74 [ 3.770417] alg: No test for 842 (842-generic) [ 3.809805] crc32: self tests passed, processed 225944 bytes in 1094875 nsec [ 3.810947] crc32c: self tests passed, processed 225944 bytes in 555042 nsec [ 3.877363] crc32_combine: 8373 self tests passed [ 3.945251] crc32c_combine: 8373 self tests passed [ 7.586234] xz_dec_test: module loaded [ 7.586260] xz_dec_test: Create a device node with 'mknod xz_dec_test c 248 0' and write .xz files to it. as well as the tests marked as "passed" for sun4i_ss/arm/neon gr@bpi:~$ cat /proc/crypto name : ecb(des3_ede) driver : ecb-des3-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 8 min keysize : 24 max keysize : 24 ivsize : 8 geniv : <default> name : cbc(des3_ede) driver : cbc-des3-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 8 min keysize : 24 max keysize : 24 ivsize : 8 geniv : <default> name : ecb(des) driver : ecb-des-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 8 min keysize : 8 max keysize : 8 ivsize : 0 geniv : <default> name : cbc(des) driver : cbc-des-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 8 min keysize : 8 max keysize : 8 ivsize : 8 geniv : <default> name : ecb(aes) driver : ecb-aes-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 geniv : <default> name : cbc(aes) driver : cbc-aes-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : no blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 geniv : <default> name : sha1 driver : sha1-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ahash async : no blocksize : 64 digestsize : 20 name : md5 driver : md5-sun4i-ss module : sun4i_ss priority : 300 refcnt : 1 selftest : passed internal : no type : ahash async : no blocksize : 64 digestsize : 16 name : hmac(sha256) driver : hmac(sha256-neon) module : kernel priority : 250 refcnt : 3 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : sha512 driver : sha512-neon module : kernel priority : 300 refcnt : 1 selftest : passed internal : no type : shash blocksize : 128 digestsize : 64 name : sha384 driver : sha384-neon module : kernel priority : 300 refcnt : 1 selftest : passed internal : no type : shash blocksize : 128 digestsize : 48 name : sha512 driver : sha512-arm module : kernel priority : 250 refcnt : 1 selftest : passed internal : no type : shash blocksize : 128 digestsize : 64 name : sha384 driver : sha384-arm module : kernel priority : 250 refcnt : 1 selftest : passed internal : no type : shash blocksize : 128 digestsize : 48 name : sha224 driver : sha224-neon module : kernel priority : 250 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 28 name : sha256 driver : sha256-neon module : kernel priority : 250 refcnt : 4 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : sha224 driver : sha224-asm module : kernel priority : 150 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 28 name : sha256 driver : sha256-asm module : kernel priority : 150 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 32 name : sha1 driver : sha1-neon module : kernel priority : 250 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 20 name : sha1 driver : sha1-asm module : kernel priority : 150 refcnt : 1 selftest : passed internal : no type : shash blocksize : 64 digestsize : 20 name : xts(aes) driver : xts-aes-neonbs module : kernel priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : yes blocksize : 16 min keysize : 32 max keysize : 64 ivsize : 16 geniv : <default> name : ctr(aes) driver : ctr-aes-neonbs module : kernel priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : yes blocksize : 1 min keysize : 16 max keysize : 32 ivsize : 16 geniv : <default> name : cbc(aes) driver : cbc-aes-neonbs module : kernel priority : 300 refcnt : 1 selftest : passed internal : no type : ablkcipher async : yes blocksize : 16 min keysize : 16 max keysize : 32 ivsize : 16 geniv : <default> name : aes driver : aes-asm module : kernel priority : 200 refcnt : 5 selftest : passed internal : no type : cipher blocksize : 16 min keysize : 16 max keysize : 32 Link to comment Share on other sites More sharing options...
wildcat_paris Posted November 19, 2015 Share Posted November 19, 2015 I haven't used the user-mode of sunxi-ss Patch applied to cryptodev sun4i-ss implementaton of md5/sha1 is via ahash algorithms. https://lkml.org/lkml/2015/11/17/408 Link to comment Share on other sites More sharing options...
martijn Posted December 10, 2015 Share Posted December 10, 2015 Im trying to build the mainline kernel instead of the stable branch. In this topic i read that i need to change stable to mainline in configuration.sh, however i can not find where i need to do this. Is it this line: LINUXKERNEL="git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" ? Could someone point me into the right direction ? Link to comment Share on other sites More sharing options...
Igor Posted December 10, 2015 Share Posted December 10, 2015 To achieve this in current script is a bit hard but you are welcome to jump into testing branch, where this is possible out of the box. This was also one of the core reasons to rework the script. Use this branch: https://github.com/igorpecovnik/lib -b master Remember to alter branch in this line before start and start from clean dir. https://github.com/igorpecovnik/lib/blob/master/compile.sh#L78 It's a dev branch so please be patient ... and report if you encounter strange behavior. Link to comment Share on other sites More sharing options...
martijn Posted December 10, 2015 Share Posted December 10, 2015 To achieve this in current script is a bit hard but you are welcome to jump into testing branch, where this is possible out of the box. This was also one of the core reasons to rework the script. Use this branch: https://github.com/igorpecovnik/lib -b master Remember to alter branch in this line before start and start from clean dir. https://github.com/igorpecovnik/lib/blob/master/compile.sh#L78 It's a dev branch so please be patient ... and report if you encounter strange behavior. Thanks Igor, i will post my progress here. Link to comment Share on other sites More sharing options...
wildcat_paris Posted January 3, 2016 Share Posted January 3, 2016 FYI @all also @ytn Corentin Labbe http://sunxi.montjoie.ovh/ He has made a very convenient meta tool for testing "AES, SHA1 etc" https://github.com/montjoie/cryptotest also needed: https://github.com/cryptodev-linux/cryptodev-linux Link to comment Share on other sites More sharing options...
Recommended Posts