移植Linux操作系统时候遇到的问题

 1.Kernel panic - not syncing: Attempted to kill init!

  上网搜索了一些相关信息,找到了解决问题的途径。 原因在于:编译内核和busybox使用的编译器是arm-linux-gcc 4.3.2,而这个编译器默认是打开“EABI选项”的,这样编译出来的busybox就是EABI的。但是内核编译的时候,默认是把“EABI选项”关掉的。所以busybox和内核无法正常配合。把“EABI选项”打开,重新编译内核后,一切正常。

  Kernel Features  --->

  [*] Use the ARM EABI to compile the kernel

  [*]   Allow old ABI binaries to run with this kernel (EXPERIMENTAL) (NEW)

  ---------------------------------------------------------------------------------

  2.启动时提示:cannot run '/etc/init.d/rcS': Permission denied

  RAMDISK: gzip image found at block 0

  VFS: Mounted root (ext2 filesystem) on device 1:0.

  Freeing init memory: 120K

  cannot run '/etc/init.d/rcS': Permission denied

  (none) login:

  ---rcS需要有执行权限,chmod 777 rcS后就好了。

  ------------------------------------------------------------------------

  3.启动时提示输入登录用户及密码:(none) login:

  RAMDISK: gzip image found at block 0

  VFS: Mounted root (ext2 filesystem) on device 1:0.

  Freeing init memory: 120K

  (none) login:

  -----要求登录认证,我把inittab里的::respawn:-/bin/sh去掉之后就没有了

  --------------------------------------------------------------------------------

  4.提法不能运行文件,是因为shell脚本有非法字符(肉眼看不到,其实不是空格)

  RAMDISK: gzip image found at block 0

  VFS: Mounted root (ext2 filesystem) on device 1:0.

  Freeing init memory: 120K

  cannot run '/etc/init.d/rcS': No such file or directory

  --------rcS是shell脚本文件,我是从网上拷的,所以在行尾可能有多余的非法字符,手动输入后,就开始执行rcS文件的内容了。

  --------------------------------------------------------------------

  5.进不了shell,呈死机状态

  ::askfirst:/bin/sh

  我在inittab里加上这一句就好了。

 6.有两个文件找不到:

  mount: mounting tmpfs on /dev/shm failed: No such file or directory

  mount: mounting devpts on /dev/pts failed: No such file or directory

  我们之前建立文件系统的目录结构的时候没有建立这两个目录,重新建一下就好了。

  ---------------------------------------------------------------------------

  7.出现提示:/bin/sh: can't access tty; job control turned off

  Please press Enter to activate this console.

  /bin/sh: can't access tty; job control turned off

  其实只要有这个-表示该shell是login shell就行了。busybox inittab的id字段是用来标识tty的,如果没有明确指明就是tty1即console。

  把::askfirst:/bin/sh改为:::askfirst:-/bin/sh

  可以看看busybox的examples目录下的例子就明白了。

  ----------------------------------------------------------------

  8.通过启启信息发现,profile文件没有执行

  ::askfirst:/bin/sh加了“-”之后,没有执行profile文件的问题也解决了。

  -----------------------------------------------------------------

  9.在busybox里设置setenv时,分号“;"输入之后,后面的内容就设置不到环境变量里。

  解决方法是:在分号前加反斜杠"\"!

  算是一个有用的小技巧吧   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-10-25 21:43:14

移植Linux操作系统时候遇到的问题的相关文章

中标普华Linux操作系统成功解决方案

陕西建行用中标普华Linux操作系统替代在前台业务和前置服务器上的Unix操作系统,为在我国金融领域广泛使用Linux操作系统及其他国产Linux操作系统解决方案进行了成功示范. 中国建设银行陕西省分行坐落在西部重镇西安市,担负着全省建设银行信息科技建设.综合管理与服务的重任.全省各网点计算机基本以使用SCO Unix操作系统作为应用http://www.aliyun.com/zixun/aggregation/32593.html">系统运行平台.随着应用的不断扩展,考虑到SCO Uni

《Linux 高级程序设计(第三版)》——第1章  Linux下C语言开发环境 1.1 Linux操作系统简介

