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. 浅谈TCP IP协议栈(二)IP地址

    上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适 ...

  2. c/c++ 继承与多态 静态调用与动态调用

    静态调用,与动态调用. 动态调用条件:必须用父类的引用或者指针,并且调用的必须是虚方法. #include <iostream> class Base{ public: virtual i ...

  3. c/c++ 继承与多态 友元与继承

    问题1:类B是类A的友元类,类C是类B的友元类,那么类C是类A的友元类吗?函数fun是类B的友元函数,那么fun是类A的友元函数吗? 都不是,友元关系不能传递. 问题2:类B是类A的友元类,类C是类B ...

  4. python3 Queue(单向队列)

    创建队列 import queue q = queue.Queue() empty(如果队列为空,返回True) import queue q = queue.Queue() print(q.empt ...

  5. deepin 15.8桌面系统

    深度桌面环境是深度科技自主开发的美观易用.极简操作的桌面环境,主要由桌面.启动器.任务栏.控制中心.窗口管理器等组成,系统中预装了 WPS Office.搜狗输入法.有道词典.网易云音乐以及深度特色应 ...

  6. 如何设置非管理员用户配置特定的IIS站点

    如何设置非管理员用     户配置特定的IIS站点 一.           添加IIS管理服务 二.           启动管理服务 勾选启用远程连接后.点右边的应用 三.           设 ...

  7. LeetCode算法题-Maximum Product of Three Numbers(Java实现)

    这是悦乐书的第275次更新,第291篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第143题(顺位题号是628).给定一个整数数组,从其中找出三个数,使得乘积最大.例如: ...

  8. ORM杂记

    1.反射练习 import sys class Person(object): def __init__(self, name): self.name = name def eat(self, foo ...

  9. jdk的安装及环境变量的配置

    一.JDK的下载 1.首先打开JDK的官网(点击打开链接),找到JAVA SE 7u71/72中的JDK,选择Download 2.然后如下图,选择Accept License Agreement,则 ...

  10. 用 C# 编写 C# 编译器,先有鸡还是先有蛋?

    前段时间翻译了一篇文章 微软是如何重写 C# 编译器并使它开源的,文章讲了微软用 C# 重写 C# 编译器的坎坷路,引发了一些童鞋的思考:用 C# 编写 C# 编译器(Roslyn),那么 C# 编译 ...