Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Sep 2014 19:42:51 +0200
From:      Piotr Kubaj <pkubaj@riseup.net>
To:        hiren panchasara <hiren@freebsd.org>
Cc:        freebsd-mips@freebsd.org
Subject:   Re: WR1043ND - too big kernel
Message-ID:  <540B479B.10809@riseup.net>
In-Reply-To: <CALCpEUGDVQ=frz9YorkXrnaR2xYf=yoiPZ2F2Tay31A1Rew-Aw@mail.gmail.com>
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> <CALCpEUGDVQ=frz9YorkXrnaR2xYf=yoiPZ2F2Tay31A1Rew-Aw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--TMgugTGdpJhsSdODitcvga7fSPhbQULiM
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 09/05/2014 22:46, hiren panchasara wrote:
> 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> wro=
te:
>>>>>> Adding following lines to kernel config shrinks size to 1750991 (o=
n
>>>>>> releng/10.0):
>>>>>> makeoptions     INLINE_LIMIT=3D768
>>>>>> 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] kerne=
l img [2000794]
>>>>
>>>> ugh. Need to trim more. I'll see if I can find time this week to che=
ck
>>>> where/what we can trim.
>>>
>>> Randomly disabled a ton of things and then I could create small enoug=
h
>>> 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
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> --- sys/mips/conf/TP-WN1043ND   (revision 271137)
>>> +++ sys/mips/conf/TP-WN1043ND   (working copy)
>>> @@ -16,7 +16,7 @@
>>>  options         AR71XX_REALMEM=3D32*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=3D64*1024*1024
>>
>> makeoptions     INLINE_LIMIT=3D768
>> 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=3D\"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 a=
nd
>> later, when CURRENT went up to 11.
>=20
> "More code" happened :-)
>=20
> 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.
>=20
> cheers,
> Hiren
>=20
Since I'm going to anyway run it with a pendrive, isn't it possible to
install only /boot to flash and the rest of rootfs to that pendrive?
That would make it possible for the kernel to have a bigger size.


--TMgugTGdpJhsSdODitcvga7fSPhbQULiM
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJUC0ebAAoJEC9nKukRsfY+HtQP/3k+7zTUfxXP/FDkfFmzx6v0
s9Qr1RSkE54PGGS2aL0gPYtH4RSfXZCYH78x60i//cILfVB2gTQVN1iw5MoMnBO5
2kkliguTzYqxFdXlw7tza2+weyvCEN70QwQpvKd1sTQuns2+S2kaVzd81ZPnqV68
JlW4N3xAkFEFrhhROe/N848jzv0WVvDXxxXcEUWxVQ4nFcHbdihfIgB732qMenu3
7QPffgTU6bIH6WZJig3shBDIqqcseTMFKYMtT8XfXTa2Q5OFA/LIqXoo7vtVCOsK
mH9X7qpBdarVraX9T/84Wqbx+hiEeMJNIkOwIdXn8sIEtB4PrIEiQ1Y4relmcACV
TFfslcv1k7l/0+OBo12S15K0iXNZWTBky1xLpx8zvO9d6lGECXU8iMHUIL+zMnmO
FDaGtd0AokBoMOUQik/bTbtraNuiFBy4xrhq7nIjkY55bWd0VZa3qrfCgkCdfK9w
MD4ur9YULTizs7N1BLw320KFitW2LqLjiZJKgv8dUCas+laXJDGN6+u5F+e9YbcD
MIsDEG53pnKbLdRu9Uk/4UcxEGEQbpkz/KVWzhwThlzcLayISeMFxUWpm2xx9RfJ
wKiih3DgP0mtz0xI835zVtu5QOatmjfRe1YyYvd6+YboimfXgQ7404qParkYg6co
Sk0tMJqCxKzDNXmVpV3s
=V4SJ
-----END PGP SIGNATURE-----

--TMgugTGdpJhsSdODitcvga7fSPhbQULiM--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?540B479B.10809>