zoukankan      html  css  js  c++  java
  • sb2 配置补充

    主要参考http://forum.wdlxtv.com/viewtopic.php?f=43&t=3108

    sb2 –e 调用的是rootstrap中的程序

    cd make-3.82/
    sb2 ./configure --prefix=/usr
    sb2 make
    sb2 make install DESTDIR=$BUILDROOT

    root@james-desktop:~/buildroot/hello-world# sb2 -eR make 
    exec: 1: /bin/sh: not found

    原因是没有bash,所以安装bash:

    sb2 ./configure --prefix=/

    sb2 make

    sb2 make install DESTDIR=$BUILDROOT

    ~/buildroot/bin# ln -s bash sh

    //卸载

    sb2 make DESTDIR=$BUILDROOT uninstall

    编译hello-world时候

    sb2 make

    sb2 -eR make  install

    提示:

    /bin/bash: /bin/mkdir: No such file or directory

    mkdir包含在coreutils中

    http://www.ha97.com/book/lfs-book-6.6/chapter06/coreutils.html

    wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.8.tar.gz

    sb2 ./configure --prefix=/usr

    sb2 make –j4

    sb2 make install DESTDIR=$BUILDROOT

    mv -v usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} bin mv -v usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} bin

    mv -v usr/bin/{rmdir,stty,sync,true,uname} bin

    mv -v usr/bin/chroot usr/sbin

    mv -v usr/bin/{head,sleep,nice} bin

    注意:ubuntu sh默认是dash

    sudo dpkg-reconfigure dash

    选择no

    ======================================================================================================

    http://lists.scratchbox.org/pipermail/scratchbox-users/2008-July/001287.html

    SB2 by default (using the "simple" mapping mode) doesn't give you a "chroot", it's that way by design. Idea is to be as unintrusive as possible, while still functioning for cross compilation. It is possible to "chroot" by running sb2 in the emulation mode (sb2 -e). Maemo uses the "maemo" mode, which you can enable by running sb2 -m maemo. What works best depends what you plan to do. I'd say that for constructing a new distro, simple mode should be enough as you can and should clean up the most attrocious build system failures instead of relying on sb2 to paper over them. For supporting debian style building a mode similar to maemo is useful, as the idea obviously is to deviate as little as possible from the upstream. Overall it's not terribly obvious (even after many years...) what is *the* right way to deal with this. This is one of the reasons why I like to position SB2 as a tool for creating an SDK instead of being the SDK.

    SB2默认不chroot,尽量非侵入(unintrusive).用sb2 –e 模拟模式可以进入chroot.Maemo 使用maemo模式.maemo是为了不合上游部门脱离.

    ======================================================================================================

    http://lists.scratchbox.org/pipermail/scratchbox-users/2009-April/001473.html
    emulate: Run the target binaries, virtually chrooting into the target
    buildroot, useful for testing or maintaining the target directory (if
    you have a debian in it, apt-get & co can be run under emulate mode).
    
    simple: Very straightforward compilation oriented mapping mode, does
    as little as possible, trying to be predictable. This is the default.
    
    devel: A much more complex mapping mode designed for Maemo SDK+,
    produces an environment functionally similar to SB1
    
    maemo_simple: simple mode modified to work with Maemo peculiarities
    
    tools: Build tool distribution maintenance, for example if you're
    developing for a debian target on a Fedora host, you may want to have
    a debian for your host machine available in a directory
    ~/debian_chroot to be used for building, this mode makes it possible
    to maintain
    that without root access. When creating a target with sb2-init, -t
    <path> option can specify the tools to use.
    
    install: sb2 ./configure --prefix=/usr && sb2 make && sb2 -m install
    make install, this assists in installing files to where you want them
    (in the buildroot), while allowing the build system to *attempt* to
    install them into /usr
    -------------------------------------------------------------
    devel模式和SB1相似。Maemo SDK+中使用。

    Both "accel" and "devel" are intended to be used with a  separate
           "tools  root" directory, consisting of host-compatible binaries of the same programs that exist in the target file system
           as foreign binaries。

    包含一个tools root目录,里面放host上的软件,但是版本配置和target一样。

    "tools" mode is very much like "emulate", except that there most things are mapped to tools root

    tools模式和emulate相似,但是是来自tools root目录。
     

    ======================================================================================================

  • 相关阅读:
    [Oracle工程师手记]Linux环境中,反复调用SQLPLUS 执行SQL语句的例子
    [Oracle工程师手记] 记一次 transport lag 的解析
    [Oracle工程师手记] V$ARCHIVE_GAP中的 GAP 何时产生?
    [Oracle 工程师手记] nologging 操作的优先级
    [Oracle 工程师手记] ORA-16642: DB_UNIQUE_NAME mismatch 的解决过程
    [Oracle 工程师手记] 如何构造数据库的 log on trigger
    Groovy调用MD5加密
    Jenkins Pipeline调用 httpRequest插件提交Http请求
    Python调用Jenkins接口批准/拒绝Pipeline流程
    Access 的top和order by 的问题
  • 原文地址:https://www.cnblogs.com/cute/p/2294560.html
Copyright © 2011-2022 走看看