Skip to content

Instantly share code, notes, and snippets.

@nufeng1999
nufeng1999 / easilyopenWSLGUI.md
Last active June 21, 2021 05:24
[轻松开启 WSL2 图形界面功能] #WSL #GUI #Cygwin #XWin

如何开启 WSL2 图形界面功能?

注意下面的操作仅在root用户下操作完成

wsl -u root -d Ubuntu

1.给WSL2安装必须的一些软件

apt install gedit fcitx fcitx-config-gtk fcitx-sunpinyin fcitx-pinyin fcitx-googlepinyin xfonts-intl-chinese

@nufeng1999
nufeng1999 / buile_busybox.sh
Last active June 21, 2021 05:25
[编译arm版本的busybox ] #busybox #arm #编译
// vim: syntax=shell
make ARCH=arm INSTALL_HDR_PATH=/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot headers_install
make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot/usr/include:/opt/armv5-eabi/lib/gcc/arm-buildroot-linux-gnueabi/7.3.0/install-tools/include/:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/include/linux/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot/usr/lib:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot/usr/lib
export LIBRARY_PATH=$LIBRARY_PATH:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot/usr/lib:/opt/armv5-eabi/arm-buildroot-linux-gnueabi/sysroot/usr/lib
make ARCH=arm CROSS_COMPILE=arm-linux-
@nufeng1999
nufeng1999 / build_apache
Created June 21, 2021 05:28
[编译arm版本的apache] #arm #apache #编译
CROSS_COMPILE=arm-linux AR="arm-linux-ar" RANLIB=arm-linux-ranlib CC=arm-linux-gcc LD=arm-linux-ld AS=arm-linux-as CXX=arm-linux-g++ ./configure --prefix=/root/apache --host=arm-linux --with-ssl=/arm-linux --with-apr=/arm-linux --with-apr-util=/arm-linux --with-pcre=/arm-linux --enable-cgi --enable-vhost-alias --enable-ssl --enable-isapi --with-mpm=prefork CFLAGS="-DBIG_SECURITY_HOLE" LDFLAGS="-lpthread" ap_cv_void_ptr_lt_long=no
/arm-linux/build-1/libtool --silent --mode=link arm-linux-gcc -std=gnu99 -g -O2 -DBIG_SECURITY_HOLE -L/arm-linux/lib -lpthread -o httpd modules.lo buildmark.o -export-dynamic server/libmain.la modules/core/libmod_so.la modules/http/libmod_http.la server/mpm/event/libevent.la os/unix/libos.la -L/arm-linux/lib -lpcre /arm-linux/lib/libaprutil-1.la -lexpat /arm-linux/lib/libapr-1.la -lrt -lcrypt -ldl -lpthread
注意这里实际不需要指定--with-apr-util和--with-apu,因为这样做比较麻烦,需要先交叉编译好apr和apr-util。可以下载最新的apr apr-util放到httpd/srclib中,一起交叉编译即可。
@nufeng1999
nufeng1999 / build_arm_git
Last active June 21, 2021 05:32
[编译arm版本的git]编译arm版本的git #编译 #arm #git
CROSS_COMPILE=arm-linux AR="arm-linux-ar" RANLIB=arm-linux-ranlib CC=arm-linux-gcc LD=arm-linux-ld AS=arm-linux-as CXX=arm-linux-g++ ./configure --prefix=/root/gittools --target=arm-linux --host=arm-linux LDFLAGS="-L/arm-linux/lib" CFLAGS="-I/arm-linux/include"
@nufeng1999
nufeng1999 / build_arm_mysql.md
Last active June 21, 2021 05:45
[编译arm版本的mysql]编译arm版本的mysql #arm #mysql #编译

http://www.cnblogs.com/Charles-Zhang-Blog/p/3529980.html

#./configure -prefix=/usr/local/mysql 
#{ac_cv_sys_restartable_syscalls+set}"
#-rpath=/arm-linux/arm-none-linux-gnueabi/lib

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/arm-linux/arm-none-linux-gnueabi/lib
export LIBRARY_PATH=$LIBRARY_PATH:/arm-linux/arm-none-linux-gnueabi/lib
@nufeng1999
nufeng1999 / build_arm_samba.md
Last active June 21, 2021 05:42
[编译arm版本的samba]编译arm版本的samba #编译 #arm #samba

参考 https://wiki.beyondlogic.org/index.php/Cross_Compiling_SAMBA_for_ARM

./configure --without-krb5 --without-ldap --without-ads   --disable-cups --enable-swat=no --with-winbind=no   --target=arm-linux --host=arm-linux  --prefix=/root/samba --with-configdir=/etc   samba_cv_CC_NEGATIVE_ENUM_VALUES=yes   libreplace_cv_HAVE_GETADDRINFO=no   ac_cv_file__proc_sys_kernel_core_pattern=yes

make
make install DESTDIR=/root/samba
@nufeng1999
nufeng1999 / build_arm_tcc.md
Created June 21, 2021 05:47
[编译arm版本的tcc] #编译 #arm #tcc

gcc------------------------------------ tcc-0.9.27----------------------

 GCC_ARCH="-m32" AR="arm-linux-ar" RANLIB=arm-linux-ranlib  CC=arm-linux-gcc LD=arm-linux-ld  AS=arm-linux-a PROCESSOR=ARM 
 
 ./configure --prefix=/arm-linux/opt/tcc \
 --sysroot=/arm-linux \
 --cross-prefix=arm-linux- \
 --libpaths=/arm-linux/lib \
 --crtprefix=/arm-linux/sysroot/usr/lib \
@nufeng1999
nufeng1999 / build_arm_openssl.md
Last active June 21, 2021 05:51
[编译arm版本的openssl] #编译 #arm #openssl
GCC_ARCH="-m32" AR="arm-linux-ar" RANLIB=arm-linux-ranlib  CC=arm-linux-gcc LD=arm-linux-ld  AS=arm-linux-as PROCESSOR=ARM ./Configure linux-armv4 no-asm shared  -DL_ENDIAN -D_GNU_SOURCE --prefix=/arm-linux  --openssldir=/arm-linux/etc/ssl

error: PTHREAD_MUTEX_RECURSIVE undeclared 添加 -D_GNU_SOURCE 然后删除Makefile里两处 -m64 --------------------------------完美成功 openssh --------------------------------完美成功

@nufeng1999
nufeng1999 / closewinimm.cpp
Last active June 22, 2021 00:52
[关闭输入法] #CloseIMM #CloseWinImm #ImmReleaseContext #ImmSetOpenStatus #ImmAssociateContext #ImmGetContext #输入法
// vim: syntax=c++
#include <windows.h>
#include <tchar.h>
#include <iostream>
#include <strsafe.h>
#include <io.h>
#include <list>
#include <algorithm>
#include <fcntl.h>
@nufeng1999
nufeng1999 / vscode_cygwin.md
Last active June 23, 2021 01:22
[轻松搞定vscode 编译cygwin gcc 项目的配置]

1.请在 cygwin 里的/etc/profile文件的开头部位加上 export WORKDIR=$PWD ,末尾部位加上 cd $WORKDIR

因为执行类似 I:\cygwin64\bin\bash.exe --login -c "echo $PWD" 这样的命令时,工作目录才不会改变成 /home/Administrator

2.cygwin gcc 编译时可能需要配置一些环境变量等,可以在.vscode/settings.json里加上下面的配置 bash 无 --login 参数时,将执行BASH_ENV配置的文件

	"terminal.integrated.env.windows": {
		"Path":"",
 "OSTYPE":"cygwin",