前言 根文件系统是Linux内核启动之后挂载的第一个文件系统,上篇文章里已经介绍过,如何使用busybox来制作根文件系统。...根文件系统支持从网络挂载和本地挂载两种方式: (1)如果是采用网络挂载就将路径设置为/dev/nfs,NFS是Linux下常用的网络文件系统,这种方式挂载一般是在系统开发阶段,方便修改调试代码,也就是将根文件系统放在...work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0...nfs nfsroot=: ip=:::255.255.255.0::eth0:off init=/linuxrc console=ttySAC0...lcd=S702 TINY4412 # save TINY4412 # reset 重启之后开发板正常就会进入到Linux命令行:
最近在了解嵌入式方面的知识,就随笔记录一下: 查看Linux本机串口: 1、查看串口是否可用 可以对串口发送数据比如对com1口,echo /dev/ttyS0 2、查看串口名称使用 ls...proc/devices 如果有ttyS设备,再看/dev/有没有ttyS*,如没有就建立一个:mknod /dev/ttyS0 c 4 64 如果板子的设备中没有标准串口设备ttyS0,也没有ttySAC0...PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC; 串口使用: 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0
有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。...这篇文章就介绍如何使用BusyBox制作一个最小根文件系统,让Linux系统能够正常跑起来,能进入Linux命令行终端。...work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0...nfs nfsroot=: ip=:::255.255.255.0::eth0:off init=/linuxrc console=ttySAC0...work/rootfs ip=192.168.10.123:192.168.10.11:192.168.10.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
编译: arm-linux-gcc -o serial_test serail_test.c -static b. 在开发板上运行: ..../serial_test /dev/ttySAC1 比如在jz2440的2.6.22.6内核上: ./serial_test /dev/s3c2410_serial1 c....比如jz2440用的linux 3.4.2内核,它的/dev/ttySAC2无法使用。
开发板:jz2440 主机linux:ubuntu 9.10(资料光盘那个) 内核:linux2.6.22.6 交叉编译器:arm-linux-gcc 3.4.5(也可以用毕业班4.3.2那个编译器...mkdir etc $cd etc $touch inittab $sudo chmod 777 inittab $vi inittab,内容为: ::sysinit:/etc/init.d/rcS ttySAC0...cd /work/busybox-1.21.0/rootfs/dev $ sudo mknod console c 5 1 $ sudo mknod null c 1 3 $ sudo mknod ttySAC0...2.6.22.6到ubuntu,解压打补丁编译: $ tar xjf linux-2.6.22.6.tar.bz2 $ cd linux-2.6.22.6 $ patch -p1 < .....1.21.0/rootfs ip=192.168.1.100:192.168.1.199:192.168.1.255:255.255.255.0::eth0 init=/linuxrc console=ttySAC0,115200
先前分析了 Linux 入口地址和 Linux 系统启动流程,本文详细分析一下 Linux 启动流程中的 console_init 终端初始化函数。...上两篇文章如下: Linux 内核入口分析 手把手教你分析 Linux 启动流程 讲解终端初始化之前我们先讲解一个概念:tty 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty...Linux 把每个串行端口都看作是一个字符设备。...这些串行端口所对应的设备名称是 /dev/ttySAC0;/dev/ttySAC1…… 控制台终端(/dev/console) 在Linux系统中,计算机的输出设备通常被称为控制台终端(Console).../dev/console是一个虚拟的设备,它需要映射到真正的tty(物理终端)上,比如通过内核启动参数” console=ttySAC0”就把console映射到了串口0。
推广: 想了解更多嵌入式知识请移步到 100ask.taobao.com 17.1 Linux文件系统概述 17.1.1 Linux文件系统的特点 类似于Windows下的C、D、E等各个盘,Linux...Linux根文件系统中一般有如图17.1所示的几个目录。 图17.1 Linux根文件系统结构 下面依次讲述这几个目录的作用。 1. ...设备文件是Linux中特有的文件类型,在Linux系统下,以文件的方式访问各种外设,即通过读写某个设备文件操作某个具体硬件。...在PC上执行命令“ls /dev/ttySAC0 /dev/hda1 -l”可以看到如下结果。...在制作根文件系统的时候,就在/dev目录下创建好要使用的设备文件,比如ttySAC0等。系统挂接根文件系统后,就可以使用/dev目录下的设备文件了。
python提供了pySerial,Linux和windows下有相应的模块 linux版本: pyserial (http://pyserial.wiki.sourceforge.net/pySerial...也可以实用绝对路径:ser.port = '/dev/ttySAc2' timeout说明(None和 0不同): timeout = None: 长时间等待 timeout = 0: 不阻塞形式 (...hvol result += hhex+' ' print 'hexShow:',result ser.baudrate = 57600 ser.port = '/dev/ttySAC2
fs_mini_mdev.yaffs2 nand erase.part rootfs nand write.yaffs 30000000 260000 889bc0 启动文件系统 set bootargs console=ttySAC0,115200...fs_mini_mdev.jffs2 nand erase.part rootfs nand write.jffs2 30000000 260000 $filesize set bootargs console=ttySAC0,115200...安装glibc库 输入$PATH找到交叉编译位于/work/tools/arm-linux-gcc-4.3.2/usr/local/arm/4.3.2位置, 通过find -name lib,...fs_mini_mdev_new.jffs2 nand erase.part rootfs nand write.jffs2 30000000 260000 $filesize set bootargs console=ttySAC0,115200...配置EABI 进入si,搜索exitcode,找到0x00000004对应的宏定义是SIGILL,表示非法指令,是因为arm-linux-gcc-4.3.2是使用的EABI接口,内核由于未配置,所以出现非法
.... } do_bootm()函数若执行无误,最终会执行do_bootm_linux()函数 1.3 bootm命令之do_bootm_linux函数分析 进入do_bootm_linux()...setup_commandline_tag的形参 //在本uboot界面中输入print指令就能得到"bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0...mtdblock3), mtdblock0=bootloader,mtd1=参数,mtd2=内核 //init=/linuxrc:指定内核启动后运行的第一个脚本是当前目录下linuxrc脚本 //console=ttySAC0...:指定选择串口0(ttySAC0)来打印信息、 ... ... /*2.设置tag 参数*/ setup_start_tag (bd); //在0X30000100地址保存start_tag...; //存放命令行参数:params->u.cmdline.cmdline=boottargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
.ppm 注意:转换后的文件名有规定,必须是logo_linux_clut224.ppm 3.生成的logo_linux_clut224.ppm就是我们需要的logo文件,把它拷贝到内核目录...覆盖原来的logo文件 $ cd /work/system/linux-2.6.22.6/drivers/video/logo/ $ cp /work/logo_linux_clut224.ppm ....//笔者制作的logo文件在/work/目录 查看logo目录是否存在logo_linux_clut224.o的文件,如果有一定要删除!...$ rm logo_linux_clut224.o 配置内核支持logo显示(如果内核用的是linux-2.6.22.6_jz2440.patch补丁,默认已经支持logo显示) $ make menuconfig...1.21.0/rootfs ip=192.168.1.100:192.168.1.199:192.168.1.255:255.255.255.0::eth0 init=/linuxrc console=ttySAC0,115200
例如xshell、telnet、shell控制台 (4)控制台终端(/dev/ttyn, /dev/console) /dev/ttyn 在Linux 系统中,计算机显示器通常被称为控制台终端 (Console...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。...这里特指printk函数,例如通过内核启动“console=ttySAC0”就把console映射到串口0中。...printk --> console --> ttySAC0 (5)虚拟终端(/dev/pts/n) 在Xwindows模式下的伪终端.
first_fs ip=202.193.61.196:202.193.61.195:202.193.61.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0...= arm-linux- (4)执行make命令编译。 报错: ?...=arm-linux-,之后保存退出。 ...在first_fs下使用vi etc/fstab打开文件(参考linux应用开发手册370页!!!认真看!!!...first_fs ip=202.193.61.196:202.193.61.195:202.193.61.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
Hit any key to stop autoboot: 0 Booting Linux ......Image Name: Linux-3.4.2 Created: 2014-09-19 15:10:15 UTC Image Type: ARM Linux Kernel...② #define CONFIG_BOOTARGS "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0" 改为...#define CONFIG_BOOTARGS "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC1" 大家都知道这个参数是传递给内核的...=0 改为 CONFIG_DEBUG_S3C_UART=1 这是告诉Linux系统,要把调试信息输出到串口2上面。
主机linux:Fedora9 安装在VMware虚拟机上; 开发板 :友善的tiny210,256M的FLASH; 移植linux:LINUX-3.3.5; 交叉编译环境:arm-linux-gcc...2.下载linux源代码 咱们去linux官网上下载吧,这个是连接:https://www.kernel.org/ 在这里下载linux-3.3.5。...首先,修改linux下的Makfile文件,进入解压后的linux-3.3.5,通过vi Makefile 命令打开修改文件。在文件的195行和196行处修改,没修改以前的代码为: ARCH ?...修改后的效果图为: 接下来的工作是继续退到刚进入的界面,选择Boot options——–>选项,进入后的效果图为: 同样看到图中高亮的部分了吧,用Enter键选择它,把里面的console=ttySAC1...改为console=ttySAC0,其他的不变,由于也看不到效果,就不贴图了,这样就完成了内核的基本配置,很简单吧,当然这只是一个内核的雏形,其他的都没配置,所以简单了。
tty/proc/devices 如果有ttyS设备,再看/dev/有没有ttyS*,如没有就建立一个:mknod /dev/ttyS0 c 4 64 如果板子的设备中没有标准串口设备ttyS0,也没有ttySAC0...PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC; 串口权限问题 临时调试解决 在使用串口进行通信时,经常需要使用指令来赋予用户读写的权限 $ sudo chmod 777 /dev...查看linux所有用户 使用 /etc/passwd 文件 使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。.../etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。...你可以使用 awk 或 cut 命令仅打印出 Linux 系统中所有用户的用户名列表。显示的结果是相同的。
> Busybox Library Tuning选上: [*] Tab completion //tab补齐命令 然后输入vi Makefile,找到CROSS_COMPILE字段,后面添加”arm-linux...cd /work/nfs_root/busybox1.7_fs mkdir lib //创建lib目录 (存放库函数) cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux...设置启动参数: set bootargs noinitrd root=/dev/mtdblock3 rootfstype=yaffs2 init=/linuxrc console=ttySAC0 save...和yffs原理一样 设置启动参数: set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0...busybox1.7_fs ip=192.168.1.198:192.168.1.199:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧写内容 : BootLoader, Linux Kernel, File System...代码, 其中固化的boot代码可有可无, BootLoader是烧写上去的; -- Linux内核 : 嵌入式开发板定制的内核 和 其启动参数; -- 文件系统 : 即Linux中的文件系统; -- 应用程序..., Ubuntu 要禁用联网, 否则系统会尝试修改PC的ip地址; atxb # pri bootargs=root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200...: ttySAC0 代表 PC 机通过串口登录到开发板上, 串口通信的波特率是 115200 ; -- init=/linuxrc : Linux Kernel 启动完成之后, 立即运行文件系统中的...bytes) Console: colour dummy device 80x30 s3c24xx_serial_init_ports: initialising ports=4... console [ttySAC0
Re-scan Nor Flash [u] Copy bootloader from nand to nor [v] Copy bootloader from nor to nand [k] Download Linux...image [y] Download root_yaffs image [d] Download to SDRAM & Run [z] Download zImage into RAM [g] Boot linux...fs_mini.yaffs2 的大小 使用 jffs2 文件系统启动时记得修改 bootargs 添加 rootfstype=jffs2 Yaffs2: setenv bootargs console=ttySAC0,115200...root=/dev/mtdblock3 Jffs2: setenv bootargs console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2...book/nfs_rootfs ip=192.168.0.17:192.168.0.20:10.0.0.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
领取专属 10元无门槛券
手把手带您无忧上云