Date: Fri, 5 Sep 2014 13:46:05 -0700 From: hiren panchasara <hiren@freebsd.org> To: Piotr Kubaj <pkubaj@riseup.net> Cc: "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org> Subject: Re: WR1043ND - too big kernel Message-ID: <CALCpEUGDVQ=frz9YorkXrnaR2xYf=yoiPZ2F2Tay31A1Rew-Aw@mail.gmail.com> In-Reply-To: <540A0BDE.6040605@riseup.net> References: <5408BB36.5060409@riseup.net> <5408BE6A.4050500@riseup.net> <5408CE14.2090809@riseup.net> <CALCpEUHK3aDv0b8FVafqwSOEzEdO16rdF7Oim2U3GcYw79yjgA@mail.gmail.com> <CALCpEUFPhZxsfwcQj3vZGVGfUEVNgvZBQR5oAxd%2BOm4Un14YNQ@mail.gmail.com> <CALCpEUEZH3RtBioJ4aWcwvvHiRm1Q_rrs4mXB320g0OgHJ%2BTWw@mail.gmail.com> <540A0BDE.6040605@riseup.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 5, 2014 at 12:15 PM, Piotr Kubaj <pkubaj@riseup.net> wrote: > On 09/05/2014 19:59, hiren panchasara wrote: >> On Thu, Sep 4, 2014 at 2:27 PM, hiren panchasara <hiren@freebsd.org> wrote: >>> On Thu, Sep 4, 2014 at 1:44 PM, hiren panchasara <hiren@freebsd.org> wrote: >>>> On Thu, Sep 4, 2014 at 1:39 PM, Piotr Kubaj <pkubaj@riseup.net> wrote: >>>>> Adding following lines to kernel config shrinks size to 1750991 (on >>>>> releng/10.0): >>>>> makeoptions INLINE_LIMIT=768 >>>>> nomakeoptions DEBUG >>>>> nomakeoptions ALQ >>>>> nooptions INET6 >>>>> options NO_SWAPPING >>>>> nooptions HWPMC_HOOKS >>>>> nodevice hwpmc >>>>> nodevice hwpmc_mips24k >>>>> nooptions KDB >>>>> >>>>> Any ideas what else I can remove? :P >>>> >>>> I see you already have r255656. >>>> Let me try to build for -head and see. >>> >>> >>>> [mktplinkfw] *** error: kernel image is too big. Max[1572352] kernel img [2000794] >>> >>> ugh. Need to trim more. I'll see if I can find time this week to check >>> where/what we can trim. >> >> Randomly disabled a ton of things and then I could create small enough >> kernel. I'm not even sure if things will actually work. >> >> We've grown too big, it seems :-( >> >> Diffs against -head. >> >> Index: sys/mips/conf/TP-WN1043ND >> =================================================================== >> --- sys/mips/conf/TP-WN1043ND (revision 271137) >> +++ sys/mips/conf/TP-WN1043ND (working copy) >> @@ -16,7 +16,7 @@ >> options AR71XX_REALMEM=32*1024*1024 >> >> # i2c GPIO bus >> -device gpioiic >> +#device gpioiic >> device iicbb >> device iicbus >> device iic >> @@ -28,7 +28,7 @@ >> device rtl8366rb >> >> # read MSDOS formatted disks - USB >> -options MSDOSFS >> +#options MSDOSFS >> >> # Enable the uboot environment stuff rather then the >> # redboot stuff. >> @@ -57,3 +57,29 @@ >> nooptions WITNESS_SKIPSPIN >> nooptions DEBUG_REDZONE >> nooptions DEBUG_MEMGUARD >> + >> +nooptions DDB >> +nooptions KDB >> +nooptions ALQ >> +nooptions HWPMC_HOOKS >> +nodevice hwpmc >> +nodevice hwpmc_mips24k >> +nooptions INET6 #InterNETworking >> + >> +nooptions ATH_DEBUG >> +nooptions AH_DEBUG >> +nooption AH_DEBUG_ALQ >> +nooptions IEEE80211_DEBUG >> +nooptions IEEE80211_SUPPORT_MESH >> +nooptions IEEE80211_SUPPORT_TDMA >> +nooptions IEEE80211_ALQ # 802.11 ALQ logging support >> + >> +nodevice usb >> +nooptions USB_EHCI_BIG_ENDIAN_DESC >> +nooptions USB_DEBUG >> +nooptions USB_HOST_ALIGN >> +nodevice umass >> +nodevice ehci >> + >> +nodevice gpio >> +nodevice gpioled >> > I could've done it myself, but I need usb and GPIO is required for usb, > so that needs to stay. That said, I removed PSEUDOFS (I don't need > /proc) and some of what you mailed, so now it's smaller, but still too > large (1682325). Here are the contents (still on releng/10.0) > # Force the board memory - 64mb > options AR71XX_REALMEM=64*1024*1024 > > makeoptions INLINE_LIMIT=768 > nomakeoptions DEBUG > nomakeoptions ALQ > nooptions INET6 > options NO_SWAPPING > nooptions HWPMC_HOOKS > nodevice hwpmc > nodevice hwpmc_mips24k > nooptions USB_DEBUG > nooptions IEEE80211_DEBUG > nooptions PSEUDOFS > nooptions ATH_DEBUG > nooptions AH_DEBUG > nooption AH_DEBUG_ALQ > nooptions IEEE80211_SUPPORT_MESH > nooptions IEEE80211_SUPPORT_TDMA > nooptions IEEE80211_ALQ # 802.11 ALQ logging support > > # i2c GPIO bus > device gpioiic > device iicbb > device iicbus > device iic > > # ethernet switch device > device etherswitch > > # RTL8366RB support > device rtl8366rb > > # Enable the uboot environment stuff rather then the > # redboot stuff. > options AR71XX_ENV_UBOOT > > # uncompress - to boot natively from flash > device geom_uncompress > options GEOM_UNCOMPRESS > > # Used for the static uboot partition map > device geom_map > > # Boot off of the rootfs, as defined in the geom_map setup. > options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\" > > # We bite the performance overhead for now; the kernel won't > # fit if the mutexes are inlined. > options MUTEX_NOINLINE > options RWLOCK_NOINLINE > options SX_NOINLINE > > # Remove everything we don't need. We need a _really_ small kernel! > nooptions INVARIANTS > nooptions INVARIANT_SUPPORT > nooptions WITNESS > nooptions WITNESS_SKIPSPIN > nooptions DEBUG_REDZONE > nooptions DEBUG_MEMGUARD > nooptions DDB > nooptions KDB > > It doesn't need to be much smaller now, but what made it so large? Why > did it work a year ago with 10.0-CURRENT? Since 10.0-RELEASE is too > large and there are working images with 10.0-CURRENT from August 2013 at > http://www.strugglingcoder.info/pkgs/TP-WN1043ND.factory.bin (it seems > to be actually generated by you), something must have happened then and > later, when CURRENT went up to 11. "More code" happened :-) This clearly is not a good sign. I'll try to spend some time to narrow the source down. We _should_ at least be able to "not-include" that portion. cheers, Hiren
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALCpEUGDVQ=frz9YorkXrnaR2xYf=yoiPZ2F2Tay31A1Rew-Aw>