导航:首页 > 程序命令 > blockdev命令设置

blockdev命令设置

发布时间:2022-10-01 00:48:04

❶ 我手机用swapper2格式化了分区,软件设置格式化的是dev/block目录下的mmcblkop

恢复出厂设置下就好了

❷ O大进,把xt883的cat /dev/block/mmcblk1p的所有分区的命令列出来行吗

你要所有分区做什么呢,一般我们只需要一些常用的就行了,我记得上次告诉过你提取boot.img的方法,那你用相同的方法提取别的分区就行了,每个分区对应的文件你可以打开RE管理器/dev/block目录查看。device.bin对应的是/dev/block/mmcblk1p12一般不了解,不知道的分区你不要去动,锁了BL的手机动不好就可砖了哦。

linux内核源代码高手过来看看,关于block_dev.c文件的!

你看的是什么版本的内核? 在最新的linux内核中已经没有这么用了,我查了一下老版本的内核(0.11),才找到你问的问题。

#define BLOCK_SIZE 1024
#define BLOCK_SIZE_BITS 10

所以 *pos (32bit) 的组成是 低10位是偏移量。这是因为 BLOCK_SIZE=1024=0x400 所以 BLOCK_SIZE-1=1023=0x3FF,所以
int offset = *pos & (BLOCK_SIZE-1);
所以offset = *pos & 0x3FF, 相当于取 *pos的低10位。

而*pos的高 22 位则是块序号,这很好理解
int block = *pos >> BLOCK_SIZE_BITS; 就是将 *pos右移10位,那么就只剩高22位了,所以说高22位是块序号,低10位是在块内的偏移量.

❹ 如何在安装App 时,将手机设置成自动安装到内存卡上

尊敬的三星用户您好:
根据您的描述,SM-G7108v型号手机,应用程式是默认安装在话机的内置存储器中,如果想将软件移动到SD卡中,请您尝试:设定-一般-应用程序管理器-选中某个程序-移动到SD卡(若没有此选项,则不支持该功能)
注:不是所有的程序均可以移动到SD卡,具体根据所下载的软件决定
欢迎您评价我们的服务: http://support.samsung.com.cn/survey/

❺ linux内核怎么查看mtd的block命令

