Modify

Opened 5 years ago

Closed 5 years ago

#12569 closed defect (fixed)

ar71xx: kernel version change from 3.3.8 to 3.6.8 broke 22 device images due to too big size

Reported by: hnyman <hannu.nyman@…> Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: base system Version: Trunk
Keywords: Cc:

Description

The kernel version bump from 3.3.8 to 3.6.8 with r34414 broke 22 device images, which now give the warning that they are too big. For example:

Warning: /build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/tmp/vmlinux-wzr-hp-g300nh.uImage is too big

Typically the question is not about the firmware size, but the kernel size limit. See:

if [ `stat -c%s "/build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/tmp/vmlinux-wzr-hp-ag300h.uImage"` -gt 1048576 ]; then echo "Warning: /build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/tmp/vmlinux-wzr-hp-ag300h.uImage is too big"; else if [ `stat -c%s /build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/root.squashfs-64k` -gt 31850496 ]; then echo "Warning: /build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/root.squashfs-64k is too big"; else ( dd if=/build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/tmp/vmlinux-wzr-hp-ag300h.uImage bs=1048576 conv=sync; dd if=/build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/root.squashfs-64k ) > /build/openwrt/slave/ar71xx/build/bin/ar71xx/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin; fi; fi
Warning: /build/openwrt/slave/ar71xx/build/build_dir/linux-ar71xx_generic_uClibc-0.9.33.2/tmp/vmlinux-wzr-hp-ag300h.uImage is too big

I took the error messages from the ar71xx buildbot logs and looked for the difference between the last 3.3.8 build and the current 3.6.8 build. The amount of "is too big" error messages for images grew from 27 to 49.

There is already discussion in the forum about the missing binaries, so hopefully developers figure out ways of restoring image building for these devices.

The following device images gave no error with 3.3.8, but are broken with 3.6.8. Some of them are rather popular & powerful, so not all of those are ancient devices.

all0258n
all0315n
ew-dorin
ew-dorin-router
dir-825-b1
dir-825-b1-fat
tew-673gru
tew-673gru-fat
dlrtdev01
dlrtdev01-fat
ubdev01
rw2458n
ubnt-airrouter
ubnt-bullet-m
ubnt-rocket-m
ubnt-nano-m
ubnt-unifi
ubnt-unifi-outdoor
wzr-hp-g300nh
wzr-hp-g300nh2
wzr-hp-ag300h
wzr-hp-g450h

Attachments (0)

Change History (27)

comment:1 Changed 5 years ago by anonymous

I built r34432 for WZR-HP-AG300H without any size problem.
Image size before new kernel 27.6MB, Image size after new kernel (r34432) 28.3MB. (I added 1 or 2 small packages too.)

Could flash without any problem with sysupgrade.

comment:2 follow-up: Changed 5 years ago by nbd

Please try the latest version after a make target/linux/clean. If many images still fail, post the output of ./scripts/diffconfig.sh

comment:3 in reply to: ↑ 2 Changed 5 years ago by hnyman <hannu.nyman@…>

Replying to nbd:

Please try the latest version after a make target/linux/clean. If many images still fail, post the output of ./scripts/diffconfig.sh

I have no problem with my own wndr3700 build, but the failed builds, e.g. for wzr-hp-ag300h and dir-825, are now missing from http://downloads.openwrt.org/snapshots/trunk/ar71xx/ as the buildbot system fails with them. I believe the buildbots always start from scratch with the default config.

Like I said in the original ticket, I compared the logs pulled out of the buildbot system, specifically the image build step log of the last 338 build against the current 368 build.

Ps. looks like the whole buildbot system is currently down, at least there is no life at http://buildbot.openwrt.org

comment:4 Changed 5 years ago by anonymous

Any update on this defect?

comment:5 Changed 5 years ago by nbd

I committed some more kernel debloat changes, waiting for the builder to see if that was enough.

comment:6 Changed 5 years ago by hnyman <hannu.nyman@…>

Based on a quick grep on the logs of the currently uploading buildbot build, it looks like you got them fixed and maybe even some of the older ones.

comment:7 Changed 5 years ago by nbd

  • Resolution set to fixed
  • Status changed from new to closed

comment:8 Changed 5 years ago by jjslegacy@…

Looks good - built,installed and all is working well.

Thanks!

comment:9 Changed 5 years ago by anonymous

  • Resolution fixed deleted
  • Status changed from closed to reopened

Looks like the images are not available again. Can you please check

comment:10 Changed 5 years ago by nbd

hrm. I keep reducing bloat and the kernel upgrades keep adding it...

comment:11 Changed 5 years ago by jjslegacy@…

Looks like this will be a never ending game. Files were back for one build but have been gone for the last few.

comment:12 Changed 5 years ago by technozen <vonlogic@…>

