1 1
ytn

Stable vs mainline for Next

Recommended Posts

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.

Share this post


Link to post
Share on other sites
(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 by wildcat_paris

Share this post


Link to post
Share on other sites

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

​

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

 

Share this post


Link to post
Share on other sites

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 ?
 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1