简单点说,Shared subtrees就是一种控制子挂载点能否在其他地方被看到的技术,它只会在bind mount和mount namespace中用到,属于不怎么常用的功能。本篇将以bind mount为例对Shared subtrees做一个简单介绍,
平台:Ubuntu32位虚拟机 目标平台:海思Hi3559V100 工欲善其事必先利其器,在进行嵌入式linux开发的时候需要搭建一个能够调试的环境,在电脑上无疑是最好最方便的了。至于虚拟机怎么搭建就不多说了,这里我用的32位的Ubuntu16.04主要是方便编译之前文章中自己写的OS 首先安装aarch64-linux-gnu工具链
如何学习嵌入式Linux: https://blog.csdn.net/thisway_diy/article/details/106101091
firefly自带的文件系统,由于缺少一些基本功能模块,因此,我们可以自己手动制作一个ubuntu20.04的文件系统。
Linux显示所有的目录都在一个目录树下,而与它们位于哪一个驱动器或硬件无关。 在Linux下的磁盘内容作为子目录形式出现的,可移动介质的内容不会自动出现在这些子目录中,因此需要我们通过挂载驱动器来实现。 例如:用mount命令来挂载cdrom 命令: mount -t auto /dev/cdrom /mnt/cdrom 这命令就是把cdrom挂载在/mnt/cdrom目录中,这里我就可以访问里面的内容了。 挂载命令:
book@100ask:~$ qemu-riscv64-static -version
为了给客户的测试和开发提供便利,飞凌嵌入式的开发板产品一般都支持多种操作系统,以基于全志T507H处理器设计研发的OKT507-C开发板为例,它支持三种操作系统,分别是:Linux、Android 和 Forlinx Desktop(Ubuntu),这里提到的Forlinx Desktop系统是飞凌嵌入式在Ubuntu base的基础上构建的桌面操作系统,完全兼容Ubuntu18.04,相对传统的Linux系统而言易用性更高。
本文主要记录ubuntu 18.04 rootfs制作过程。参考文档:http://opensource.rock-chips.com/wiki_Distribution
构建Linux内核调试步骤 📷 系统版本 当前宿主机内核版本 // 目前的环境是ubuntu[root@ubuntu ~]$ uname -a Linux ubuntu 5.15.0-41-generic #44-Ubuntu SMP Wed Jun 22 14:20:53 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 调试的内核版本 linux-4.19.25 安装系统组件 qemu-kvm [root@ubuntu ~]$ sudo apt install libvi
http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.1/release/
对于大部分文件系统来说,在磁盘上创建好文件系统,然后再挂载到系统中去就完事了。但对于 Btrfs 来说,除了在格式化和挂载的时候指定不同的参数外,还支持很多其他的功能。比如:管理多块硬盘、支持 LVM 和 RAID 等,具体的可以参考它的「官方文档」或者「Linux 下常见文件系统对比」。
摘要:能不能在ARM板上运行Ubuntu呢?答案肯定是可以的,Ubuntu是Linux系统的一种,可以简单的将Ubuntu理解为一个根文件系统,和我们用busybox、buildroot制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上。
操作参考:https://help.ubuntu.com/community/NFSv4Howto
要使用 Docker,就不可避免地要和 Docker 镜像打交道。本文将会讲述 Docker 镜像的基石: Overlay 文件系统。首先我会简单介绍一下这个文件系统,接下来会看看如何把这个技术用在 Docker 镜像上,以及 Docker 是怎样从 Dockerfile 构建出 Docker 镜像的。最后还会介绍分层缓存以及 OCI 格式的容器镜像。
安装之前,需要在bios开启Virtualization Technology (VTx) 选项, 其目的是:可以安装64位linux操作系统,并且可以开启虚拟机多CPU配置。
相信很多人和我一样,主要用着Linux,但是玩游戏娱乐啥的或者一些图形化界面软件必须要用到Windows系统,这个时候就不得不装双系统了。
最近在VMware虚拟机里面安装了Ubuntu10.10,安装配置Eclipse + Android SDK,无奈修改系统配置参数后启动不了,只好通过iso安装文件启动进入原来的系统进行修复,把这个过程记录下来,以备后用。
今天休息可以继续配置我的Ubuntu Server 10.4,今天要解决的就是文件目录访问和共享问题。
如果误操作了/boot目录下kernel文件,会导致无法进入系统,此时,必须要借助第三方系统来进行kernel的修复。 以下以 Ubuntu 16.04系统为例,介绍修复的方法。以下操作都需要root
容器为什么需要进行文件系统隔离呢? 被其他容器篡改文件,导致安全问题 文件的并发写入造成的不一致问题 Linux容器通过Namespace、Cgroups,进程就真的被“装”在了一个与世隔绝的房间里
本系列文章主旨在于使用docker来搭建实际可用的基础服务,具体到每一步的操作和设置。
咋们可以先从systemd这个进程入手分析这个问题: 根据文档《systemd (简体中文)》文档,我们可知如下图信息: 作用:
容器为什么需要进行文件系统隔离呢? 被其他容器篡改文件,导致安全问题 文件的并发写入造成的不一致问题 Linux容器通过Namespace、Cgroups,进程就真的被“装”在了一个与世隔绝的房间里,
打开烧写工具,把内核替换为我们提供的unbutu内核,具体unbutu内核配置请参见hi3559a_ubunut_02-defconfig,文件系统改为sdk提供的rootfs_hi3559av100_96M.ext4。
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。本文的两个linux环境分别为CentOS和Ubuntu,其他版本类似。将Ubuntu下的/home/dhcc/nfs挂载到CentOS下/home/shao/nfs。 Ubuntu: 1.安装配置NFS服务器 sudo apt-get install nfs-kernel-server nfs-common 2.配置参数 vim /etc/exports 文件最后加入一行,注意不要加到注释 /home/dhcc/nfs *(rw,sync,no_root_squash) #该目录为nfs服务根目录,*表示允许所有的网段访问,也可以使用具体的IP,参数详解在最后 3.建立nfs目录(如果配置了已存在的目标可跳过此步) sudo mkdir /home/dhcc/nfs 4.查看配置是否生效 exportfs -r #更新配置 showmount -e 如果生效会显示 Export list for Ubuntu: home/dhcc/nfs 5.重启nfs服务 /etc/init.d/nfs-kernel-server restart CentOS: 1.创建挂载目录(如果已存在请跳过) mkdir /data 2.安装nfs-utils yum install nfs-utils mount -t nfs cpnas01.cloud.cnpc:/fs_nfs016 /data vi /etc/fstab cpnas01.cloud.cnpc:/fs_nfs016 /data nfs rw,tcp,intr 0 0 vim /etc/rc.d/rc.local sudo mount -t nfs cpnas01.cloud.cnpc:/fs_nfs016 /data 2.mount直接挂载 mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs #Ubuntu的ip为10.18.105.116 3.开机自动挂载 vim /etc/rc.local 添加一行 sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs 如果出现mount.nfs:access denied by server while mounting问题,可通过以下几种途径尝试解决: 1.修改需挂载的nfs目录权限 chmod 755 /home/dhcc/nfs 2.如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports): vim /etc/exports 文件最后加入一行 /home/dhcc/nfs *(insecure,rw,sync,no_root_squash) 3.修改/etc/sysconfig/nfs文件 # Turn off v2 and v3 protocol support # RPCNFSDARGS="-N 2 -N 3" # Turn off v4 protocol support #RPCNFSDARGS="-N 4" /*把这句话的#号去掉*/ NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。 附录:NFS常用参数如下: ro 只读访问 rw 读写访问sync 所有数据在请求时写入共享 async nfs在写入数据前可以响应请求 secure nfs通过1024以下的安全TCP/IP端口发送 insecure nfs通过1024以上的端口发送 wdelay 如果多个用户要写入nfs目录,则归组写入(默认) no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。 hide 在nfs共享目录中不共享其子目录 no_hide 共享nfs目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) no_subtree_check 和上面相对,不检查父目录权限 all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 no_all_squash 保留共享文件的UID和GID(默认) root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
不知什么原因,在Ubuntu下却不能打开Windows的磁盘,之前还用的完好。 报错如下:
Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发,目前比较常见的有Buildroot, Yocto, OpenEmbedded等等。
这么一搞,进程就真的被“装”在了一个与世隔绝的房间里,而这些房间就是PaaS项目赖以生存的应用“沙盒”。
AUFS是一种Union File System,所谓UnionFS就是把不同物理位置的目录合并mount到同一个目录中。UnionFS的一个最主要的应用是,把一张CD/DVD和一个硬盘目录给联合 mount在一起,然后,你就可以对这个只读的CD/DVD上的文件进行修改(当然,修改的文件存于硬盘上的目录里)。
在前两次的分享中,我讲解了 Linux 容器最基础的两种技术:Namespace 和 Cgroups。希望此时,你已经彻底理解了“容器的本质是一种特殊的进程”这个最重要
在Linux下访问Windows共享文件夹,以下操作以Ubuntu为例,大家可以参考。我在Ubuntu 14.04和16.04都试过了。
用df -h命令查看磁盘使用情况的时候发现,系统根目录空间已经比较小了,于是我就使用clean命令对系统内核进行清理,一不小心,就把所有的内核删除了,你很有可能也是我的这种经历,非常的崩溃.好了,我就不再废话了,让我们来看一下究竟如何修复. 修复方法 使用u盘做一个ubuntu(你当前的系统发行版本)启动盘 参照:https://www.linuxidc.com/Linux/2016-04/130520.htm 意思就是使用制作工具,用u盘做一个系统,经常折腾系统的肯定知道怎么做,可以使用文章中的软
Ubuntu的一个具体问题是在Linux内核中的overlayfs文件系统,它没有正确地验证文件系统功能在用户名称空间方面的应用,由于Ubuntu中的一个补丁允许非特权的overlayfs挂载,本地攻击者可以利用它来获得更高的权限。
今天到某银行进行软件部署的时候,碰到所有电脑都不允许联网的要求,我们的服务器带过去还不能用我们自己的硬盘,必须使用它们银行内部提供的硬盘,这就意味着我需要重新安装服务器系统,需要重新部署我们的软件环境,这些都小意思(no problem),但是最大的问题是我不能联网,不能联网,不能联网.这就意味着我所有需要在线安装的软件都必须在本地完成. 于似乎我有想到了centos利用光盘做yum仓库,想到了方法就开始实施
AUFS 是一种 Union File System,Union File System 就是把不同物理位置的目录合并 mount 到同一个目录中。比如可以把一张 CD/DVD 和一个硬盘目录给联合 mount 在一起,然后就可以对只读的 CD/DVD 上的文件进行修改,当然修改的文件是存于硬盘上的目录里。
[root@localhost ~]# /etc/modprobe.d $ cat blacklist.conf
前几章节的回顾: docker-01 docker-02 docker-03 docker-04 今天我们介绍关于docker容器的命令,没错就是container 一.docker容器命令 要跑通容器首先我们需要有基础镜像 所以我们先拉取一个Ubuntu系统 服务器系统为centos,所以我这里拉取Ubuntu系统 指令: docker pull ubuntu 结果: Using default tag: latest latest: Pulling from library/ubuntu 08
注意:其中Artful 17.10只支持Docker CE17.11 Edge以及以后版本,因为Artful本身也是在2017年10月发行的过渡版本
白天倒腾权限系统的,结果不知道怎么就把主用户的sudo权限给弄没了,结果是各种用不了root权限。sudoers文件打不开,usermod命令也用不了,sudo -i就不提了,而且ubuntu是无法直接以root身份登陆的,简直无解。没办法,只有倒腾起了之前不敢动的recovery模式。
有些同学使用 Windows 或者 macOS 系统,但需要开发 Linux 程序,此时一般来说有如下几种选择:
终于自动挂载文件系统成功了!!!出错的地方两个!!! 第一,恢复出厂设置一定要用eop下载uboot,dnw下载的不行!!!最后记得erase nand params!! 第二,set bootargs noinitrd root=/dev/nfs nfsroot=202.193.61.195:/work/nfs_root/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 参数解读: nfsroot=202.193.61.195: ubuntu ip地址 /work/nfs_root/first_fs要挂载的目录 ip=202.193.61.196: 单板ip(恢复出厂设置后记得先配置ip,手动挂载下能不能成功,可以成功的话再修改bootargs自动挂载!) 202.193.61.195: 依然是ubuntu ip !!!!!注意!!! 202.193.61.1: 网关,只要处于同一网段就好。 255.255.255.0:: 子网掩码 eth0: 网卡,一般都是0 off 是否自动配置 off就可以
版权声明:Copyright © https://blog.csdn.net/zzw19951261/article/details/80252731
在Docker中Privileged是一种特殊的权限模式,它允许Docker容器在启动时获取到与宿主机相同的权限级别。具体来说,Privileged权限可以让容器拥有以下能力:
文件 >> 新建虚拟机 >> 自定义(高级) >> 硬件兼容性 [Workstation 16.2.x] >> 稍后安装操作系统 >> Linux [Ubuntu 64 位] >> 设置虚拟机名称和位置 >> 配置处理器 >> 配置虚拟机内存 >> 使用桥接网络 >> LSI Logic >> SCSI >> 创建新虚拟磁盘 >> 配置磁盘容量,选择将虚拟磁盘拆分成多个文件 >> 配置磁盘文件 >> 完成。
安装基于Ubuntu14.04 Desktop的Raid1。由于采用UEFI/GPT方式作为系统启动方式,在安装过程中出现了很多异常情况。本文记录安装的过程。
针对上述的缺点,有些数据,例如数据库文件,我们不应该将其保存在镜像或者容器的可写层中。Docker 提供三种不同的方式将数据从 Docker 主机挂载到容器中,分别为卷( volumes),绑定挂载( bind mounts),临时文件系统( tmpfs)。很多时候, volumes 总是正确的选择。
环境:ubuntu16.04 开发板:s3c2440 挂载根文件系统时,报错mount:RPC:Unable to send;errno=Network is unreachable。 本机ip:192.168.2.100 开发板ip:192.168.2.101 虚拟机ip:192.168.2.105 三者可以ping通
在第一期视频 : 第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv ,因为要测试驱动,所以必须要把驱动程序弄到开发板里才行。 于是韦老师介绍了两种方式:
领取专属 10元无门槛券
手把手带您无忧上云