Interested in helping with this. How and where should I start? http://buildbot.openwrt.org/ still or again down(?), any other access to buildbot logs?

You mention discussions in the forums. Can see bits & pieces pointing back here, eg under
"WZR-HP-G300NH Support" (p. 19) https://forum.openwrt.org/viewtopic.php?pid=189740#p189740
and there are many other popular devices failing the build (wzr-hp-ag300h dir-825 ...)

Is this ticket (right here) the main thread on ar71xx build, or is there a better place?

nbd, are you the only dev on this issue so far?

comment:13 Changed 5 years ago by technozen <vonlogic@…>

OK, buildbot is online here: http://buildbot.openwrt.org:8010/, with r35318 building right now.

Going through recent commits by nbd :)

patches most related to #12569

r35309 ar71xx: sync kernel sizes where possible to fix images for some devices (#12874) - WHR-HP-GN build result (missing factory.bin and sysupgrade.bin)

r35154 kernel: add a config option for keeping the kallsyms table uncompressed, saving ~9kb kernel size after lzma on ar71xx

r35125 ar71xx: add more cpu feature overrides, slightly reduces kernel size
(any +/- tradeoffs on this one? ram usage? speed? cache hit ratios?)

also related (re: 902-unaligned_access_hacks.patch)

r35132 ar71xx: fix unaligned access in cls_u32

r35130 ar71xx: fix unaligned access in a few more places

r35129 ar71xx: improve unaligned access patches, add a net_hdr_word() macro which assumes 2-byte aligned access and generates better code than {get,put}_unaligned_cpu32

r35127 ar71xx: avoid packed define in the unaligned access hack patch, make the ipv6 address struct also 2-byte-aligned/packed

r35124 ar71xx: extend the unaligned access hacks to a few more places that showed up in the new kernel (udp.h, icmp.h, tcp_input.c - wow)

r34912 ar71xx: change the unaligned access hack to assume an alignment of 2 bytes, slightly improves performance and code size

comment:14 Changed 5 years ago by nbd

  • Resolution set to fixed
  • Status changed from reopened to closed

fixed in recent builds

comment:15 Changed 5 years ago by Juokelis <vilnius.ramanauskas@…>

  • Resolution fixed deleted
  • Status changed from closed to reopened

No builds at snapshot downloads http://downloads.openwrt.org/snapshots/trunk/ar71xx/

Looks like same problem again:

if [ `stat -c%s "/home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/tmp/vmlinux-dir-825-b1.uImage"` -gt 1048576 ]; then echo "Warning: /home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/tmp/vmlinux-dir-825-b1.uImage is too big" >&2; else if [ `stat -c%s /home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/root.squashfs-64k` -gt 5308416 ]; then echo "Warning: /home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/root.squashfs-64k is too big" >&2; else ( dd if=/home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/tmp/vmlinux-dir-825-b1.uImage bs=1048576 conv=sync; dd if=/home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/root.squashfs-64k ) > /home/fnord/slave/ar71xx/build/bin/ar71xx/openwrt-ar71xx-generic-dir-825-b1-squashfs-sysupgrade.bin; fi; fi
Warning: /home/fnord/slave/ar71xx/build/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/tmp/vmlinux-dir-825-b1.uImage is too big

comment:16 Changed 5 years ago by Juokelis <vilnius.ramanauskas@…>

Error from ar71xx builds #231 #230

comment:17 Changed 5 years ago by Juokelis <vilnius.ramanauskas@…>

Last good build #226

comment:18 Changed 5 years ago by jjslegacy@…

Any update on this? Anything left that can be shrunk down in the builds?

comment:19 Changed 5 years ago by anonymous

No builds at snapshot downloads ​http://downloads.openwrt.org/snapshots/trunk/ar71xx/ for Dir-615 C1

comment:20 Changed 5 years ago by anonymous

Any update on this ? Thx !

comment:21 Changed 5 years ago by anonymous

No builds at snapshot downloads ​​http://downloads.openwrt.org/snapshots/trunk/ar71xx/ for wzr-hp-ag300h

comment:22 Changed 5 years ago by anonymous

There is a promotion?

comment:23 Changed 5 years ago by anonymous

How can we get someone to look at this - we haven't had builds for quite a while.

comment:24 Changed 5 years ago by anonymous

There was a flash of Dir 615 C1 Trunk
But it does not work. After flashing the power light blinks rapidly.

comment:25 Changed 5 years ago by anonymous

The latest image created on the 11th of July is confirmed to be back and working for the wzr-hp-g300nh2

comment:26 Changed 5 years ago by anonymous

great news, thanks you, dev...

comment:27 Changed 5 years ago by nbd

  • Resolution set to fixed
  • Status changed from reopened to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.