diff mbox

[OpenWrt-Devel] malta: disable mips16

Message ID 1440648162-20177-1-git-send-email-dirkneukirchen@web.de
State Rejected
Headers show

Commit Message

Dirk Neukirchen Aug. 27, 2015, 4:02 a.m. UTC
- it causes issues with qemu versions < 2.2
should fix issues with Ubuntu 14.03 LTS (qemu 2.0)
errors are:
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

see ticket #16881

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
---
 target/linux/malta/be/target.mk | 2 +-
 target/linux/malta/le/target.mk | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Yousong Zhou Aug. 27, 2015, 7:27 a.m. UTC | #1
On 27 August 2015 at 12:02, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
> - it causes issues with qemu versions < 2.2
> should fix issues with Ubuntu 14.03 LTS (qemu 2.0)
> errors are:
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>

But it's a bug within qemu.  I have a simple script [1] for building
qemu at least v2.3.0 from source code.

 [1] https://github.com/yousong/build-scripts/blob/master/build-qemu.sh

                yousong
Dirk Neukirchen Aug. 27, 2015, 8:50 a.m. UTC | #2
On 27.08.2015 09:27, Yousong Zhou wrote:
> On 27 August 2015 at 12:02, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
>> - it causes issues with qemu versions < 2.2
>> should fix issues with Ubuntu 14.03 LTS (qemu 2.0)
>> errors are:
>> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>>
> 
> But it's a bug within qemu.  I have a simple script [1] for building
> qemu at least v2.3.0 from source code.
> 
>  [1] https://github.com/yousong/build-scripts/blob/master/build-qemu.sh
> 
>                 yousong
> 

MIPS16 is still deactivated on 44 packages so it still can be considered "unstable" 
/imho

Other reasons to fix:
- potential code size reduction by using MIPS16 is not important qemu targets
- compiling qemu might break and that requires more user action
- some ppl dont like to compile software thats available in distro packages
- Ubuntu LTS will keep 2.0
- Debian 8/jessie has 2.1
- its unlikely that qemu will backport fixes to 2.0 version
- its unclear if/when Ubuntu will backport that fix

Reasons not to fix:
- Malta targets developers that want to test features / build test environments ....
it is expected mostly developers use this target and they know how to either
handle or circumvent this known issue.

Most people do not seem to read wiki or search bugtracker for open/known issues.
Is putting a README into the bin/ dir on "half broken" platforms a better solution ?
Some prefix/suffix indicating which qemu version is working with that file ?
John Crispin Aug. 27, 2015, 9:29 a.m. UTC | #3
On 27/08/2015 10:50, Dirk Neukirchen wrote:
> On 27.08.2015 09:27, Yousong Zhou wrote:
>> On 27 August 2015 at 12:02, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
>>> - it causes issues with qemu versions < 2.2
>>> should fix issues with Ubuntu 14.03 LTS (qemu 2.0)
>>> errors are:
>>> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>>>
>>
>> But it's a bug within qemu.  I have a simple script [1] for building
>> qemu at least v2.3.0 from source code.
>>
>>  [1] https://github.com/yousong/build-scripts/blob/master/build-qemu.sh
>>
>>                 yousong
>>
> 
> MIPS16 is still deactivated on 44 packages so it still can be considered "unstable" 
> /imho

rather then make it 45 and add the kernel i think we should fix stuff.

personally i dont see it feasible to force everyone to use no mips16
because your distro is outdated

that is like saying "lets force 11b always as some users still have
ancient wifi dongles"



> 
> Other reasons to fix:
> - potential code size reduction by using MIPS16 is not important qemu targets

hjaving ne eminent need for size reduction does not mean bloat is acceptable


> - compiling qemu might break and that requires more user action

works fine for me and i had no reports of it being broken so far

> - some ppl dont like to compile software thats available in distro packages

some people just use distros that ship up to date packages

> - Ubuntu LTS will keep 2.0

ermm ... well .. that is ubuntu

> - Debian 8/jessie has 2.1

backports ?

> - its unlikely that qemu will backport fixes to 2.0 version

sure that is why we dont use ancient software

> - its unclear if/when Ubuntu will backport that fix

ermm ... well .. that is ubuntu



