How can I get android-x86 to support linux namespace?

144 views
Skip to first unread message

persi...@gmail.com

unread,
Oct 24, 2017, 6:52:35 AM10/24/17
to Android-x86
  I want to android-x86 kernel which supports linux namespace. So, I did some changes in config file:

    CONFIG_NAMESPACES=y
    CONFIG_UTS_NS
=y
    CONFIG_USER_NS
=y
    CONFIG_PID_NS
=y

  Then, I packaged android-x86_64-6.0-r3 with new kernel. But, it doesn't work. A few services can't start sucessfully, such as Surfaceflinger, media, net and etc.

  There are some debug files in /data/tombstones. The contents in all the files are the same.

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Android-x86/android_x86_64/x86_64:6.0.1/MOB31T/cwhuang04240126:userdebug/test-keys'
Revision: '0'
ABI
: 'x86_64'
pid
: 1047, tid: 1047, name: surfaceflinger  >>> /system/bin/surfaceflinger <<<
signal
6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    rax
0000000000000000  rbx 00007f08ea85d2c0  rcx 00007f08ea561817  rdx 0000000000000006
    rsi
0000000000000417  rdi 0000000000000417
    r8  
0000000000000012  r9  0000000000000004  r10 0000000000000008  r11 0000000000000206
    r12
0000000000000417  r13 0000000000000006  r14 00007f08e73b32b0  r15 00007f08e73b3288
    cs  
0000000000000033  ss  000000000000002b
    rip
00007f08ea561817  rbp 0000000000000002  rsp 00007ffec38984b8  eflags 0000000000000206


...


--------- log main
10-22 05:20:14.890  1047  1047 I SurfaceFlinger: SurfaceFlinger is starting
10-22 05:20:14.890  1047  1047 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
10-22 05:20:14.901  1047  1047 D libEGL  : loaded /system/lib64/egl/libGLES_mesa.so
10-22 05:20:15.002  1047  1047 I EGL-DRI2: found extension DRI_Core version 1
10-22 05:20:15.002  1047  1047 I EGL-DRI2: found extension DRI_SWRast version 5
10-22 05:20:15.010  1047  1047 I EGL-DRI2: found extension DRI_TexBuffer version 2
10-22 05:20:15.010  1047  1047 I EGL-DRI2: found extension DRI_IMAGE version 11
10-22 05:20:15.010  1047  1047 I EGL-DRI2: found extension DRI_RENDERER_QUERY version 1
10-22 05:20:15.010  1047  1047 I EGL-DRI2: found extension DRI_CONFIG_QUERY version 1
10-22 05:20:15.010  1047  1047 I EGL-DRI2: found extension DRI2_Fence version 2
10-22 05:20:15.010  1047  1047 E SurfaceFlinger: hwcomposer module not found
10-22 05:20:15.010  1047  1047 E SurfaceFlinger: ERROR: failed to open framebuffer (No such file or directory), aborting


Tombstone written to: /data/tombstones/tombstone_00


  So, why surfaceflinger can not start with kernel which supports linux namespace?
  How can I get android-x86 to support linux namespace?

Chih-Wei Huang

unread,
Oct 24, 2017, 10:10:42 PM10/24/17
to Android-x86
2017-10-24 18:52 GMT+08:00 <persi...@gmail.com>:
> I want to android-x86 kernel which supports linux namespace. So, I did
> some changes in config file:
>
> CONFIG_NAMESPACES=y
> CONFIG_UTS_NS=y
> CONFIG_USER_NS=y
> CONFIG_PID_NS=y
>
> Then, I packaged android-x86_64-6.0-r3 with new kernel. But, it doesn't
> work. A few services can't start sucessfully, such as Surfaceflinger, media,
> net and etc.

When you said you packaged with the new kernel,
have you packaged the kernel modules as well?
The modules should be put into system.img(sfs)
under the /lib/modules path.
Check if the fb driver (module) is loaded.

cat /proc/fb
lsmod

> Tombstone written to: /data/tombstones/tombstone_00
>
>
> So, why surfaceflinger can not start with kernel which supports linux
> namespace?
> How can I get android-x86 to support linux namespace?

What's the benefit of it?

--
Chih-Wei
Android-x86 project
http://www.android-x86.org

persi...@gmail.com

unread,
Oct 25, 2017, 8:19:50 PM10/25/17
to Android-x86
I didn't packaged new modules into system.img last time.
I tried to package it again as what you said. Android-x86 worked well.

Thank you very much!

Reply all
Reply to author
Forward
0 new messages