(OK) mptcp_android-x86-kernel-4.4.12-debug-vbox.txt


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
in PC
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# ls /opt/android-x86/

android-x86-6.0-rc1  mptcp_v0.91  mptcp_v0.91.zip  mptcp-v4.1-156b088f1a77.patch  mptcp-v4.1.20-856ebd0cac21.patch

-------------------------------

[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# 


-------------------------------

[root@localhost kernel]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel

[root@localhost kernel]# ls
android     block    CREDITS        drivers   include  Kbuild   lib          mm      REPORTING-BUGS  security  usr
Android.mk  certs    crypto         firmware  init     Kconfig  MAINTAINERS  net     samples         sound     virt
arch        COPYING  Documentation  fs        ipc      kernel   Makefile     README  scripts         tools

[root@localhost kernel]# 

-------------------------------

mptcp-v4.1.20-856ebd0cac21.patch  download from  http://multipath-tcp.org/patches/
mptcp_v0.91.zip.part  download from  https://github.com/multipath-tcp/mptcp

[root@localhost mptcp_v0.91]# pwd
/opt/android-x86/mptcp_v0.91

[root@localhost mptcp_v0.91]# ls
arch     CREDITS        drivers   include  Kbuild   lib          mm      REPORTING-BUGS  security  usr
block    crypto         firmware  init     Kconfig  MAINTAINERS  net     samples         sound     virt
COPYING  Documentation  fs        ipc      kernel   Makefile     README  scripts         tools

[root@localhost mptcp_v0.91]# find . -name mptcp*

./include/net/mptcp.h
./include/net/mptcp_v4.h
./include/net/mptcp_v6.h
./include/net/netns/mptcp.h

./net/mptcp
./net/mptcp/mptcp_balia.c
./net/mptcp/mptcp_binder.c
./net/mptcp/mptcp_coupled.c
./net/mptcp/mptcp_ctrl.c
./net/mptcp/mptcp_fullmesh.c
./net/mptcp/mptcp_input.c
./net/mptcp/mptcp_ipv4.c
./net/mptcp/mptcp_ipv6.c
./net/mptcp/mptcp_ndiffports.c
./net/mptcp/mptcp_ofo_queue.c
./net/mptcp/mptcp_olia.c
./net/mptcp/mptcp_output.c
./net/mptcp/mptcp_pm.c
./net/mptcp/mptcp_redundant.c
./net/mptcp/mptcp_rr.c
./net/mptcp/mptcp_sched.c
./net/mptcp/mptcp_wvegas.c

[root@localhost mptcp_v0.91]# grep mptcp -R .|cut -d: -f1|uniq

./Documentation/networking/ip-sysctl.txt

./include/linux/tcp.h
./include/net/inet_sock.h
./include/net/net_namespace.h
./include/net/tcp.h

./net/Kconfig
./net/Makefile

./net/core/sock.c
./net/ipv4/af_inet.c
./net/ipv4/inet_connection_sock.c
./net/ipv4/ip_sockglue.c
./net/ipv4/syncookies.c
./net/ipv4/tcp.c
./net/ipv4/tcp_fastopen.c
./net/ipv4/tcp_input.c
./net/ipv4/tcp_ipv4.c
./net/ipv4/tcp_minisocks.c
./net/ipv4/tcp_output.c
./net/ipv4/tcp_timer.c
./net/ipv6/ipv6_sockglue.c
./net/ipv6/syncookies.c
./net/ipv6/tcp_ipv6.c


./include/net/mptcp.h
./include/net/mptcp_v4.h
./include/net/mptcp_v6.h
./include/net/netns/mptcp.h

./net/mptcp/Kconfig
./net/mptcp/Makefile

./net/mptcp/mptcp_balia.c
./net/mptcp/mptcp_binder.c
./net/mptcp/mptcp_coupled.c
./net/mptcp/mptcp_ctrl.c
./net/mptcp/mptcp_fullmesh.c
./net/mptcp/mptcp_input.c
./net/mptcp/mptcp_ipv4.c
./net/mptcp/mptcp_ipv6.c
./net/mptcp/mptcp_ndiffports.c
./net/mptcp/mptcp_ofo_queue.c
./net/mptcp/mptcp_olia.c
./net/mptcp/mptcp_output.c
./net/mptcp/mptcp_pm.c
./net/mptcp/mptcp_redundant.c
./net/mptcp/mptcp_rr.c
./net/mptcp/mptcp_sched.c
./net/mptcp/mptcp_wvegas.c

[root@localhost mptcp_v0.91]# 
cp -a net/mptcp/ /opt/android-x86/android-x86-6.0-rc1/kernel/net/
cp include/net/mptcp.h /opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
cp include/net/mptcp_v4.h /opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
cp include/net/mptcp_v6.h /opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
cp include/net/netns/mptcp.h /opt/android-x86/android-x86-6.0-rc1/kernel/include/net/netns/

-------------------------------
now, modify files above, can refer to mptcp-v4.1.20-856ebd0cac21.patch
-------------------------------
modify /opt/android-x86/android-x86-6.0-rc1/kernel/* abiding by /opt/android-x86/mptcp_v0.91/*
-------------------------------

[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# ls
find-alter-files.sh  kernel  kernel.tmp  timestamp.txt

[root@localhost android-x86-6.0-rc1]# touch ../timestamp.txt		// important

[root@localhost android-x86-6.0-rc1]# cd kernel
[root@localhost kernel]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel

[root@localhost kernel]# gedit 

-------------------------------
Note: the following files may cause problems.
-------------------------------
diff --git a/include/net/request_sock.h b/include/net/request_sock.h
 int reqsk_queue_alloc(struct request_sock_queue *queue,
-		      unsigned int nr_table_entries);
+		      unsigned int nr_table_entries, gfp_t flags);

---> void reqsk_queue_alloc(struct request_sock_queue *queue, gfp_t flags);


diff --git  include/net/tcp.h
	//__u32 (*cookie_init_seq)(const struct sk_buff *skb,
	//			 __u16 *mss);
	__u32 (*cookie_init_seq)(const struct sk_buff *skb, __u16 *mss,
				 struct request_sock *req, struct sock *sk);

net/core/request_sock.c		reqsk_queue_alloc(struct request_sock_queue *queue, gfp_t flags)

net/ipv4/inet_connection_sock.c		no	u32 inet_synq_hash()

net/ipv4/syncookies.c		__u32 cookie_v4_init_sequence(const struct sk_buff *skb, __u16 *mssp)

net/ipv4/tcp_fastopen.c

net/ipv4/tcp_minisocks.c		if (!is_meta_sk(sk))

net/ipv4/tcp_output.c		void tcp_set_skb_tso_segs(struct sk_buff *skb, unsigned int mss_now)

net/ipv6/inet6_connection_sock.c	inet6_synq_hash()

net/mptcp/mptcp_output.c	tcp_xmit_probe_skb(sk_it, 0); -->  tcp_xmit_probe_skb(sk_it, 0, LINUX_MIB_TCPWINPROBE);

-------------------------------
copy files to IBM Server
-------------------------------
[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# ls
find-alter-files.sh  kernel  timestamp.txt

[root@localhost android-x86-6.0-rc1]# rm /root/opt/android-x86/android-x86-6.0-rc1/kernel -rf

[root@localhost android-x86-6.0-rc1]# ./find-alter-files.sh kernel

[root@localhost android-x86-6.0-rc1]# scp -r /root/opt/android-x86/android-x86-6.0-rc1/kernel 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/

-------------------------------
copy files to IBM Server
-------------------------------

[root@localhost kernel]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel/

[root@localhost kernel]# 

scp -r net/mptcp/ 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/net/
scp include/net/mptcp.h 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
scp include/net/mptcp_v4.h 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
scp include/net/mptcp_v6.h 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/include/net/
scp include/net/netns/mptcp.h 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/include/net/netns/

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	注意:不要在 android-x86-6.0-rc1/kernel/ 中 执行 make menuconfig
		直接设置 (./net/ipv4/Kconfig, ./net/mptcp/Kconfig) 中的 MPTCP参数
		要使用 Android 本身的 编译系统 规则,否则,会出现下面的失败 (下面不看)——> (上面不看)。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-------------------------------
in IBM Server
-------------------------------

--------------

[root@localhost android-x86-6.0-rc1]# pwd

/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# 

echo $JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.x86_64
export PATH=$JAVA_HOME/bin:$PATH
. build/envsetup.sh
lunch android_x86_64-userdebug
m -j32 iso_img

m -j1 iso_img		// use this command, can find issues.
--------------


[root@localhost android-x86-6.0-rc1]# m -j32 iso_img

make[2]: *** wait: No child processes。 停止。
Makefile:146: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/opt/android-x86/android-x86-6.0-rc1/kernel'
build/core/tasks/kernel.mk:51: recipe for target 'out/target/product/x86_64/kernel' failed
make: *** [out/target/product/x86_64/kernel] Error 2
make: *** 正在等待未完成的任务....
target  C++: libLLVMARMCodeGen <= external/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
make: Leaving directory '/opt/android-x86/android-x86-6.0-rc1'

#### make failed to build some targets (09:43 (mm:ss)) ####

[root@localhost android-x86-6.0-rc1]# 

make clean

--------------------------------------------------------------------------------------------

[root@localhost kernel.tmp]# grep MPTCP `find . -name Kconfig`

./net/ipv4/Kconfig:	tristate "MPTCP Linked Increase"
./net/mptcp/Kconfig:config MPTCP

[root@localhost kernel.tmp]# gedit ./net/ipv4/Kconfig ./net/mptcp/Kconfig

具体修改见:http://blog.csdn.net/ztguang/article/details/52084530

scp ./net/ipv4/Kconfig 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/net/ipv4/
scp ./net/mptcp/Kconfig 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/net/mptcp/

--------------------------------------------------------------------------------------------
[root@localhost android-x86-6.0-rc1]# m -j32 iso_img

host C++: v8_mksnapshot.x86_64 <= external/v8/src/base/atomicops_internals_x86_gcc.cc
make[2]: Leaving directory '/opt/android-x86/android-x86-6.0-rc1/out/target/product/x86_64/obj/kernel'
Makefile:146: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/opt/android-x86/android-x86-6.0-rc1/kernel'
build/core/tasks/kernel.mk:51: recipe for target 'out/target/product/x86_64/kernel' failed
make: *** [out/target/product/x86_64/kernel] Error 2
make: *** 正在等待未完成的任务....
host C++: v8_mksnapshot.x86_64 <= external/v8/src/base/platform/platform-linux.cc
make: *** wait: No child processes。 停止。

#### make failed to build some targets (01:15:05 (hh:mm:ss)) ####

--------------------------------------------------------------------------------------------
m -j1 iso_img		// use this command, can show errors.
--------------------------------------------------------------------------------------------

------------------------------------------------------------------
[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1
[root@localhost android-x86-6.0-rc1]# find kernel -name android-x86_64_defconfig
kernel/arch/x86/configs/android-x86_64_defconfig
------------------------------------------------------------------
# gedit android-x86_64_defconfig
------------------------------------------------------------------
# CONFIG_TCP_CONG_ADVANCED is not set
#CONFIG_TCP_CONG_CUBIC=y
#CONFIG_DEFAULT_TCP_CONG="cubic"

# SUPPORT MPTCP
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_LIA=y
CONFIG_TCP_CONG_OLIA=y
CONFIG_TCP_CONG_WVEGAS=y
CONFIG_TCP_CONG_BALIA=y
CONFIG_TCP_CONG_CDG=m
# CONFIG_DEFAULT_CUBIC is not set
CONFIG_DEFAULT_LIA=y
# CONFIG_DEFAULT_OLIA is not set
# CONFIG_DEFAULT_WVEGAS is not set
# CONFIG_DEFAULT_BALIA is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="lia"

------------------------------------------------------------------
[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1
[root@localhost android-x86-6.0-rc1]# 

scp 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig kernel/arch/x86/configs/android-x86_64_defconfig

scp kernel/arch/x86/configs/android-x86_64_defconfig 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig

------------------------------------------------------------------

--------------------------------------------------------------------------------------------
after compiled successfully, install android in VirtualBox. -->  android-x86-mptcp-1
--------------------------------------------------------------------------------------------

-----------------------------------------------------------
http://multipath-tcp.org/pmwiki.php/Users/ConfigureMPTCP

dmesg | grep MPTCP
sysctl -w net.mptcp.[name of the variable]=[value]
net.mptcp.mptcp_enabled (default 1)
net.mptcp.mptcp_checksum (default 1)
net.mptcp.mptcp_syn_retries (default 3)
net.ipv4.tcp_congestion_control

# The available congestion controls are lia (alias Linked Increase Algorithm), olia (alias Opportunistic Linked Increase Algorithm),wVegas (alias Delay-based Congestion Control for MPTCP) and balia (alias Balanced Linked Adaptation Congestion Control Algorithm).

-----------------------------
Configure the path-manager:

net.mptcp.mptcp_path_manager (default fullmesh)

-----------------------------------------------------------
adb shell

cat /proc/sys/net/mptcp/mptcp_enabled
cat /proc/sys/net/mptcp/mptcp_checksum
cat /proc/sys/net/mptcp/mptcp_syn_retries
cat /proc/sys/net/ipv4/tcp_congestion_control
cat /proc/sys/net/mptcp/mptcp_path_manager

-------------------
sysctl net | grep congestion

net.ipv4.tcp_allowed_congestion_control = lia reno
net.ipv4.tcp_available_congestion_control = lia reno cubic olia wvegas balia
net.ipv4.tcp_congestion_control = lia
-------------------

-----------------------------------------------------------
to verify that Multipath TCP works through your network
-----------------------------------------------------------

curl http://www.multipath-tcp.org

(NO) Nay, Nay, Nay, your have an old computer that does not speak MPTCP. Shame on you!
(YES) Yay, you are MPTCP-capable! You can now rest in peace.
-----------------------------------------------------------




+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Android with KGDB
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


[root@localhost kernel.tmp]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel.tmp
[root@localhost kernel.tmp]# make menuconfig
-----------------------------------------------------------
kgdb options
-----------------------------------------------------------

CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_LOW_LEVEL_TRAP=y
   Location:
    -> Kernel hacking
     -> [*] KGDB: kernel debugger  --->
      -> <*>   KGDB: use kgdb over the serial console 
      -> [*]   KGDB: Allow debugging with traps in notifiers

CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
   Location:
    -> Kernel hacking
     -> -*- Magic SysRq key
     -> (0x1) Enable magic SysRq key functions by default 

CONFIG_DEBUG_RODATA=n
CONFIG_DEBUG_RODATA_TEST=n
   Location:
    -> Kernel hacking
     -> [ ] Write protect kernel read-only data structures
     -> [ ]   Testcase for the DEBUG_RODATA feature

-----------------------------------------------------------
then, 
modify /opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig
abiding by /opt/android-x86/android-x86-6.0-rc1/kernel.tmp/.config

/opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig (url:)
-----------------------------------------------------------

[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1
[root@localhost android-x86-6.0-rc1]# 

scp 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig kernel/arch/x86/configs/android-x86_64_defconfig

scp kernel/arch/x86/configs/android-x86_64_defconfig 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/arch/x86/configs/android-x86_64_defconfig

--------------

[root@localhost android-x86-6.0-rc1]# pwd

/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# 

echo $JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.x86_64
export PATH=$JAVA_HOME/bin:$PATH
. build/envsetup.sh
lunch android_x86_64-userdebug
m -j32 iso_img

m -j1 iso_img		// use this command, can find issues.
--------------

scp 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/out/target/product/x86_64/android_x86_64.iso /opt/android-x86/tmp-iso-can-del/

then, reinstall android-x86 in VirtualBox

--------------

-----------------------------------------------------------
	debug
----------------------------
http://opensourceforu.com/2011/03/kgdb-with-virtualbox-debug-live-kernel/
http://blog.csdn.net/cjxsimon/article/details/44173071
-----------------------------------------------------------


-------------------------
in VirtualBox
https://www.virtualbox.org/manual/ch03.html#serialports
http://www.netfairy.net/?post=242
-------------------------

// Configuring the virtual serial port in VirtualBox
Right-click your virtual machine instance, and go to the Settings tab. On the Port 1 tab, choose "Enable Serial Port". Select "Port Mode" to be "Host pipe". 
Uncheck the "Connect to existing pipe/socket" checkbox
Enter a pipe file-name "/tmp/serial" in the "Port/File Path" text field

-------------------------
in VirtualBox
-------------------------
Editing the bootloader, To enable KGDB serial console support from the guest, we need to append the options, kgdboc (kgdb over console)
--------------------
 kgdb=ttyS0,115200 kgdboc=ttyS0,115200 kgdbwait


-------------------------
in Host
-------------------------

socat -d -d /tmp/serial pty
// after that "/dev/pts/3" is printed:

[root@localhost fedora23server-share]# socat -d -d /tmp/serial pty
2016/09/01 08:22:23 socat[20006] N opening connection to AF=1 "/tmp/serial"
2016/09/01 08:22:23 socat[20006] N successfully connected from local address AF=1 "\xEE\xEE\xEE\xEE\xEE\xEE"
2016/09/01 08:22:23 socat[20006] N successfully connected via <anon>
2016/09/01 08:22:23 socat[20006] N PTY is /dev/pts/3
2016/09/01 08:22:23 socat[20006] N starting data transfer loop with FDs [3,3] and [4,4]

-------------------------
in Host, in another terminal
-------------------------
[root@localhost kernel]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel

// You should also transfer the uncompressed image of the kernel running at the vm.
[root@localhost kernel]# scp 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/out/target/product/x86_64/obj/kernel/vmlinux .
[root@localhost kernel]# ll -h vmlinux
-rwxr-xr-x. 1 root root 5.3M 8月  29 20:58 vmlinux
[root@localhost kernel]# 


gdb vmlinux

(gdb) set remotebaud 115200
(gdb) target remote /dev/pts/3


-------------------------



-----------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	下面不看
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------------------
in IBM Server
-------------------------------

[root@localhost kernel]# pwd
/opt/android-x86/android-x86-6.0-rc1/kernel

[root@localhost kernel]# make menuconfig


Networking support->Networking options->TCP/IP networking->MPTCP protocol (MPTCP)

Choose a path-manager, 
Networking support->Networking options->"MPTCP: advanced path-manager control"
						->MPTCP Full-Mesh Path-Manager
						->MPTCP ndiff-ports;
					--->Default MPTCP Path-Manager (Full mesh)

enable Policy-Routing
Networking support->Networking options->IP: advanced router->IP: policy routing (IP_MULTIPLE_TABLES)

Networking support->Networking options->TCP: advanced congestion control->MPTCP Linked Increase (Lia)
						->"Opportunistic Linked Increase (Olia)", 
						->"WVEGAS CONGESTION CONTROL (Wvegas)" 
						->"BALIA CONGESTION CONTROL (Balia)".
					--->Default TCP congestion control (Lia)

--------------

[root@localhost android-x86-6.0-rc1]# pwd

/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# 

echo $JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.x86_64
export PATH=$JAVA_HOME/bin:$PATH
. build/envsetup.sh
lunch android_x86_64-userdebug
m -j32 iso_img

--------------

cd kernel
make menuconfig
make oldconfig
cd -
m -j32 iso_img
--------------

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
make oldconfig
----------------------------------------------------------
  INET: socket monitoring interface (INET_DIAG) [M/n/y/?] 105 m
    UDP: socket monitoring interface (INET_UDP_DIAG) [M/n/?] 105 m
    INET: allow privileged process to administratively close sockets (INET_DIAG_DESTROY) [Y/n/?] 105 y
  TCP: MD5 Signature Option support (RFC2385) (TCP_MD5SIG) [N/y/?] 105 n
  NetLabel subsystem support (NETLABEL) [N/y/?] 105 n
  MPTCP protocol (MPTCP) [N/y/?] (NEW) 
name MPTCP
type 1
curr.val n
curr.tri 0
visible 2
flags 42880
108 check_stdin()
aborted!

Console input/output is redirected. Run 'make oldconfig' to update configuration.
----------------------------------------------------------

[root@localhost android-x86-6.0-rc1]# pwd
/opt/android-x86/android-x86-6.0-rc1

[root@localhost android-x86-6.0-rc1]# vim ./kernel/scripts/kconfig/conf.c 
----------------------------------------------------------
	case silentoldconfig:
		if (sym_has_value(sym)) {
			printf("105 %s\n", def);
			return 0;
		}

		printf("\nname %s\n", sym->name);
		printf("type %d\n", sym->type);
		printf("curr.val %s\n", (const char *)sym->curr.val);
		printf("curr.tri %d\n", sym->curr.tri);
		printf("visible %d\n", sym->visible);
		printf("flags %d\n", sym->flags);

		printf("108 check_stdin()\n"); check_stdin();
----------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@localhost android-x86-6.0-rc1]# m -j32 iso_img
----------------------------------------------------------

host Java: signapk (out/host/common/obj/JAVA_LIBRARIES/signapk_intermediates/classes)
target Export Resources: framework-res (out/target/common/obj/APPS/framework-res_intermediates/package-export.apk)
host Prebuilt: jack (out/host/common/obj/JAVA_LIBRARIES/jack_intermediates/jack.jar)
arch/x86/Makefile:133: stack-protector enabled but compiler support broken
Install: out/host/linux-x86/bin/conscrypt_generate_constants
host SharedLib: libart-compiler (out/host/linux-x86/obj/lib/libart-compiler.so)
Install: out/host/linux-x86/lib/libbacktrace.so
host SharedLib: libart_32 (out/host/linux-x86/obj32/lib/libart.so)
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
  GEN     ./Makefile
  CHK     include/generated/uapi/linux/version.h
  UPD     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h

"4.4.12Error: kernelrelease not valid - run make prepare to update it" exceeds 64 characters
/opt/android-x86/android-x86-6.0-rc1/kernel/Makefile:1018: recipe for target 'include/generated/utsrelease.h' failed
make[2]: *** [include/generated/utsrelease.h] Error 1
make[2]: *** 正在等待未完成的任务....
Install: out/host/linux-x86/lib64/libbacktrace.so
make[2]: *** wait: No child processes。 停止。
Makefile:146: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/opt/android-x86/android-x86-6.0-rc1/kernel'
build/core/tasks/kernel.mk:51: recipe for target 'out/target/product/x86_64/kernel' failed
make: *** [out/target/product/x86_64/kernel] Error 2
make: *** 正在等待未完成的任务....
host SharedLib: libartd-compiler (out/host/linux-x86/obj/lib/libartd-compiler.so)
host SharedLib: libartd-compiler_32 (out/host/linux-x86/obj32/lib/libartd-compiler.so)
warning: string 'gsm_alphabet_default_charset' has no default translation.
make: Leaving directory '/opt/android-x86/android-x86-6.0-rc1'

#### make failed to build some targets (53:51 (mm:ss)) ####

---------------

[root@localhost android-x86-6.0-rc1]# vim kernel/scripts/setlocalversion 
[root@localhost android-x86-6.0-rc1]# ll kernel/include/config/auto.conf

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

brctl addbr br_a_1
ifconfig br_a_1 up

brctl addbr br_a_2
ifconfig br_a_2 up

brctl addbr br_a_3
ifconfig br_a_3 up

--------------

ifconfig br_a_1 down
brctl delbr br_a_1

ifconfig br_a_2 down
brctl delbr br_a_2

ifconfig br_a_3 down
brctl delbr br_a_3

--------------
mptcp-android-1

ifconfig eth0 112.26.0.1 netmask 255.255.255.0 up
ifconfig eth1 112.26.1.1 netmask 255.255.255.0 up
ifconfig eth2 112.26.2.1 netmask 255.255.255.0 up

mptcp-android-2

ifconfig eth0 112.26.0.2 netmask 255.255.255.0 up
ifconfig eth1 112.26.1.2 netmask 255.255.255.0 up
ifconfig eth2 112.26.2.2 netmask 255.255.255.0 up

--------------

mptcp-android-1

nc -l 12123 < /dev/zero

mptcp-android-2

nc 112.26.0.1 12123 > /dev/null

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

./external/tcpdump/tests/mptcp.out
./external/tcpdump/print-mptcp.c
./external/tcpdump/mptcp.h
./external/tcpdump/mptcp.h

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
kernel/scripts/kconfig/conf.c
------------------------------
[root@localhost android-x86-6.0-rc1]# m -j32 iso_img
------------------------------
*
* Restart config...
*
fffffff
*
* Networking options
*
eeeeeee
dddddddddddd
bbbbbbbbbb
Packet socket (PACKET) [Y/n/m/?] 105 y

name PACKET
type 2
curr.val n
curr.tri 2
visible 2
flags 108416
------------------
eeeeeee
dddddddddddd
bbbbbbbbbb
  MPTCP protocol (MPTCP) [N/y/?] (NEW) 

name MPTCP
type 1
curr.val n
curr.tri 0
visible 2
flags 42880
108 check_stdin()
aborted!

------------------------------
main
check_conf
conf
conf_sym
conf_askvalue
------------------------------
gedit kernel/scripts/kconfig/zconf.y kernel/scripts/kconfig/menu.c kernel/scripts/kconfig/gconf.c kernel/scripts/kconfig/symbol.c kernel/scripts/kconfig/zconf.tab.c_shipped kernel/scripts/kconfig/confdata.c

gedit kernel/scripts/kconfig/symbol.c kernel/scripts/kconfig/menu.c kernel/scripts/kconfig/confdata.c
sym->flags

scp kernel/scripts/kconfig/symbol.c kernel/scripts/kconfig/menu.c kernel/scripts/kconfig/confdata.c 10.109.253.80:/opt/android-x86/android-x86-6.0-rc1/kernel/scripts/kconfig/
------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	上面不看
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值