Linux的一些简单知识

原创 2018年04月16日 20:35:57
【1】移植的目的 -> 匹配
  硬件的改变软件也要做相应的改变
 
 
【2】系统移植基本内容 
 windows装机:
                BIOS:(1)初始化硬件设备
                      (2)引导加载系统内核
                从BIOS选择启动盘
 linux系统移植:
  BootLoader:(1)初始化硬件设备
                           (2)引导加载系统内核
                linux:1.BootLoader(uboot-2013)
                                       EMMC(0110)
                                       SD  (1000)
                                       sdfuse  flashall
        ls -l:以列表形式显示当前目录所有内容
        -rwxrwxr-x 1 linux linux      7159 Apr 10 08:31 a.out
        drwxrwxr-x  4 linux linux     4096 Apr 10 09:23 toolchain
                     
         -:表示普通文件
         d:表示目录
              r:可读
              w:可写
              x:可执行
              第一组:当前用户对文件的权限
              第二组:文件所属用户组中其他用户对文件的权限
              第三组:其他用户对文件的权限
              chmod 777 + file 修改文件权限
              共享文件夹:在Linux的    /mnt/hgfs目录下寻找
  
【3】交叉编译工具链的安装
               使用新的编译工具,将代码编译成ARM架构处理器能够支持的机器码,使其能够在开发板上运行(跨内核编译)

【4】主机与开发板进行文件传输 -> tftp服务:简单文本传输协议(基于udp)
 
          tftp服务配置:
                 1.修改tftp配置文件
                    sudo vi /etc/default/tftpd-hpa
                    TFTP_USERNAME="tftp"            # 用户名  
                    TFTP_DIRECTORY="/tftpboot"      # 服务器端下载文件的目录
                    TFTP_ADDRESS="0.0.0.0:69"       # 端口号  tftp在ubuntu下固定为69
                    TFTP_OPTIONS="-c -s -l"         # 设置服务器端最大的权限
                 2.创建服务端文件夹并设置为最高的权限
                                sudo mkdir /tftpboot
                               sudo chmod 777 /tftpboot
                  3.重启tftp服务
                          sudo service tftpd-hpa restart  # 重启TFTP服务
                            注:每次开启虚拟机后都需要重启tftp服务
【5】NFS服务  网络文件系统
              -> NFS服务的主要的任务是把本地的一个目录通过网络导出,其他计算机可以远程访问该目录
           NFS服务配置:
                 1.修改配置文件
                    sudo vi /etc/exports
                    在文件最后添加如下内容
                     /source/rootfs  *(rw,sync,no_subtree_check,no_root_squash)
   
                     注1:/source/rootfs  要共享的目录
                     注2:* 可以共享该目录
                     注3:(rw,sync,no_subtree_check,no_root_squash)  访问该目录的主机拥有的权限
                                    # rw                具有读写权限
                                    # sync              文件同步写入到内存和硬盘
                                    # no_subtree_check  不检查子目录权限  子目录与顶层目录具有相同的权限
                                    # no_root_squash    如果客户端是root的话,那么他对这个共享目录具有root的权限
    
               2.创建共享目录
                      sudo mkdir -p /source/rootfs
                      sudo chmod 777 /source
               3.重启nfs服务
                      sudo service nfs-kernel-server restart
                      注:每次开启虚拟机都需要重启nfs服务
   
【6】1、linux内核
                 1、内核与操作系统
                 2、内核:系统软件,用于管理和分配软硬件资源
                 3、操作系统:在内核的基础上,添加了各种工具集、库、桌面管理器、应用程序等
  
         2、linux特点
                1)支持广泛的硬件平台
                2)稳定性高
                3)扩展性好(使用各种场合)
                4)模块化设计(高内聚、低耦合) 

【7】设备树 
               设备树:一种描述开发板硬件设备的数据结构,有一系列的节点和属性组成,根据实际硬件信息对其作对应的修改
         在linux中驱动与设备无关,设备树就是来描述硬件信息的,这样可以是驱动与设备建立关系