> 
> Reasons not to fix:
> - Malta targets developers that want to test features / build test environments ....
> it is expected mostly developers use this target and they know how to either
> handle or circumvent this known issue.

exactly and i think it is fair to expect a developer to be able to setup
a development env

> 
> Most people do not seem to read wiki or search bugtracker for open/known
issues.

some people dont respect the read light and some people dont read
forums, that is not our problem


> Is putting a README into the bin/ dir on "half broken" platforms a better solution ?

as i said before if something is broken fix it rather than hiding the
details

> Some prefix/suffix indicating which qemu version is working with that file ?

HEAD tends to work ;)



> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
John Crispin Aug. 27, 2015, 9:31 a.m. UTC | #4
On 27/08/2015 11:29, John Crispin wrote:
> hjaving ne eminent need for size reduction does not mean bloat is acceptable

typo tastic ... note to self: "dont send mails on the ipad when you have
a kid in one arm" ;)
Yousong Zhou Aug. 27, 2015, 9:50 a.m. UTC | #5
On 27 August 2015 at 17:29, John Crispin <blogic@openwrt.org> wrote:
>
>
> On 27/08/2015 10:50, Dirk Neukirchen wrote:
>> On 27.08.2015 09:27, Yousong Zhou wrote:
>>> On 27 August 2015 at 12:02, Dirk Neukirchen <dirkneukirchen@web.de> wrote:
>>>> - it causes issues with qemu versions < 2.2
>>>> should fix issues with Ubuntu 14.03 LTS (qemu 2.0)
>>>> errors are:
>>>> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>>>>
>>>
>>> But it's a bug within qemu.  I have a simple script [1] for building
>>> qemu at least v2.3.0 from source code.
>>>
>>>  [1] https://github.com/yousong/build-scripts/blob/master/build-qemu.sh
>>>
>>>                 yousong
>>>
>>
>> MIPS16 is still deactivated on 44 packages so it still can be considered "unstable"
>> /imho
>
> rather then make it 45 and add the kernel i think we should fix stuff.
>

Well, I contributed one to that number just yesterday and I am now
testing a fix on QEMU Malta to revert it...  It's a live case that we
need QEMU Malta with MIPS16 for development of smaller firmwares (at
least) for other targets.  Doing a full build is really time-consuming
and it's a pain just thinking about having to flash those intermediate
results to a physical board with all those dumb wiring and interactive
work.

BTW. I did not know that the code size reduction could be so
significant with MIPS16.  Output of `ls -l
../ipkg-ar71xx/reaver/usr/bin/'

    -rwxr-xr-x 1 yousong yousong 410416 Aug 27 10:55 reaver
    -rwxr-xr-x 1 yousong yousong 227528 Aug 27 10:55 wash

    -rwxr-xr-x 1 yousong yousong 389936 Aug 27 10:59 reaver
    -rwxr-xr-x 1 yousong yousong 211140 Aug 27 10:59 wash

 [1] https://github.com/openwrt/packages/commit/1e29676a8ac74f797f8ca799364681cec575ae6f

               yousong
diff mbox

Patch

diff --git a/target/linux/malta/be/target.mk b/target/linux/malta/be/target.mk
index 92ae58e..b505e3b 100644
--- a/target/linux/malta/be/target.mk
+++ b/target/linux/malta/be/target.mk
@@ -2,7 +2,7 @@  ARCH:=mips
 ARCH_PACKAGES:=malta_mips
 SUBTARGET:=be
 BOARDNAME:=Big Endian
-FEATURES:=ramdisk mips16
+FEATURES:=ramdisk
 
 define Target/Description
 	Build BE firmware images for MIPS Malta CoreLV board running in
diff --git a/target/linux/malta/le/target.mk b/target/linux/malta/le/target.mk
index 35fcf4c..7906aa7 100644
--- a/target/linux/malta/le/target.mk
+++ b/target/linux/malta/le/target.mk
@@ -2,7 +2,7 @@  ARCH:=mipsel
 ARCH_PACKAGES:=malta_mipsel
 SUBTARGET:=le
 BOARDNAME:=Little Endian
-FEATURES:=ramdisk mips16
+FEATURES:=ramdisk
 
 define Target/Description
 	Build LE firmware images for MIPS Malta CoreLV board running in