mtd是字符设备,mtdblock是块设备 可以看看dd命令的实现,在busybox里有 补充: /dev/mtd/* 或者 /dev/mtd* 这两种表示方式一般表示的是字符设备/dev/mtdblock/* 或者 /dev/mtdblock* 这两种是块设备的表示方式mount 的一般都是块设备貌似dd只对...

❻ linux 多路径后怎么绑定裸设备

方法一 raw的配置(1)
[root@qs-dmm-rh2 mapper]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all theother init scripts.
# You can put your own initialization stuff inhere if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
#####
# Oracle Cluster Voting disks
#####
chown oracle:oinstall /dev/mapper/voting*
chmod 660 /dev/mapper/voting*
raw /dev/raw/raw5 /dev/mapper/votingdiskp1
raw /dev/raw/raw6 /dev/mapper/votingdiskp2
raw /dev/raw/raw7 /dev/mapper/votingdiskp3
raw /dev/raw/raw8 /dev/mapper/votingdiskp4
#sleep 2
chown oracle:oinstall /dev/raw/raw5
chown oracle:oinstall /dev/raw/raw6
chown oracle:oinstall /dev/raw/raw7
chown oracle:oinstall /dev/raw/raw8
chmod 660 /dev/raw/raw5
chmod 660 /dev/raw/raw6
chmod 660 /dev/raw/raw7
chmod 660 /dev/raw/raw8
方法一(2)
[root@felix2 raw]# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all theother init scripts.
# You can put your own initialization stuff inhere if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
chown -R oracle:oinstall /dev/raw/raw*
chmod -R 660 /dev/raw/raw*
~
(1)编辑rawdevices的配置文件:
[root@felix2 sysconfig]# pwd
/etc/sysconfig
[root@felix2 sysconfig]# vi rawdevices
# rw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
#--添加裸设备、块设备的绑定条目:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
(2)启动rawdevices服务:
service rawdevices start
(3)配置系统启动时,自动启动rawdevices服务:
chkconfig rawdevices on
(4)确认rawdevices服务成功启动,并且裸设备正确创建。先查看rawdevices服务状态:
service rawdevicesstatus
[root@felix2 sysconfig]# service rawdevices status
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 33
/dev/raw/raw3: bound to major 8, minor 49
/dev/raw/raw4: bound to major 8, minor 65
再查看裸设备:
[root@felix2 sysconfig]# cd /dev/raw
[root@felix2 raw]# ll
total 0
crw-rw---- 1 oracle oinstall 162, 1 May 21 15:03raw1
crw-rw---- 1 oracle oinstall 162, 2 May 21 15:35raw2
crw-rw---- 1 oracle oinstall 162, 3 May 21 15:35raw3
crw-rw---- 1 oracle oinstall 162, 4 May 21 15:35raw4
[root@felix2 raw]#
(5)ASM是以Oracle用户身份运行的,要让ASM能够发现这些设备,必须更改这些设备的属主(owner):
[root@felix2 raw]# chown oracle:oinstall/dev/raw/raw*
[root@felix2 raw]# ll
total 0
crw-rw---- 1 oracle oinstall 162, 1 May 21 15:03raw1
crw-rw---- 1 oracle oinstall 162, 2 May 21 15:37raw2
crw-rw---- 1 oracle oinstall 162, 3 May 21 15:37raw3
crw-rw---- 1 oracle oinstall 162, 4 May 21 15:37raw4
方法二 运用UDEV设备绑定:
修改/etc/udev/rules.d/60-raw.rules文件
# 现在我们把/dev/sdb1 知道到raw1上,就可以在/etc/udev/rules.d/60-raw.rules文件里添加如下内容:
[root@centos~]#vi /etc/udev/rules.d/60-raw.rules
Cat >> /etc/udev/rules.d/60-raw.rules<< EOF
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1",RUN+="/bin/raw/dev/raw/raw4 %N"
ACTION=="add",KERNEL=="raw[1-5]",OWNER="oracle", GROUP="oinstall", MODE="660"
EOF
重启UDEV服务:
[root@rac1 ~]# start_udev
[root@zrac1 asmfileapp-linux5.4]# ls -lat/dev/raw/raw*
crw-rw---- 1 oracle oinstall 162, 4 Apr 10 00:49/dev/raw/raw4
crw-rw---- 1 oracle oinstall 162, 3 Apr 10 00:49/dev/raw/raw3
crw-rw---- 1 oracle oinstall 162, 2 Apr 10 00:49/dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 1 Apr 10 00:49/dev/raw/raw1

❼ Hyperledger Fabric first-network的初始化启动流程(二)

Build Your First network提供了一个 fabric 的示例网络。该示例网络中由两个组织构成,每个组织维护两个 peer 节点,演示了基于链码查询2个账户余额与转账操作。

first-network 中有一个启动脚本 byfn.sh,利用构建的 Docker 镜像快速启动网络。该脚本会启动一个 orderer 节点和四个归属两个不同组织的 peer 节点,还将启动一个cli运行脚本,它将 peer 节点加入通道(Channel)、部署和实例化链码,并根据已部署的链码驱动交易执行,以下是byfn.sh的帮助文档。

执行./byfn.sh up -o etcdraft启动脚本,指定使用raft共识算法

通过cryptogen工具生成组织成员关系和身份证书、密钥等文件。调用configtxgen工具生成节点与通道配置文件,包括Orderer节点上系统通道的创世区块文件genesis.block,新建应用通道的配置交易文件channel.tx、组织锚节点配置更新交易文件Org1MSPanchors.tx与Org2MSPanchors.tx等。
用户执行network_setup.sh脚本启动Fabric网络,该脚本调用networkUp函数,该命令会检查网络实体的证书是否生成,如果没有则首先生成相关证书目录。

generateCerts主要执行了cryptogen generate --config=./crypto-config.yaml
根据crypto-config.yaml生成网络成员组织结构和对应的身份证书、签名私钥等文件,并保存到默认的crypto-config目录,身份证书等文件在对应的目录msp/ 中,TLS证书与密钥文件保存到tls/ 中。

crypto-config.yaml主要包含的fabric排序节点证书配置以及fabric组织证书配置。
Template 模板定义节点的配置模式
Specs 另外一种配置模式
Count 节点总数
Hostname 全限定域名 命名格式
Domain 域名
Users 添加到管理员的用户帐户数
采用Specs模式配置了5个排序节点

采用Template模式配置了两个组织,每个组织2套公私钥和证书,包含普通User数量为1

ordererOrganizations目录 :包含Orderer组织类型的身份证书.pem文件、签名私钥文件 _sk文件、TLS证书(证书.crt文件和密钥.key文件)
peerOrganizations目录 :包含Peer组织类型的身份证书.pem文件、签名私钥文件
_sk文件、TLS证书(证书.crt文件和密钥.key文件)
这些文件通过docker-compose工具,基于docker-compose-cil.yaml、docker-compose-base.yaml等配置文件,将目录作为挂载卷到容器的指定目录。
调用replacePrivateKey基于docker-compose-e2e-template.yaml文件创建新的配置文件docker-compose-e2e.yaml。进入Org1组织的CA目录,获取私钥文件名作为PRIV_KEY,替换docker-compose-e2e.yaml文件的CA1_PRIVATE_KEY。同理替换CA2_PRIVATE_KEY。

执行generateChannelArtifacts函数,使用configtxgen工具基于configtx.yaml创建节点与通道配置文件,包括Orderer通道的创世区块,应用通道配置配置交易文件channel.tx,锚节点配置更新交易文件Org1MSPanchors.tx和Org2MSPanchors.tx
Orderer系统通道的创世区块
执行configtxgen命令,创建Orderer创世区块文件genesis.block

新建应用通道的配置交易文件
执行configtxgen命令,创建应用通道的配置交易文件channel.tx,后续执行peer channel create读取文件。

锚节点配置更新交易文件
执行configtxgen命令,创建锚节点配置更新交易文件Org1MSPanchors.tx和Org2MSPanchors.tx,后续执行peer channel update进行更新。

返回到network_setup.sh脚本,判断是否启用了CouchDB标志位(默认关闭),使用docker-Compose工具执行docker-Compose-cil.yaml文件,启动Fabric网络。

继续分析network_setup.sh脚本,默认COMPOSE_FILES是docker-compose-cli.yaml文件,当设置了kafka共识或者raft共识,则使用对应的yaml文件。

Orderer节点继承了docker-compose-base.yaml中的orderer.example.com配置属性,Orderer节点容器启动时执行如下命令

docker-compose-cil.yaml文件

继续追踪base/docker-compose-base.yaml,找到orderer.example.com服务,挂载目录和暴露7050端口。

orderer的配置还是引入peer-base.yaml中的orderer-base服务

4个Peer节点继承了docker-compose-base.yaml中对应容器名称的配置属性,Peer节点容器启动时执行如下命令

docker-compose-cil.yaml文件中Peer节点配置。

docker-compose-base.yaml文件中Peer节点的配置。

引入peer-base.yaml中的peer-base服务

docker-compose-cil.yaml文件中CLI客户端配置。启动完 orderer 节点、peer 节点和 CLI 容器之后,实际是调用 script.sh 脚本,该脚本是在 CLI 容器中执行,CLI 容器其实就是用户客户端,只不过是命令行客户端,运行在容器中。默认情况下CLI 的身份是 admin.org1,连接 peer0.org1 节点,执行 script.sh 脚本

script.sh脚本顺序执行默认的测试流程,包括创建新的应用通道、添加节点、更新锚节点、安装链码、实例化链码、调用链码、查询链码等操作。

Fabric要求创建、加入与更新通道的权限必须具有通道组织的管理员身份。调用setGlobals设置全局环境变量,CLI客户端能够灵活切换指定容器的管理员角色,可以直接连接并操作指定的Peer节点,先切换到Peer0/Org1节点。
接着采用Org1管理员身份执行peer指令,将通道配置文件Channel.tx发送给Orderer节点,创建mychananel的应用通道。如果创建成功,则返回一个创世区块block,它会存储在 peer 节点的文件系统中,包含 channel.tx 指定的通道配置信息。

遍历所有节点,调用setGlobals切换指定节点,执行peer指令,将Org1组织包含的Peer0/Org1和Peer1/Org1节点加入mychananel应用通道,将创世区块mychananel.block设置成命令行参数。Org2组织类似。

joinChannelWithRetry 函数中的 setGlobals 是设置 CLI 容器的环境变量的函数。例如:setGlobals 1 2 设置 CLI 的身份为 admin.org2,连接 peer1.org2 节点。
使用 peer channel join 命令让节点加入通道,$CHANNEL_NAME.block 就是前面创建通道成功时返回的区块,该区块在上面 org1.peer0 创建通道时保持在 CLI 容器内,所以能直接使用。节点成功加入通道后会创建 CHANNEL_NAME.block 开头的链。

一个组织只能有一个锚节点,节点加入通道后才能进行更新,连续两次调用updateAnchorPeers,更新两个组织的锚节点配置,用Org1管理身份更新Peer0/Org1的配置,并指定锚节点配置更新文件Org1MSPanchors.tx,Org2组织同理。

连续两次调用installChaincode分别在Peer0/Org1和Peer2/Org2中安装chaincode_example02链码,并将链码命名为“mycc”且版本1.0,如果链码安装成功,在指定安装目录/var/hyperledger/proction/chaincodes下存在name.version的链码文件。

实例化链码必须在安装过链码的节点上进行,同一个通道内所有节点上相同的实例化数据在通道账本中是共享的,用户只需要在任意一个Peer节点上成功执行一次实例化链码操作,并通过排序打包后将实例化数据广播到其他节点上,通道内所有合法节点都可以访问该链码的实例化数据。
实例化将链码添加到通道上,启动目标节点的容器,初始化与链码相关的初始值,这里的初始值为 ["a","100","b","200"]。”实例化“ 过程会产生链码的容器,例如: dev-peer0-org1.example.com-mycc-1.0 。实例化过程需要指定背书策略,通过 -P 参数设置,这里的策略定义为 AND ('Org1MSP.peer','Org2MSP.peer') ,表示任何交易必须要有 org1 和 org2 节点的共同背书。

Peer0/Org1上调用链码查询函数chaincodeQuery和链码调用函数chaincodeQuery。查看A的余额,并从账户A中向账户B中转账10元。

Peer3/Org2上安装链码,执行查询A的余额,检查余额是否为90元,如果是说明转账成功。

阅读全文

与blockdev命令设置相关的资料

热点内容
白领解压培训 浏览:577
密码加密用在什么地方 浏览:12
python教程100字 浏览:442
pdf小马 浏览:982
马云入股服务器 浏览:934
sdca哪个文件夹最好用 浏览:991
海猫电影网 浏览:31
程序员一天编程多少个小时 浏览:62
java与模式下载 浏览:649
javaintlong区别 浏览:688
刀塔2如何选择中国服务器 浏览:810
英文剧,7个孩子 浏览:245
哈利波特电影名英文名 浏览:50
可以看污的软件下载 浏览:18
好看网站推荐 浏览:860
iphone文件夹设封面 浏览:249
日本电影盔甲僵尸 浏览:615
手机怎么创建minecraft服务器 浏览:488
LCD在python中 浏览:980