busybox 1.31.1 issue when integrate into Openwrt18.06

Jie Ren (jiere) jiere at cisco.com
Tue Nov 19 09:00:34 UTC 2019


Hi Petr,

Thanks for your quick reply, really appreciated~

Actually our project used to base the Openwrt 15.05 release which was very old and had busybox 1.23.2 in it. 
Recently we upgraded the Openwrt version from 15.05 to 18.06, however, the busybox version remained in 1.23.2.
As you said, this version has many security issues, so we decided to upgrade it.

At first, we just searched on Busybox official site and found that 1.31.1 is the latest stable version, so we chose it and met below issues.

And I just searched the Openwrt official github site: https://github.com/openwrt/openwrt/tree/openwrt-18.06/package/utils/busybox

It seems that on the Openwrt official 18.06 branch, busybox was upgraded to 1.28.2.

No matter we chose 1.28.2 or 1.31.1, I just want to know that what's the method for such busybox package upgrade?
Since in Openwrt project busybox Makefile: https://github.com/openwrt/openwrt/blob/openwrt-18.06/package/utils/busybox/Makefile, it only set the pkg version and hash. 

It seems that Openwrt provided two perl scripts for busybox integration:
https://github.com/openwrt/openwrt/blob/openwrt-18.06/package/utils/busybox/convert_defaults.pl
https://github.com/openwrt/openwrt/blob/openwrt-18.06/package/utils/busybox/convert_menuconfig.pl


But when I used them as I wrote in my earlier mail, met such ash/sh not work issue then...

BR,
Jie Ren
 

On 2019/11/19, 2:02 PM, "Petr Štetiar" <ynezz at true.cz> wrote:

    Jie Ren (jiere) <jiere at cisco.com> [2019-11-19 01:56:04]:
    
    (I apologize for another off-topic email)
    
    Jie, you're asking on the wrong mailing list, your support request has nothing
    to do with Busybox project, apart that you're trying to use it in OpenWrt
    build environment, but in the wrong and unsupported way.
    
    Please note, that you're using very outdated SDK and that it's very unlikely,
    that anyone from community is going to bother. You're supposed to stick with
    provided SDK releases which are supported by community or direct your support
    requests to your SDK vendor.
    
    > The old busybox version in our openwrt is 1.23.2
    
    v17.01.7      has 1.25.1
    v18.06.5      has 1.28.3
    v19.07.0-rc1  has 1.30.1
    master        has 1.31.1
    
    So it seems like you're using something way older, already EOL, probably full
    of security and other issues and updating to Busybox 1.31.1 won't cut it.
    
    > But the “sh” is not correct:
    > /etc/preinit: /lib/functions.sh: line 57: syntax error: support for $((arith)) is disabled
    
    Isn't this error self explaining? You've probably screwed something, as
    ENABLE_FEATURE_SH_MATH option is enabled by default in both Busybox and
    OpenWrt configs.
    
    > Could you please help point out is there any wrong of my upgrade operation?
    
    Your version bump is probably very huge and you need to keep in mind, that
    there are still some config options which need to be manually adjusted to
    OpenWrt defaults, some patches should be considered as well.
    
    Your best bet is to rebase/backport your SDK to the upcoming 19.07.0 release
    or cherry-pick/merge Busybox version bumps between your OpenWrt version and
    current OpenWrt master with 1.31.1 and then possibly squash those into one
    commit.
    
     $ git log --reverse --pretty="%h %s" --grep="update to" v18.06.5..origin/master -- package/utils/busybox/Makefile
    
     ccc728a0e2a7 busybox: update to 1.28.4
     12fb4bb834dc busybox: update to 1.29.2
     4a3298c12478 busybox: update to 1.29.3
     9b9274342c47 busybox: update to 1.30.0
     94993a79f826 busybox: update to 1.30.1
     696c511fb480 busybox: update to 1.31.0
     5b3f0e70a10e busybox: update to 1.31.1
    
    BTW you might probably need to cherry-pick/merge some commits in between as
    well.
    
    -- ynezz
    



More information about the busybox mailing list