且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

OK335xS U-boot 编译问题&无Linux shell 问题

更新时间:2022-08-12 20:37:12

/**************************************************************************
 *                OK335xS U-boot 编译问题&无Linux shell 问题
 * 声明:
 *    主要是因为系统之前是由本人师傅做的,他去掉了一些信息,同时由于他本人
 * 目前不在旁边,在参考一些文件的时候出现以下情况。
 * 
 *                               2015-7-17 阴 深圳 南山平山村 曾剑锋
 *************************************************************************/


一、采用官方的制作U-boot(make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm O=am335x am335x_evm)出现如下错误:
    1. 问题:make: *** No rule to make target am335x_evm_config
        1. cat Makefile:
            ......
            MKCONFIG        := $(srctree)/mkconfig
            export MKCONFIG
            ......
            %_config:: outputmakefile
                @$(MKCONFIG) -A $(@:_config=)
            ......
        
        2. cat mkconfig
            if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then
                # Automatic mode
                line=`awk '($0 !~ /^#/ && $7 ~ /^'"$2"'$/) { print $1, $2, $3, $4, $5, $6, $7, $8 }' $srctree/boards.cfg`
                if [ -z "$line" ] ; then
                        echo "make: *** No rule to make target \`$2_config'.  Stop." >&2
                        exit 1
                fi
        
                set ${line}
                # add default board name if needed
                [ $# = 3 ] && set ${line} ${1}
            fi
    
    2. 问题:生成u-boot.bin  error: bad value (armv5) for -march= switch
        http://arm9home.net/read.php?tid-82914.html
    3. 解决方法:
        cat > remake.sh << EOF
        export CROSS_COMPILE=arm-linux-gnueabihf- 
        export ARCH=arm 
        make am335x_evm_config
        make
        EOF

二、文件系统跑起来之后无法得到Linux shell终端:
    #
    # The "id" field MUST be the same as the last
    # characters of the device (after "tty").
    #
    # Format:
    #  <id>:<runlevels>:<action>:<process>
    #
    #S:2345:respawn:/sbin/getty 115200 ttyO0
    0:2345:respawn:/sbin/getty 115200 ttyO0

三、重新生成.config文件:
    1. 出错现象:   
        Qt@aplex:~/kernel/linux-3.2.0$ make uImage
        scripts/kconfig/conf --silentoldconfig Kconfig
        *
        * Restart config...
        *
        *
        * General setup
        *
        Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y
        Cross-compiler tool prefix (CROSS_COMPILE) [] 
        Local version - append to kernel release (LOCALVERSION) [] 
        Automatically append version information to the version string (LOCALVERSION_AUTO) [Y/n/?] y
        Kernel compression mode
        > 1. Gzip (KERNEL_GZIP)
          2. Bzip2 (KERNEL_BZIP2) (NEW)
          3. LZMA (KERNEL_LZMA)
          4. XZ (KERNEL_XZ) (NEW)
          5. LZO (KERNEL_LZO)
        choice[1-5?]: 
    2. 出现问题原因:
        cat ~/.bashrc
            ......
            CROSS_COMPILE=arm-linux-gnueabihf-
            ARCH=arm
            ......
    3. 解决方法:
        cat ~/.bashrc
            ......
            export CROSS_COMPILE=arm-linux-gnueabihf-
            export ARCH=arm
            ......
四、tslib编译问题:
    1. 出错现象:
         In function ‘open’,
             inlined from ‘main’ at ts_calibrate.c:227:11:
         /usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
         In function ‘open’,
             inlined from ‘main’ at ts_calibrate.c:229:11:
         /usr/include/x86_64-linux-gnu/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
         make[1]: *** [ts_calibrate.o] Error 1
         make[1]: Leaving directory `/home/Qt/tslib/tslib/tests'
         make: *** [install-recursive] Error 1
    2. 解决方法:
        http://www.gossamer-threads.com/lists/qmail/users/138200