中文支持

  • libbb/printable_string.c

    //注释 30行左右的
    
    //	if (c >= 0x7f)
    //		break;
    
    //修改40行左右的
    while (1) {
    	unsigned char c = *d;
    	if (c == '\0')
    		break;
    	// if (c < ' ' || c >= 0x7f) //这里
    	if (c < ' ')
    		*d = '?';
    	d++;
    }
    
  • libbb/unicode.c

    //修改1020行左右的
    while ((int)--width >= 0) {
    	unsigned char c = *src;
    	if (c == '\0') {
    		do
    			*d++ = ' ';
    		while ((int)--width >= 0);
    		break;
    	}
    	//*d++ = (c >= ' ' && c < 0x7f) ? c : '?'; //这里
    	*d++ = (c >= ' ') ? c : '?'; 
    	src++;
    }
    
    //修改1040行左右的
    while (*d) {
    	unsigned char c = *d;
    	//if (c < ' ' || c >= 0x7f) //这里
    	if (c < ' ')
    		*d = '?';
    	d++;
    }
    
  • 图形化配置界面

    Settings
    	-> [*] Support Unicode
    

编译失败修改

关闭yescrypt

Login/Password Management Utilities
	-> [] Enable yescrypt functions 

编译结果

bin/
sbin/
user/
linuxrc
mkdir dev etc lib mnt proc sys tmp var

文件移植

确保编译时没有静态编译

Settings
	-> [] Build static binary (no shared libs)

将交叉编译器的

  • etc

    • 创建init.d文件夹
    /etc/init.d
    
    • 创建init.d/rcS文件
    
    
  • lib

    cp -r /root/rk-tools/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/* .