第1章 Linux下C语言开发环境 Linux应用程序开发平台有别于Windows应用程序开发平台,因此在介绍具体编程内容之前,本书第1.2章主要介绍Linux操作系统下C语言程序的开发环境和开发工具. 本章主要介绍Linux下C语言开发环境,包括一些基本概念和基本编程环境.本章第1节主要对Linux操作系统及其相关术语进行了简要介绍. 本章第2节主要介绍Linux操作系统下编程基本概念以及如何获得Linux下的帮助文件,包括Linux操作系统下C语言库文件标准以及系统调用的基本概念. 本章第3

Linux操作系统之rpm五种基本操作分享

  Linux操作系统现在已经成为流行的操作系统,很多的人都开始学习,Linux操作系统包括了很多的专业知识,今天和大家讲讲Linux操作系统中的rpm基本操作.希望你学会本文中提到rpm的五种基本操作知识,会对你有所帮助.rpm有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证. 下面我们就来逐一的讲解吧. 一. 安装rpm包 rpm 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名.其中包括软件包的名称(foo),版本号(1.0),发行号(1),

Linux操作系统中运行ASP.NET 4

<在openSUSE下ASP.NET 4开发环境配置>中已经配置好了 openSUSE 11.3 操作系统. 现在,我们进入"GNOME 终端",使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址. ben@linux-nyhn:~> /sbin/ifconfig   eth0      Link encap:Ethernet  HWaddr 08:00:27:51:5B:0B               inet 

Linux操作系统中用PHP构建网站详解

如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新闻界面,它还包括许多功能的控制和后台管理的强劲功能.那么这些功能内的子功能又如何调度分配呢?下面就来介绍一下各功能的调配控制.新闻系统的实现是简单的,但也可以说是非常复杂的. 新闻系统可分为三大部分:管理员登入系统,新闻管理系统,用户浏览系统.整个过程是简单的: 1.管理人员发布新闻-->数据库-->用户浏览新闻 2.发现问题-->登入管理系统-->编辑修改新闻 以上流程看似简单,但实现起来却并不是那么简单,这是个系统

Linux操作系统中的防火墙技术及其应用

概述 在众多的网络防火墙产品中,Linux操作系统上的防火墙软件特点 显著.它们和Linux一样,具有强大的功能,大多是开放软件,不仅可免费使用而 且源代码公开.这些优势是其他防火墙产品不可比拟的.选用这类软件确实是最 低硬件需求的可靠.高效的解决方案.但用户最关心的还是安全系统的性能,有 关部门根据网络安全调查和分析曾得出结论:网络上的安全漏洞和隐患绝大部分 是因网络设置不当引起的.使用Linux平台上的这些优秀软件同样也存在这样的问 题.要使系统安全高效地运行,安装人员和管理人员必须能够理解

linux操作系统中的编码问题

今天又碰到了难缠的python编码问题,首先主要还是linux操作系统中的编码问题. 无论怎么样,我都没办法在linux的vim中利用中文输入法打出中文? vim中的set encoding,set fileencoding, set fileencodings 各种设置了还是无法打出中文,还是出 现乱码? 这时就要考虑linux系统编码的问题,利用locale命令查看一下linux系统的编码.LC_ALL的设置会覆盖所 偶LC_*的设定,直接忽略LANG.如果未设置LC_ALL,则LC_*按照

如何提高Linux操作系统速度

我们以前介绍了通过优化配置桌面环境来提高系统速度的方法,其实在其他 的一些方面,我们一样可以精心配置来提高系统速度. 一.提升硬盘和光驱的数据传输性能 我们可以使用命令"hdparm 参数 设备"(如果是普通用户,需 要在"hdparm"前面加上路径"/sbin/")来查看存储器 当前工作在什么样的传输模式下.例如要查看硬盘的传输模式,其命令如下(符 号#表示以root身份执行,不必输入,下同): #hdparm -v /dev/hda 如果输出

Linux操作系统逻辑盘卷管理LVM详解

摘要:Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间.而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题.随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小. 一.前言 每个Linux使用者在安装Linux时都会遇到这样的困