title: busybox(二)编译

tag: arm

date: 2018-11-13 23:14:58

busybox(二)编译

  1. 解压,源码包在busybox-1.7.0.tar.bz2,

    tar xjf  busybox-1.7.0.tar.bz2
    cd busybox-1.7.0/
  2. 查看说明文档INSTALL,注意不能直接使用make install,这样会安装到pc上,破坏pc.应该要使用make CONFIG_PREFIX=xxx目录 install

     make menuconfig     # This creates a file called ".config"
    make # This creates the "busybox" executable
    make install # or make CONFIG_PREFIX=/path/from/root install
  3. 设置下交叉编译工具为arm-linux-,修改顶层Makefile

    CROSS_COMPILE   ?=arm-linux-
  4. 使用make menuconfig配置,发现提示错误,这是因为版本问题,修改下makefile

    book@100ask:/work/busybox-1.7.0$ make menuconfig
    Makefile:405: *** mixed implicit and normal rules: deprecated syntax
    Makefile:1242: *** mixed implicit and normal rules: deprecated syntax
    make: *** No rule to make target 'menuconfig'. Stop.

    修改以下内容

    顶层Makefile 405行:config %config: scripts_basic outputmakefile FORCE 改为:
    %config: scripts_basic outputmakefile FORCE 修改busybox-1.7.0 顶层Makefile 1242行:
    / %/: prepare scripts FORCE 改为:
    %/: prepare scripts FORCE 如果还不行
    要安装 sudo apt-get install libncurses5-dev libncursesw5-dev 这两个库才可以
  5. 修改配置项目,增加tab补全功能,busybox settings ---busybox libry tuning ----tab completion,输入y选择.其余模块的使能一般在Linux Module Utilities --->

  6. make

  7. 设置安装路径 make CONFIG_PREFIX=~/stu/first_fs install

  8. 可以看到文件链接到busybox,也就是说bin下面有个busybox的程序,其他ls等都链接到它

    book@100ask:~/stu/first_fs$ ls -l
    总用量 12
    drwxrwxr-x 2 book book 4096 11月 13 23:37 bin
    lrwxrwxrwx 1 book book 11 11月 13 23:37 linuxrc -> bin/busybox
    drwxrwxr-x 2 book book 4096 11月 13 23:37 sbin
    drwxrwxr-x 4 book book 4096 11月 13 23:37 usr book@100ask:~/stu/first_fs$ ls bin/ls -l
    lrwxrwxrwx 1 book book 7 11月 13 23:37 bin/ls -> busybox

busybox(二)编译的更多相关文章

  1. busybox的编译、使用及安装

    转载于:http://blog.sina.com.cn/wyw1976 busybox是什么? (1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头. ( ...

  2. webpack4 系列教程(二): 编译 ES6

    今天介绍webpack怎么编译ES6的各种函数和语法.敲黑板:这是webpack4版本哦, 有一些不同于webpack3的地方. >>> 本节课源码 >>> 所有课 ...

  3. 快速学习C语言二: 编译自动化, 静态分析, 单元测试,coredump调试,性能剖析

    上次的Hello world算是入门了,现在学习一些相关工具的使用 编译自动化 写好程序,首先要编译,就用gcc就好了,基本用法如下 gcc helloworld.c -o helloworld.o ...

  4. 20135218 Linux 实践二 编译模块

    20135218 姬梦馨 1.编写模块代码 模块构造函数:执行insmod或modprobe指令加载内核模块时会调用的初始化函数.函数原型必须是module_init(),括号内是函数指针 模块析构函 ...

  5. 运用busybox构建最小根文件系统

    平台:vmware下ubuntu14.04前期准备:安装交叉编译环境arm-linux-gcc-4.5.1;下载完成BusyBox 1.23.2一.busybox构建1.make menuconfig ...

  6. Linux根文件系统分析之init和busybox

    Hi,大家好!我是CrazyCatJack.今天给大家讲解Linux根文件系统的init进程和busybox的配置及编译. 先简单介绍一下,作为一个嵌入式系统,要想在硬件上正常使用的话.它的软件组成大 ...

  7. Gobblin编译支持CDH5.4.0

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 Gobblin的前身是linkedin的Camus,好多人也用过,准备用Gobblin的方式来抽 ...

  8. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

  9. window下编译并使用google protobuf

    参考网址: http://my.oschina.net/chenleijava/blog/261263 http://www.ibm.com/developerworks/cn/linux/l-cn- ...

随机推荐

  1. Centos6系列Bond配置方法

    在Windows Server平台因业务需求经常会用到NIC双网卡绑定,同样Linux平台下用于网络负载均衡及网络冗余会用到bond模式. Bond模式:0-6,即7种模式. 模式一:mod=0 ,即 ...

  2. ReSharper导致Visual Studio缓慢?

    问题排查 我们会竭尽所能的ReSharper的性能方面,但是也有一些已知和未知的情况下,ReSharper的可以减缓的Visual Studio. 这里有一些关键点进行故障排除和修复ReSharper ...

  3. Thinkphp volist 多重循环原样输出数组key值的使用总结

    最近因为项目的缘故,要使用到volist.在这个过程中,遇到了一些小问题,主要就是volist在循环输出多重数据的时候,如何输出key.网上查阅了不少资料,很失望的是,大多资料就是粘贴复制Thinkp ...

  4. Unix、Windows、Mac OS、Linux系统故事

    我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还 ...

  5. PHP实现表单提交发送邮件

    只需要三个文件就可以了: 注意: 文件自命名需修改表单提交url,包含的类文件名: HTML表单文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  6. SQLServer之UNIQUE约束

    UNIQUE约束添加规则 1.唯一约束确保表中的一列数据没有相同的值. 2.与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束. 使用SSMS ...

  7. js字符串String提取方法比较

    JavaScript: Slice, Substring, or Substr的选择! 在JavaScript中,字符串主要通过以下String方法之一提取: // slice // syntax: ...

  8. C#基础知识之面向对象以及面向对象的三大特性

    在C#基础知识之类和结构体中我详细记录了类.类成员.重载.重写.继承等知识总结.这里就记录一下对面向对象和面向对象三大特性的广义理解. 一.理解面向对象 类是面向对象编程的基本单元,面向对象思想其实就 ...

  9. Python开发【内置模块篇】日志模块

    logging配置 import logging logging.basicConfig(level=logging.WARNING, format='%(asctime)s %(filename)s ...

  10. DeeplabV3+ 训练自己的遥感数据

    一.预处理数据部分 1.创建 tfrecord(修改 deeplab\ dateasets\ build_data.py) 模型本身是把一张张 jpg 和 png 格式图片读到一个 Example 里 ...