++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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/
------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
上面不看
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++