原文链接我要挂载的硬盘为sda1,首先将硬盘插上。1 查看硬盘使用检测硬盘命令:lsblk图片看到 sda1 存在。...然后使用查看硬盘命令:df -h如果只是插上硬盘而无其他操作,则看不到要挂载的硬盘sda1。...2 挂载格式化硬盘 sda1 :sudo mkfs -t ext4 /dev/sda1创建挂载目录 data:sudo mkdir /data把空间挂在 /data :sudo mount /dev/sda1...修改文件权限的方法参考:Linux修改文件权限立即执行 fstab 的内容:sudo mount -a不报错则挂载成功。.../dev/sda16 临时挂载若只是把硬盘sda1插上,开机时可能会自动挂载硬盘,但是这样硬盘无法使用,需要先解除挂载:sudo umount /dev/sda1重新挂载到data目录:sudo mount
lsblk disk为硬盘 创建空文件夹 mkdir data1 sudo mount /dev/sdb /data1 图片 挂载到data1下了
最近手里刚好有台服务器,需要加硬盘,就出一个教程 用宝塔一键挂载工具,提示www目录已被挂载,不执行任何操作 那就只能手动挂载了,首先查看硬盘名称 sudo fdisk -l 我要挂载的是.../dev/vdb这块硬盘,先创建系统格式 sudo mkfs -t ext4 /dev/vdb 创建挂载节点,你们可以随意我这里就以luoye为例 sudo mkdir /luoye...将硬盘挂载到挂载节点 sudo mount /dev/vdb /luoye 查看挂载结果 sudo df -TH 最后把自动挂载添加到/etc/fstab中,实现开机/重启自动挂载
*/ _start: /* 1、使能GPIO1时钟 */ ldr r1, =0xFFFFFFFF ldr r0, =0X020C406C /* CCGR1 */ str r1, [r0]...str r1, [r0]: 这一行将寄存器 r1 中的值写入到地址为 r0 的内存位置,即将生成的掩码写入到GPIO1的时钟寄存器,从而启用GPIO1时钟。...str r1, [r0]: 这一行将寄存器 r1 中的值写入到地址为 r0 的内存位置,即将MUX_MODE设置为5,从而将GPIO1_IO03引脚的复用功能设置为GPIO1_IO03。.../* 2、设置GPIO1_IO03复用为GPIO1_IO03 */ ldr r0, =0X020E0068 /* 将寄存器SW_MUX_GPIO1_IO03_BASE加载到r0中 */ ldr r1.../* 4、设置GPIO1_IO03为输出 */ ldr r0, =0X0209C004 /*寄存器GPIO1_GDIR */ ldr r1, =0X0000008 str r1
, [r1] ldr r0, [r1] 7....(OK-6410) str r0, [r1] ldr r0, [r1] @str 指令范例 mov r0, #0xff @将 r1 值改为 50000000 (OK-6410) str r0, [r1...mov r0, #1 sub r3, r1, r0 三...., r1 moveq r0, #0xff -- Makefile 脚本 : all:start.o arm-linux-ld -Ttext 0x50008000 -o start.elf $^...: ldr r0, =0xFFF -- 反汇编 elf 代码 : octopus@octopus:~/arm/demo$ arm-linux-objdump -S -D start.elf
用于显示 比如 1的 ASCII值 就是 1+0x30 = 49 ldr r1, =message // 把内存message的地址存入 r1 str r0,[r1] // 把calc...函数计算结果的 ASCII值 存入 message对应的内存里 mov r0, $1 // fd 1 (stdout) ldr r1, =message..., r1 // r0 = r0 +r1 bx lr _calc: push {r4, r5, lr} // 保存寄存器上下文 mov r4, r0 //...r4 = a mov r5, r1 // r5 = b sub r0, r0, r1 // r0 = a - b sub r1, r2, r3...// r1 = c - d bl _add // 调用_add mov r2, r0 // r2 = e mul r0, r2, r4
@ 将 OTHERS 寄存器地址存到 r0 通用寄存器中 ldr r1, [r0] @ 将 r0 寄存器存储的地址指向的寄存器中的值读取到 r1 通用寄存器中 bic r1, r1,...r1, #0x1 str r1, [r0] ldr r0, =0x7e00101c @T_MRD寄存器 mov r1, #0x2 str r1, [r0]...寄存器 地址到 r0 寄存器中 ldr r1, =0x40000 @ 装载 要写入的值 到 r1 寄存器中 str r1, [r0] @ 将 r1 装载到 r0 所指向的内存地址对应的空间中...-Tu-boot.lds -o u-boot.elf $^ arm-linux-objcopy -O binary u-boot.elf u-boot.bin %.o : %.S arm-linux-gcc...-g -c $^ %.o : %.c arm-linux-gcc -g -c $^ .PHONY: clean clean: rm *.o *.elf *.bin ---- 2.
月发布了新一代的通用闪存存储器标准USF2.0,该标准下得闪存读写速度可以高达每秒1400MB,这相当于在两秒钟内读写两个CD光盘的数据,不仅比eMMC有更巨大的优势,而且它甚至能够让电脑上使用的闪存存储介质固态硬盘也相形见绌...uboot在接受到启动命令后,要做的主要是: 【1】读取内核头部, 【2】移动内核到合适的加载地址, 【3】启动内核,执行do_bootm_linux do_bootm_linux主要做的为:.../*关中断*/ mov r1, #0xffffffff ldr r0, =INTMSK str r1, [r0] //...ldr r0, =CLKDIVN mov r1, #3 str r1, [r0] #ifndef CONFIG_SKIP_LOWLEVEL_INIT...add r1, r1, r9 //r1=0x1e0+33F41000= 33F411e0 fixnext: str r1, [r0]
Linux系统往往有添加磁盘不够的情况,这时就需要添加新的硬盘。...一般情况下需要重启服务器,这里我们来使用线刷方式读取Linux新增硬盘 1.添加磁盘后fdisk -l磁盘没有显示 2.查看主机总线号 3.重新扫描scsi总线来添加设备 [root@localhost...class/scsi_host/host1/scan [root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan 4.再次查看硬盘已经显示
立即数 装载到 r1 通用寄存器中; str r1, [r0] @ 将 r1 寄存器中的内容 存储到 r0 存储的地址 指向的内存中 ldr r0, =OTHERS...@ 将 OTHERS 寄存器地址存到 r0 通用寄存器中 ldr r1, [r0] @ 将 r0 寄存器存储的地址指向的寄存器中的值读取到 r1 通用寄存器中 bic r1, r1,...立即数 装载到 r1 通用寄存器中; str r1, [r0] @ 将 r1 寄存器中的内容 存储到 r0 存储的地址 指向的内存中 ldr r0, =OTHERS...@ 将 OTHERS 寄存器地址存到 r0 通用寄存器中 ldr r1, [r0] @ 将 r0 寄存器存储的地址指向的寄存器中的值读取到 r1 通用寄存器中 bic r1, r1,...@ 将 OTHERS 寄存器地址存到 r0 通用寄存器中 ldr r1, [r0] @ 将 r0 寄存器存储的地址指向的寄存器中的值读取到 r1 通用寄存器中 bic r1, r1,
arm-linux-gcc -c -o init.o init.c arm-linux-gcc -c -o main.o main.c arm-linux-gcc -c -o start.o...ldr r1, =0x5 str r1, [r0] /* 设置CPU工作于异步模式 */ mrc p15,0,r0,c1,c0,0 orr r0,r0,#0xc0000000...ldr r1, =0x5 str r1, [r0] /* 设置CPU工作于异步模式 */ mrc p15,0,r0,c1,c0,0 orr r0,r0,#0xc0000000...ldr r1, =0x5 str r1, [r0] /* 设置CPU工作于异步模式 */ mrc p15,0,r0,c1,c0,0 orr r0,r0,#0xc0000000...ldr r1, =0x5 str r1, [r0] /* 设置CPU工作于异步模式 */ mrc p15,0,r0,c1,c0,0 orr r0,r0,#0xc0000000
, =pWTCON mov r1, #0x0 str r1, [r0] (4)禁止所有中断,设置CPU频率 /* 禁止所有中断和设置CPU频率 */ /* * mask...str r1, [r0] # if defined(CONFIG_S3C2410) ldr r1, =0x3ff ldr r0, =INTSUBMSK str r1,...*/ ldr r0, =CLKDIVN ;;根据硬件手册来设置CLKDIVN寄存器 mov r1, #3 ;;用户手册的推荐值 str r1, [r0] #endif...cmp r0, r1 /* 比较r0和r1,调试的时候不要执行重定位 */ beq stack_setup /* 如果r0等于r1,跳过重定位代码 */...其源码目录、编译形式与Linux内核很相似,事实上,不少u-boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从u-boot源码的注释中能体现这一点。
-Tu-boot.lds -o u-boot.elf $^ arm-linux-objcopy -O binary u-boot.elf u-boot.bin %.o : %.S arm-linux-gcc...寄存器 地址到 r0 寄存器中 ldr r1, =0x40000 @ 装载 要写入的值 到 r1 寄存器中 str r1, [r0] @ 将 r1 装载到 r0 所指向的内存地址对应的空间中...@ 将 OTHERS 寄存器地址存到 r0 通用寄存器中 ldr r1, [r0] @ 将 r0 寄存器存储的地址指向的寄存器中的值读取到 r1 通用寄存器中 bic r1, r1,...r1, #0x1 str r1, [r0] ldr r0, =0x7e00101c @T_MRD寄存器 mov r1, #0x2 str r1, [r0]...-Tu-boot.lds -o u-boot.elf $^ arm-linux-objcopy -O binary u-boot.elf u-boot.bin %.o : %.S arm-linux-gcc
硬盘分区及挂载操作步骤: 1....查看未挂载的硬盘(名称为/dev/xvdb) # fdisk -l Disk /dev/xvdb doesn't contain a valid partition table 2....确认是否挂载成功 重启服务器 # reboot 查看硬盘分区 # df /dev/xvdb1 20635700 176196 19411268 1% /data
简介 LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,在Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。...LVM组成 Logical Volume Manager(逻辑卷管理) PV:是物理的磁盘分区 VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库统一管理了几个大的硬盘,...操作环境介绍 1,在线扩容根分区,根分区100G,新增一块20G硬盘,将根分区扩容至120G。 2,新建逻辑卷并扩容和缩减,新增2块20G磁盘,划分10GLV,再扩容10G,随后缩减5G....lvm [SWAP] sdb 8:16 0 20G 0 disk sr0 11:0 1 4.3G 0 rom 查看系统初始硬盘...将物理硬盘格式化成PV(物理卷) 使用的是pvcreate命令 [root@zabbix-server ~]# pvcreate /dev/sdb1 Physical volume "/dev/
写程序需要用到几条汇编代码: ①LDR (load):读寄存器 举例:LDR R0,[R1] 假设R1的值是x,读取地址x上的数据(4字节),保存到R0中; ②STR (store):写寄存器 举例:STR...R0,[R1] 假设R1的值是x,把R0的值写到地址x(4字节); ③B 跳转 ④MOV (move)移动,赋值 举例1:MOV R0,R1 把R1的值赋值给R0; 举例2:MOV R0,#0x100...*/ ldr r1, =0x56000054 ldr r0, =0 /* mov r0, #0 */ str r0, [r1] /* 死循环 */ halt:...第008节_几条汇编指令_bl_add_sub_ldm_stm ⑥ADD/SUB 加法/减法 举例1: add r0,r1,#4 效果为 r0=r1+4; 举例2: sub r0,r1...r0, [r1] /* 读出原来的值备份 */ str r1, [r1] /* 0->[0] */ ldr r2, [r1] /* r2=[0] */ cmp r1, r2
linux的硬盘有挂载和未挂载两种(类似windows上的硬盘分区(C、D、E盘)) (1)查看已经挂载的硬盘大小:df -h (2)查看详细的硬盘分区情况(包括挂载和未挂载两种的硬盘大小):fdisk...◆在Linux分区过程,一般是先通过p参数来显示硬盘分区表信息,然后根据信息确定将来的分区。...help): ◆如果想完全改变硬盘的分区格式,就可以通过d参数一个一个地删除存在的硬盘分区。...◆要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区。...◆在增加分区的时候,其类型都是默认的Linux Native,如果要把其中的某些分区改变为其他类型,例如Linux Swap或FAT32等,可以通过命令t来改变,当按下“t”改变分区类型的时候,系统会提示要改变哪个分区
启动第一阶段移植过程 1.首先測试编译环境,由于arm-linux-gcc,已经添�了PATH环境变量,在lib_arm文件夹下的config.mk 定义了CRPSS_COMPILE 为arm-linux...*/ ldr r0, =CLKDIVN mov r1, #5 str r1, [r0] ldr r0, =MPLLCON...ldr r1, =(0x7f<<12)|(0x02<<4)|(0x01) str r1, [r0] ldr r0, =UPLLCON ldr...*/ ldr r0, =CLKDIVN mov r1, #3 str r1, [r0] #endif /* CONFIG_S3C2440...ldr r0, =rGPBUP ldr r1, =0x7fff str r1, [r0] ldr r0, =rGPBDATA ldr r1
学习 Linux 系统启动流程,必须熟悉几个汇编指令,总结给大家。 这里不是最全的,只列出一些最常用的汇编指令。...ADD R0,R1,R2 ;R0 = R1 + R2 ADD R0,R1,#256 ;R0 = R1 + 256 (2)【带进位的加法指令】:ADC ADC 目的寄存器,操作数1,操作数2...SUB R0,R1,R2 ;R0 = R1 - R2 SUB R0,R1,#256 ;R0 = R1 - 256 3.比较指令 (1)【直接比较指令】:CMP CMP 操作数1,操作数2...LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。 LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。...STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。 STR R0,[R1,#8] ;将R0中的字数据写入以R1+8为地址的存储器中。
这些寄存器是: r0: 存储函数调用和当前程序退出代码的返回值 r1 - r5: 作为函数调用的参数,在程序开始时 r1 包含 “上下文” 参数指针 r6 - r9: 这些在内核函数调用之间被保留 r10...r0 中存储的程序退出值的含义也是由程序类型决定的。 每个函数调用在寄存器 r1 - r5 中最多可以有 5 个参数;这适用于 eBPF 到 eBPF 和内核函数的调用。...这个特定的字节码非常频繁地用于测试存储在 r0 中的函数调用的返回值;如果 r0 == 0,它会跳过接下来的 2 条指令。...map_lookup_elem 函数采用 r0 中的索引(或键)指针和 r1 中的 map 文件描述符。如果查找调用成功,r0 将包含一个指向存储在协议索引处的 map 值的指针。..._1, 0, 0), /* xadd r0 += r1 */ 增加 r0 指向的地址处的 map 值。
领取专属 10元无门槛券
手把手带您无忧上云