【8】根文件系统
           1.概念 
                根文件系统:系统运行所必须依赖的一些文件(比如脚本、库、配置文件...),本质就是目录和文件。
                根文件系统镜像:将根文件系统按照某种格式进行打包压缩后生成的单个文件
                文件系统:一种管理和访问磁盘的软件机制,不同文件系统管理和访问磁盘的机制不同
     
   
           拖进文件步骤:1.将文件复制到E盘/share
                                   2.cd /mnt/hgfs/share
            查看:1.cd /tftpboot/
                      2.sudo cp 该文件 /tftpboot/
                      3.ls
                     4.cd    
       
             拷贝:1.sudo cp 该文件 /需要拷贝的文件名                 串口名字:ttySACZ
                       2.cd /需要拷贝的文件名                             1000---SD卡启动
             解压:  sudo tar xvf 该文件                                0110---EMMC启动
                                                                            A9板内存:EMMC
             搭建嵌入式开发环境:1.烧写BooLosder
                                                    作用:(1)初始化硬件设备
                                                              (2)引导加载系统内核
                                                    流程:1.制作SD卡启动盘
                                                              2.在SD卡中新建目录sdupdate,将uboot放入SD卡
                                                              3.执行烧写命令:sdfuse flashall
                                                                  uboot-2013
                                               2.挂载内核、设备树(TFTP服务器)(网络传输-网络通信协议)
                                                     setenv bootcmd tftp 41000000uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm                                                   41000000-42000000
                                               3.挂载根文件系统(NFS服务器)
                                                     setenv bootargs root=/dev/nfs nfsroot=192.168.6.249:/source/rootfs                                                                             rwconsole=ttySAC2,115200 init=/linuxrc ip=192.168.6.2
                   设备树:uImage
                      后缀: .dtb
               重启命令:sudo reboot
     交叉编译工具链:arm-none-linux-gnueabi-gcc
                     修改:etenv
                     删除:sudo rm -r
          
    注释的三种方法:
                      1.//加在行首,表示注释掉这一行的内容
                      2./*........*/  注释掉斜杠中的内容
                      3.#if.....#enif

Linux的一些小知识点总结

一:关于R(可读),W(可写),X(可执行)         文件夹也是文档 如果给它X,那么则可以进入到文件夹里面,然后给它R的权限则会读取到文件夹(文档)里面的内容,这里面的内容可以是文件夹或者是...
  • ao_xun
  • ao_xun
  • 2014-02-28 15:18:23
  • 407

简单网络知识1

我们先来说一下osi的七层模型: 比如双方要简单通信,就必须通过internet网 web网络通信: 浏览器向web服务器主机发出请求 服务器主机会响应这样一个请求给用户 那么网络通信,就会...
  • Pxx520Tangtian
  • Pxx520Tangtian
  • 2017-03-09 22:44:20
  • 200

Bootstrap入门需掌握的知识点(一)

转载请务必注明出处:BootstrapBootstrap中文网:http://www.bootcss.com/1.什么是 Bootstrap ?官方介绍:简洁、直观、强悍的前端开发框架,让web开发更...
  • tzs_1041218129
  • tzs_1041218129
  • 2017-01-01 15:36:23
  • 6091

java多态简单例子 one

/* 对象的多态性:动物 x = new 猫(); 函数的多态性:函数重载、重写 1、多态的体现 父类的引用指向了自己的子类对象 父类的引用也可以接收自己的对象...
  • Pansing
  • Pansing
  • 2015-08-01 11:42:45
  • 2799

非常全面的Linux知识点总结

$1 我的Linux需求 Linux博大精深。我只在此讨论一些我对线上Linux机器维护人员的基本需求,比如装机,加硬盘,配网络。只讨论CentOS 6,或者类似的RHEL,当然Ubuntu也可以此...
  • zhouboyu
  • zhouboyu
  • 2016-05-11 03:15:08
  • 2442

软件工程应该学习一些什么知识

我是学软件工程的,由于是在学校,不知道在大学期间应该学一些什么知识才能将来在社会上比较容易混呢?敬请各位大虾指教!! ...
  • justsoso66
  • justsoso66
  • 2007-04-04 16:40:00
  • 530

Linux课件-Linux的入门知识

  • 2009年04月10日 14:39
  • 5.89MB
  • 下载

必须了解的一些IT知识点

有些知识感觉明白却说不明白,博主把它定义为似懂非懂 趁着假期,赶紧扫盲! 硅、半导体、硅谷;局域网、广域网、互联网、域域网、门户网站、防火墙;摩尔定律、安迪比尔定律、反摩尔定律,风险投资、天使投资...
  • proplume
  • proplume
  • 2017-10-06 11:52:25
  • 625

Linux基本命令

  • 2014年09月03日 14:15
  • 406KB
  • 下载

【Linux基础】管用的小冷门命令

前言 有些命令我们可能不经常使用,甚至都没听说过,但在某些时候还是很有用的,下面我列举了一些我从网上爬来的几个命令,希望看了对你有所帮助,同时也希望你在底下评论区告诉我几个特别的命令! 命令 功...
  • baiye_xing
  • baiye_xing
  • 2017-07-04 08:23:58
  • 195
收藏助手
不良信息举报
您举报文章:Linux的一些简单知识
举报原因:
原因补充:

(最多只允许输入30个字)