1,virtualbox里centos使用共享功能
在virtualbox安装增强功能,然后分配共享后不会自动挂在,要手动挂载
2,ubuntu14.04自定义工作区数目
- [senrsl@senrsl-centos7 /]$ mkdir mnt/shared/
- [senrsl@senrsl-centos7 /]$ su
- 密码:
- [root@senrsl-centos7 /]# mount -t vboxsf share /mnt/shared/
- [root@senrsl-centos7 /]# ls /mnt/shared/
- 05月全公司的考勤.xls
- 1426568994135
- 1426573726926
开启之后默认是4个,横2竖2.
加了个显示器后就成了8个桌面,太多了.
设置成1行两列
好吧,上面这个测试发现没管用....
- senrsl@senrsl-ubuntu:~$ gconftool-2 --type=int --set /apps/compiz-1/general/screen0/options/vsize 1
- senrsl@senrsl-ubuntu:~$ gconftool-2 --type=int --set /apps/compiz-1/general/screen0/options/hsize 2
然后打开tweak
横1纵2,即时生效
3,android查看wifi密码
- senrsl@senrsl-ubuntu:~$ adb shell
- shell@deb:/ $ cat /data/misc/wifi/*.conf
- /system/bin/sh: cat: /data/misc/wifi/*.conf: Permission denied
- 1|shell@deb:/ $ su
- shell@deb:/ # cat /data/misc/wifi/*.conf
4,java bio,nio,aio
java中的IO主要源自于网络和本地文件
IO的方式通常分为几种,同步阻塞的 BIO、同步非阻塞的NIO、异步非阻塞的AIO
在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服 务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等 待或者遭到拒 绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。
BIO与NIO一个比较重要的不同,是我们使用BIO的时候往往会引入多线程,每个连接一个单独的线程;而NIO则是使用单线程或者只使用少量的多线程, 每个连接共用一个线程。
NIO的最重要的地方是当一个连接创建后,不需要对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以搞定,当这个线程 中的多路复用器进行轮询的时候,发现连接上有请求的话,才开启一个线程进行处理,也就是一个请求一个线程模式。
在NIO的处理方式中,当一个请求来的话,开启线程进行处理,可能会等待后端应用的资源(JDBC连接等),其实这个线程就被阻塞了,当并发上来的话,还 是会有BIO一样的问题。
AIO:
HTTP/1.1出现后,有了Http长连接,这样除了超时和指明特定关闭的http header外,这个链接是一直打开的状态的,这样在NIO处理中可以进一步的进化,在后端资源中可以实现资源池或者队列,当请求来的话,开启的线程把请 求和请求数据传送给后端资源池或者队列里面就返回,并且在全局的地方保持住这个现场(哪个连接的哪个请求等),这样前面的线程还是可以去接受 其他的请求, 而后端的应用的处理只需要执行队列里面的就可以了,这样请求处理和后端应用是异步的.当后端处理完,到全局地方得到现场,产生响应,这个就实现了异步处 理。
BIO是一个连接一个线程。
NIO是一个请求一个线程。
AIO是一个有效请求一个线程。
5,BufferedReader read 前面乱码
以前一直都是取到字符串前面正常后面乱码,结果突然出现了前面乱码后面正常的情况。
有时候是前面有一个字符的乱码,有时候是前面好多个字符的乱码。
一个乱码长这样
很多个乱码就是第一个问号好多个。。。。
看了一下他的十六进制,是这样
efbf bde5 958a 300a e595 8a30 e595 8a31
也就是说,如果是一个的话多了一个 ef bf bd.
然后,大概是这么一篇文章blog.csdn.net/jackpk/article/details/5702964,说是JDK的bug
bugs.java.com/bugdatabase/view_bug.do?bug_id=4508058
╮(╯▽╰)╭,困扰好久。。。。
6,要在ubuntu上编译host模式的adb放到arm设备上用来连接手机
需要一堆arm的依赖
goto7
7,编译arm版的ssl
①先查看环境
发行版本
内核
- senrsl@senrsl-ubuntu:~$ cat /etc/*-release
- DISTRIB_ID=Ubuntu
- DISTRIB_RELEASE=14.04
- DISTRIB_CODENAME=trusty
- DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
- NAME="Ubuntu"
- VERSION="14.04.1 LTS, Trusty Tahr"
- ID=ubuntu
- ID_LIKE=debian
- PRETTY_NAME="Ubuntu 14.04.1 LTS"
- VERSION_ID="14.04"
- HOME_URL="http://www.ubuntu.com/"
- SUPPORT_URL="http://help.ubuntu.com/"
- BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
- senrsl@senrsl-ubuntu:~$ cat /proc/version
- Linux version 3.13.0-37-generic (buildd@kapok) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014
1)下载安装
2)配置编译
- senrsl@senrsl-ubuntu:~/tools/arm$ mkdir -pv gcc-4.8.2/xtools
- mkdir: 已创建目录 "gcc-4.8.2"
- mkdir: 已创建目录 "gcc-4.8.2/xtools"
- senrsl@senrsl-ubuntu:~/tools/arm$ cd gcc-4.8.2/xtools/
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools$ mkdir src
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools$ cd src/
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2
- --2015-09-10 17:28:07-- http://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 21440347 (20M) [application/x-bzip2]
- 正在保存至: "binutils-2.23.2.tar.bz2"
- 100%[======================================>] 21,440,347 119KB/s 用时 6m 27s
- 2015-09-10 17:34:35 (54.1 KB/s) - 已保存 "binutils-2.23.2.tar.bz2" [21440347/21440347])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
- --2015-09-10 17:35:31-- http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 1897483 (1.8M) [application/x-bzip2]
- 正在保存至: "gmp-4.3.2.tar.bz2"
- 100%[======================================>] 1,897,483 133KB/s 用时 15s
- 2015-09-10 17:35:47 (125 KB/s) - 已保存 "gmp-4.3.2.tar.bz2" [1897483/1897483])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2
- --2015-09-10 17:35:51-- http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 1077886 (1.0M) [application/x-bzip2]
- 正在保存至: "mpfr-2.4.2.tar.bz2"
- 100%[======================================>] 1,077,886 70.0KB/s 用时 22s
- 2015-09-10 17:36:14 (47.3 KB/s) - 已保存 "mpfr-2.4.2.tar.bz2" [1077886/1077886])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
- --2015-09-10 17:36:21-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
- => "mpc-0.8.1.tar.gz"
- 正在解析主机 gcc.gnu.org (gcc.gnu.org)... 209.132.180.131
- 正在连接 gcc.gnu.org (gcc.gnu.org)|209.132.180.131|:21... 已连接。
- 正在以 anonymous 登录 ... 登录成功!
- ==> SYST ... 完成。 ==> PWD ... 完成。
- ==> TYPE I ... 完成。 ==> CWD (1) /pub/gcc/infrastructure ... 完成。
- ==> SIZE mpc-0.8.1.tar.gz ... 544950
- ==> PASV ... 完成。 ==> RETR mpc-0.8.1.tar.gz ... 完成。
- 长度:544950 (532K) (非正式数据)
- 100%[======================================>] 544,950 344KB/s 用时 1.5s
- 2015-09-10 17:36:27 (344 KB/s) - "mpc-0.8.1.tar.gz" 已保存 [544950]
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxjf gcc-4.8.2.tar.bz2
- bzip2: Compressed file ends unexpectedly;
- perhaps it is corrupted? *Possible* reason follows.
- bzip2: Inappropriate ioctl for device
- Input file = (stdin), output file = (stdout)
- It is possible that the compressed file(s) have become corrupted.
- You can use the -tvv option to test integrity of such files.
- You can use the `bzip2recover' program to attempt to recover
- data from undamaged sections of corrupted files.
- tar: 归档文件中异常的 EOF
- tar: 归档文件中异常的 EOF
- tar: Error is not recoverable: exiting now
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxjf gcc-4.8.2.tar.bz2
- bzip2: Compressed file ends unexpectedly;
- perhaps it is corrupted? *Possible* reason follows.
- bzip2: Inappropriate ioctl for device
- Input file = (stdin), output file = (stdout)
- It is possible that the compressed file(s) have become corrupted.
- You can use the -tvv option to test integrity of such files.
- You can use the `bzip2recover' program to attempt to recover
- data from undamaged sections of corrupted files.
- tar: 归档文件中异常的 EOF
- tar: 归档文件中异常的 EOF
- tar: Error is not recoverable: exiting now
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ export SRCDIR=~/tools/arm/gcc-4.8.2/xtools/src
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- --2015-09-10 17:38:28-- http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 85999682 (82M) [application/x-bzip2]
- 正在保存至: "gcc-4.8.2.tar.bz2.1"
- 4% [> ] 4,216,261 126KB/s 估时 11m 27s^C
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- --2015-09-10 17:39:13-- http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 85999682 (82M) [application/x-bzip2]
- 正在保存至: "gcc-4.8.2.tar.bz2"
- 100%[======================================>] 85,999,682 365KB/s 用时 5m 25s
- 2015-09-10 17:44:39 (259 KB/s) - 已保存 "gcc-4.8.2.tar.bz2" [85999682/85999682])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$
- senrsl@senrsl-ubuntu:~/tools/arm$ cd gcc-4.8.2/xtools/src/
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
- --2015-09-10 17:29:55-- http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 23428909 (22M) [application/x-gzip]
- 正在保存至: "glibc-2.18.tar.gz"
- 100%[======================================>] 23,428,909 131KB/s 用时 3m 23s
- 2015-09-10 17:33:19 (113 KB/s) - 已保存 "glibc-2.18.tar.gz" [23428909/23428909])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- --2015-09-10 17:35:19-- http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
- 正在解析主机 ftp.gnu.org (ftp.gnu.org)... 208.118.235.20, 2001:4830:134:3::b
- 正在连接 ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 85999682 (82M) [application/x-bzip2]
- 正在保存至: "gcc-4.8.2.tar.bz2"
- 100%[======================================>] 85,999,682 648KB/s 用时 7m 32s
- 2015-09-10 17:42:54 (186 KB/s) - 已保存 "gcc-4.8.2.tar.bz2" [85999682/85999682])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxjf binutils-2.23.2.tar.bz2
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxzf glibc-2.18.tar.gz
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxjf gcc-4.8.2.tar.bz2
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ cd gcc-4.8.2/
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ tar -pxjf ../gmp-4.3.2.tar.bz2
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ tar -pxjf ../mpfr-2.4.2.tar.bz2
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ tar -pxzf ../mpc-0.8.1.tar.gz
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ mv gmp-4.3.2/ gmp
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ mv mpfr-2.4.2/ mpfr
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ mv mpc-0.8.1/ mpc
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src/gcc-4.8.2$ cd ..
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
- --2015-09-10 17:46:32-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
- 正在解析主机 www.kernel.org (www.kernel.org)... 198.145.20.140, 149.20.4.69, 199.204.44.194, ...
- 正在连接 www.kernel.org (www.kernel.org)|198.145.20.140|:80... 已连接。
- 已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
- 位置:https://www.kernel.org/pub/linux/kernel/v2.6 /linux-2.6.38.tar.bz2 [跟随至新的 URL]
- --2015-09-10 17:46:36-- https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
- 正在连接 www.kernel.org (www.kernel.org)|198.145.20.140|:443... 已连接。
- 已发出 HTTP 请求,正在等待回应... 200 OK
- 长度: 74739098 (71M) [application/x-bzip2]
- 正在保存至: "linux-2.6.38.tar.bz2"
- 45% [================> ] 34,155,381 938B/s 用时 29m 33s
- 2015-09-10 18:16:10 (18.8 KB/s) - 在 34155381 字节处连接关闭。 重试中。
- --2015-09-10 18:16:11-- (尝试次数: 2) https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2
- 正在连接 www.kernel.org (www.kernel.org)|198.145.20.140|:443... 已连接。
- 已发出 HTTP 请求,正在等待回应... 206 Partial Content
- 长度: 74739098 (71M),剩余 40583717 (39M) [application/x-bzip2]
- 正在保存至: "linux-2.6.38.tar.bz2"
- 100%[+++++++++++++++++=====================>] 74,739,098 725KB/s 用时 82s s
- 2015-09-10 18:17:34 (486 KB/s) - 已保存 "linux-2.6.38.tar.bz2" [74739098/74739098])
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$ tar -pxjf linux-2.6.38.tar.bz2
- senrsl@senrsl-ubuntu:~/tools/arm/gcc-4.8.2/xtools/src$
- export SRCDIR=/home/senrsl/tools/arm/gcc-4.8.2/xtools/src
- export BINUTILS_SRC=$SRCDIR/binutils-2.25
- export KERNEL_SRC=$SRCDIR/linux-2.6.38
- export GCC_SRC=$SRCDIR/gcc-4.8.2
- export GLIBC_SRC=$SRCDIR/glibc-2.18
- export BUILDDIR=/home/senrsl/tools/arm/gcc-4.8.2/xtools/build
- export TARGETMACH=arm-none-linux-gnueabi
- export BUILDMACH=i686-pc-linux-gnu
- export INSTALLDIR=/home/senrsl/tools/arm/gcc-4.8.2/arm
- export SYSROOTDIR=$INSTALLDIR/sysroot
- mkdir $BUILDDIR
- mkdir $BUILDDIR/binutils
- cd $BUILDDIR/binutils
- $BINUTILS_SRC/configure --disable-werror --build=$BUILDMACH --target=$TARGETMACH --prefix=$INSTALLDIR --with-sysroot=$SYSROOTDIR
- make
- make install
- cd $KERNEL_SRC
- make mrproper
- make ARCH=arm omap2plus_defconfig
- mkdir -pv $INSTALLDIR/sysroot/usr
- make ARCH=arm headers_check
- make ARCH=arm INSTALL_HDR_PATH=$INSTALLDIR/sysroot/usr headers_install
- cd $SRCDIR
- mkdir $BUILDDIR/bootstrap-gcc
- cd $BUILDDIR/bootstrap-gcc
- $GCC_SRC/configure --build=$BUILDMACH --host=$BUILDMACH --target=$TARGETMACH --prefix=$INSTALLDIR --without-headers --enable-boostrap --enable-languages="c" --disable-threads --enable-__cxa_atexit --disable-libmudflap --with-gnu-ld --with-gnu-as --disable-libssp --disable-libgomp --disable-nls --disable-shared
- make all-gcc install-gcc
- make all-target-libgcc install-target-libgcc
- ln -s $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc.a $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc_sh.a
- #glibc,must installed gawk
- mkdir -pv $BUILDDIR/libc
- cd $BUILDDIR/libc
- echo "libc_cv_forced_unwind=yes" > config.cache
- echo "libc_cv_c_cleanup=yes" >> config.cache
- export PATH=$INSTALLDIR/bin:$PATH
- export CROSS=arm-none-linux-gnueabi
- export CC=${CROSS}-gcc
- export LD=${CROSS}-ld
- export AS=${CROSS}-as
- $GLIBC_SRC/configure --build=$BUILDMACH --host=$TARGETMACH --prefix=$SYSROOTDIR/usr --with-headers=$SYSROOTDIR/usr/include --config-cache --enable-kernel=2.6.0
- make -k install-headers cross_compiling=yes install_root=$SYSROOTDIR
- #*** We need to move some files ***
- pushd $SYSROOTDIR/$INSTALLDIR/sysroot/usr/include
- cp -rv * $SYSROOTDIR/usr/include/
- popd
- ln -s $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc.a $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc_eh.a
- cd $SRCDIR
- #building glibc
- rm -rf $BUILDDIR/libc
- mkdir -pv $BUILDDIR/libc
- cd $BUILDDIR/libc
- echo "libc_cv_forced_unwind=yes" > config.cache
- echo "libc_cv_c_cleanup=yes" >> config.cache
- #*** check to make sure these are still set, they should be ***
- echo $PATH
- echo $CROSS
- echo $CC
- $GLIBC_SRC/configure --build=$BUILDMACH --host=$TARGETMACH --prefix=/usr --with-headers=$SYSROOTDIR/usr/include --config-cache --enable-kernel=2.6.0
- make -k install-headers cross_compiling=yes install_root=$SYSROOTDIR
- ln -s $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc.a $INSTALLDIR/lib/gcc/arm-none-linux-gnueabi/4.8.2/libgcc_s.a
- make
- make install_root=$SYSROOTDIR install
- #building next gcc
- #*** unset CC, LD, and AS. We do not want to xcompile the xcompiler :-) ***
- unset CC
- unset LD
- unset AS
- #*** delete gcc-x.x.x and re-install it ***
- cd $SRCDIR
- rm -rf gcc-4.8.2
- tar -pxjf gcc-4.8.2.tar.bz2
- cd gcc-4.8.2/
- tar -pxjf ../gmp-4.3.2.tar.bz2
- tar -pxjf ../mpfr-2.4.2.tar.bz2
- tar -pxzf ../mpc-0.8.1.tar.gz
- mv gmp-4.3.2/ gmp
- mv mpfr-2.4.2/ mpfr
- mv mpc-0.8.1/ mpc
- mkdir -pv $BUILDDIR/final-gcc
- cd $BUILDDIR/final-gcc
- echo "libc_cv_forced_unwind=yes" > config.cache
- echo "libc_cv_c_cleanup=yes" >> config.cache
- BUILD_CC=gcc
- $GCC_SRC/configure --build=$BUILDMACH --target=$TARGETMACH --prefix=$INSTALLDIR --with-sysroot=$SYSROOTDIR --enable-languages="c" --with-gnu-as --with-gnu-ld --disable-multilib --with-float=soft --disable-sjlj-exceptions --disable-nls --enable-threads=posix --enable-long-longx
- make all-gcc
- make install-gcc
- #buiding final gcc
- #*** make sure these are still unset ***
- echo $CC
- echo $LD
- echo $AS
- #*** delete gcc-x.x.x and re-install it ***
- cd $SRCDIR
- rm -rf gcc-4.8.2
- tar -pxjf gcc-4.8.2.tar.bz2
- cd gcc-4.8.2/
- tar -pxjf ../gmp-4.3.2.tar.bz2
- tar -pxjf ../mpfr-2.4.2.tar.bz2
- tar -pxzf ../mpc-0.8.1.tar.gz
- mv gmp-4.3.2/ gmp
- mv mpfr-2.4.2/ mpfr
- mv mpc-0.8.1/ mpc
- mkdir -pv $BUILDDIR/final-gcc-2
- cd $BUILDDIR/final-gcc-2
- echo "libc_cv_forced_unwind=yes" > config.cache
- echo "libc_cv_c_cleanup=yes" >> config.cache
- $GCC_SRC/configure --build=$BUILDMACH --target=$TARGETMACH --prefix=$INSTALLDIR --with-sysroot=$SYSROOTDIR --enable-languages="c" --with-gnu-as --with-gnu-ld --disable-multilib --with-float=soft --disable-sjlj-exceptions --disable-nls --enable-threads=posix --disable-libmudflap --disable-libssp --enable-long-longx --with-shared
- make
- make install
- #new terminal run 2 test
- export INSTALLDIR=/home/senrsl/tools/arm/gcc-4.8.2/arm
- export PATH=$INSTALLDIR/bin:$PATH
- export TARGETMACH=arm-none-linux-gnueabi
- export BUILDMACH=i686-pc-linux-gnu
- export CROSS=arm-none-linux-gnueabi
- export CC=${CROSS}-gcc
- export LD=${CROSS}-ld
- export AS=${CROSS}-as
- #compile test program
- $CC -Wall -Wextra /home/senrsl/android/workspace/tech/FiveHalo/halo_print.c -o halo_print
- #check
- senrsl@senrsl-ubuntu:~$ ./halo_print
- bash: ./halo_print: cannot execute binary file: 可执行文件格式错误
- senrsl@senrsl-ubuntu:~$ file halo_print
- halo_print: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
- #check suss,在一个新的终端上交叉编译应该先这么配置
- export INSTALLDIR=/home/senrsl/tools/arm/gcc-4.8.2/arm
- export PATH=$INSTALLDIR/bin:$PATH
- export TARGETMACH=arm-none-linux-gnueabi
- export BUILDMACH=i686-pc-linux-gnu
- export CROSS=arm-none-linux-gnueabi
- export CC=${CROSS}-gcc
- export LD=${CROSS}-ld
- export AS=${CROSS}-as
③编译arm版的openssl
- #2)build openssl
- #create dir
- export OPENSSL_SRC=/home/senrsl/tools/arm/openssl/src
- mkdir -pv /home/senrsl/tools/arm/openssl
- mkdir $OPENSSL_SRC
- cd $OPENSSL_SRC
- #get source
- wget ftp://ftp.openssl.org/source/openssl-1.0.1p.tar.gz
- tar -pxzf openssl-1.0.1p.tar.gz
- wget http://www.linuxfromscratch.org/patches/downloads/openssl/openssl-1.0.1e-fix_parallel_build-1.patch
- wget http://www.linuxfromscratch.org/patches/downloads/openssl/openssl-1.0.1e-fix_pod_syntax-1.patch
- #set env
- export INSTALLDIR=/home/senrsl/tools/arm/gcc-4.8.2/arm
- export PATH=$INSTALLDIR/bin:$PATH
- export TARGETMACH=arm-none-linux-gnueabi
- export BUILDMACH=i686-pc-linux-gnu
- export CROSS=arm-none-linux-gnueabi
- export CC=${CROSS}-gcc
- export LD=${CROSS}-ld
- export AS=${CROSS}-as
- export AR=${CROSS}-ar
- #build openssl
- cd openssl-1.0.1p/
- patch -Np1 -i ../openssl-1.0.1e-fix_parallel_build-1.patch
- patch -Np1 -i ../openssl-1.0.1e-fix_pod_syntax-1.patch
- ./Configure -DOPENSSL_NO_HEARTBEATS --openssldir=/home/senrsl/tools/arm/openssl/final shared os/compiler:arm-none-linux-gnueabi-
- make
- make install
- cd ../../final/lib/
- $AR -x libcrypto.a
- $CC -shared *.o -o libcrypto.so
- rm *.o
- $AR -x libssl.a
- $CC -shared *.o -o libssl.so
- rm *.o
- #*err:POD document had syntax errors at /usr/bin/pod2man line 71.注释此掉 #$parser->parse_from_file (@files);
- #check
- senrsl@senrsl-ubuntu:~/tools/arm/openssl/final/lib$ cd ../
- senrsl@senrsl-ubuntu:~/tools/arm/openssl/final$ ls
- bin certs include lib man misc openssl.cnf private
- senrsl@senrsl-ubuntu:~/tools/arm/openssl/final$ cd bin/
- senrsl@senrsl-ubuntu:~/tools/arm/openssl/final/bin$ file openssl
- openssl: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
8,台式机迁移笔记本
2015年08月11日10:34:06
没有评论 :
发表评论