What happens when i change the kernel config file and build the OS with the changed kernel config file?

8 views
Skip to first unread message

捷超 王

unread,
Feb 6, 2011, 9:22:01 PM2/6/11
to android-porting
Hi, everyone~
I have been recently studying on why the Browser in the android OS
does not support accessing IPv6 websites through IPv6 URLs.

At first, I built the source code with "CONFIG_IPV6" not set and tried
IPv6 URLs in the Browser and the Browser could not access IPv6
websites. I then built the source code with "CONFIG_IPV6" set and
tried again, the Browser works!

But i don't get it. I think the source code of the Browser hasn't been
changed, how it can be that the Browser suddenly support accessing
websites through IPv6 URLs...? Is it the new kernel config file
introduce some modules to be included in the final iso image so that
the Browser which utilizes these modules is able to access websites
through IPv6 URLs?

I just need a hint, such as what reads the changed kernel config file
and contributes to the changed behavior of the Browser.apk.

Best wishes and thanks in advance!

john halewood

unread,
Feb 7, 2011, 4:58:41 PM2/7/11
to ee07...@gmail.com, android-porting
I think you need to understand the OSI 7-layer model properly. If you
remove IPV6 from the kernel then there is no support for IPV6 in the
application - it doesn't make any difference to the code in the app,
the support is not there at a lower level. Same way as if you remove
kernel drivers for wifi/bluetooth/mobile - you won't get any
connectivity at all. The application just does it's bit and then hands
the rest of the work to the next level, and if it's not there, nothing
happens.

Regards
John

捷超 王

unread,
Feb 7, 2011, 9:40:51 PM2/7/11
to android-porting
Yeah, thanks. But i would like to know more detailed. When we build
the OS, we can specify the kernel config file to build against. The
"CONFIG_IPV6" is one item in the kernel config file and if it is set,
something may read this file and adds/builds an IPv6 module containing
the lower layer support for IPv6 connectivity. I would like to know
what is doing this and what module(s) are added in order to design a
full-functional IPv6 DNS for android.

Yes, my goal is to design a full-functional IPv6 DNS for android
platform.

Best wishes
Jiechao Wang

On Feb 8, 5:58 am, john halewood <john.halew...@gmail.com> wrote:
> I think you need to understand the OSI 7-layer model properly. If you
> remove IPV6 from the kernel then there is no support for IPV6 in the
> application - it doesn't make any difference to the code in the app,
> the support is not there at a lower level. Same way as if you remove
> kernel drivers for wifi/bluetooth/mobile - you won't get any
> connectivity at all. The application just does it's bit and then hands
> the rest of the work to the next level, and if it's not there, nothing
> happens.
>
> Regards
> John
>

Jim Ancona

unread,
Feb 8, 2011, 12:10:05 PM2/8/11
to android-porting
On Feb 7, 9:40 pm, 捷超 王 <ee07b...@gmail.com> wrote:
> Yeah, thanks. But i would like to know more detailed. When we build
> the OS, we can specify the kernel config file to build against. The
> "CONFIG_IPV6" is one item in the kernel config file and if it is set,
> something may read this file and adds/builds an IPv6 module containing
> the lower layer support for IPv6 connectivity. I would like to know
> what is doing this and what module(s) are added in order to design a
> full-functional IPv6 DNS for android.

If just changing the kernel config makes it work, then the only reason
it didn't work before was the the kernel didn't support IPv6. Changing
the kernel config would not effect anything else in the build except
the kernel itself.

Jim
Reply all
Reply to author
Forward
0 new messages