ubuntu14.04 内核编译,/bin/sh: 1: lzop: not found问题

本文介绍了在编译imx4.1.15内核过程中遇到的错误及解决步骤。主要问题是由于缺少lzop工具导致的编译失败,通过安装该工具并清理更新软件包列表,最终成功解决了编译问题。

在编译imx 4.1.15 内核过程中在最后生成内核报:

OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
make[2]: Warning: File `arch/arm/boot/compressed/../Image' has modification time 0.75 s in the future
LZO arch/arm/boot/compressed/piggy.lzo
/bin/sh: 1: lzop: not found
make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make: *** [uImage] Error 2

度娘一下,说是缺少lzop ,

那么就安装下:

sudo apt-get install lzop

正在读取软件包列表... 有错误!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages
E: 无法解析或打开软件包的列表或是状态文件。

还报错误,依然度娘:

sudo rm /var/lib/apt/lists/* -vf

sudo apt-get update

sudo apt-get install lzop

然后再编译内核,完美解决。

### 运行 Ubuntu 14.04 容器并指定工作目录 为了运行一个基于 `ubuntu:14.04` 的 Docker 容器,并设置特定的工作目录(即所谓的“镜像根目录”,通常指的是容器内的默认路径),可以使用 `-w` 或者 `--workdir` 参数来设定工作目录。然而,在此场景中,如果仅是为了执行 `/bin/echo 'Hello world'` 并不需要特别指明工作目录,因为该命令不依赖于任何文件系统的具体位置。 对于想要显示工作目录的情况,可以在启动容器之前通过 `WORKDIR` 指令定义好所需的工作空间;而在交互模式下启动容器时,则可以直接利用上述提到的参数快速切换到期望的位置: ```bash docker run -it --rm --workdir=/root ubuntu:14.04 /bin/bash -c "/bin/echo 'Hello world'" ``` 这条指令会创建一个新的临时容器实例,进入名为 `/root` 的目录作为初始工作区,随后立即输出字符串 `'Hello world'` 后退出[^1]。 需要注意的是,默认情况下,如果没有显式地声明工作目录,那么大多数官方的基础镜像都会将 `/` 设定为起始点。因此,如果不关心具体的路径而只是单纯希望展示消息的话,下面这种方式也是完全可以接受的: ```bash docker run ubuntu:14.04 /bin/echo 'Hello world' ``` 这将会直接在控制台打印出 `"hello world"` 而不会改变当前的工作目录设置[^2]。 另外,若要使容器以后台守护进程的形式持续不断地发送问候语句至标准输出流,可参照如下做法: ```bash docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done" ``` 这样做的效果是在后台启动了一个不断循环打印 “hello world” 的服务型应用[^3]。 最后,考虑到构建自定义镜像的需求,可以通过编写 `Dockerfile` 来预先配置好所有必要的环境变量以及安装包等内容。例如,给定一段简单的 C++ 程序编译需求,对应的 `Dockerfile` 可能看起来像是这样的结构[^4]: ```Dockerfile FROM gcc:latest RUN mkdir -p /home/user/docker/HelloDocker COPY HelloDocker /home/user/docker/HelloDocker WORKDIR /home/user/docker/HelloDocker #RUN g++ HelloDocker.cpp -o HelloDocker CMD ["./HelloDocker"] ``` 这段脚本描述了一种方法论上的指导方针——先继承最新的 GCC 编译工具链版本,接着准备项目所需的存储空间,复制源码进去之后调整当前位置到最后一步所处的地方,最终给出程序入口点以便后续调用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值