cfdisk: /dev/sda を開けません。

cfdisk: /dev/sda を開けません。

背景情報

現在、LFS(Linux From Scratch)パーティションを構築しようとしています。
初めて試すことなので挑戦してみたいのですが、始めるのが難しいですね。

私は16GB Micro SDでRaspberry Pi 3を使用しており、現在Ubuntu 20.04LTSがデフォルトでインストールされています。
しかし、パーティションの割り当てに問題があります。

私の質問

これは少し混乱している質問ですが、追加の説明や推奨される読書/研究を歓迎します!

  1. /dev/これまで私が見つけたのは、ほとんどの非組み込みLinuxインストール、およびおそらく多くの組み込みLinuxインストールが実際のパーティションインストールスペースとして使用されていないようです。 (源泉)これが何を意味するのかわかりません。新しいパーティションをマウントするには別の場所を見つける必要がありますか?

  2. 私のものにもなどが/dev/sda/まったく表示されません。 UbuntuまたはSBC用Ubuntuではこれは正常ですか?これが最初の質問に関連しているようですが、なぜこれが起こるのかわかりません。/dev/sdb//dev/

  3. MAKEDEVまた、使用するとパーティションを動的に管理できないことがわかりました。動的に管理するように設定する方法はありますか?それともLFSパーティションの構築に使用しているので、これは重要ですか?

私が試したこと

/dev/sda/myを使用してsudo MAKEDEV sda作成しようとしましたが、バイナリがインストールされていない/dev/ようです。MAKEDEV現在必要なパッケージを見つけようとしています。

ボールでリストしたもの

user@host:~$ cfdisk /dev/sda
cfdisk: cannot open /dev/sda: No such file or directory


user@host:~$ sudo cfdisk /dev/sda
cfdisk: cannot open /dev/sda: No such file or directory


user@host:~$ cat /proc/partitions
major minor  #blocks  name

   7        0      24084 loop0
   7        2      62720 loop2
   7        3      49608 loop3
   7        4      26564 loop4
   7        5      65316 loop5
   7        6      49956 loop6
 179        0   15558144 mmcblk0
 179        1     262144 mmcblk0p1
 179        2   15294959 mmcblk0p2


user@host:~$ ll /dev/sd*
ls: cannot access '/dev/sd*': No such file or directory


user@host:~$ ll /dev/disk/by-path/
total 0
drwxr-xr-x 2 root root 100 Jan  1  1970 ./
drwxr-xr-x 7 root root 140 Jan  1  1970 ../
lrwxrwxrwx 1 root root  13 Aug  4 23:07 platform-3f202000.mmc -> ../../mmcblk0
lrwxrwxrwx 1 root root  15 Aug  4 23:07 platform-3f202000.mmc-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root  15 Aug  4 23:07 platform-3f202000.mmc-part2 -> ../../mmcblk0p2


現在の考え方

または、別の方法を使用してパーティション/dev/sd*/を分割し、続いてビルドのこの部分を完了しようとします。これについて私がとても考えているのでしょうか、それとも私がしなければならないことを誤解しているのでしょうか?MAKEDEVcfdisk

答え1

システムには、統合ストレージデバイスの命名を使用しない(元のSCSIベースの)SD / MMCカードリーダーがあります。別のデバイス名スタイルを使用してください。ディスク装置全体があり、そのパーティションにはパーティション番号がどこにあるかが一覧/dev/mmcblk0表示されます。はい、これはUSB大容量記憶装置インターフェイスの代わりに専用ドライバを使用するSD / MMCカードリーダーの場合の通常の現象です。mmcblk0p<N><N>

だからここでそれを使いたいと思いますsudo cfdisk /dev/mmcblk0

さらに、ユニバーサルまたはx86ハードウェアの「Linux From Scratch」の本を読んでいる場合は、いつでもどこでも/dev/mmcblk0参照/dev/sdaまたは類似の内容を置き換える必要があるときの意図した意味は、「ディスク全体としてのシステムディスク」であることを覚えておく必要があります。同様に/dev/sda1、「マイシステムディスクの最初のパーティション」への参照が表示されたら、/dev/mmcblk0p1それを交換する必要があります。他のパーティションにも同様です。

いいえ、/dev/一つでもありません。パーティションの設置スペース。私が知る限り、そのようなことはありません。パーティションの設置スペース。どこにあるどんなディレクトリでも役に立ちます。マウントポイント他のファイルシステムの場合。どこにいるのか知りたいならしなければならないマウントポイントを設定するには、以下を見てください。FHS(ファイルシステム階層標準)。そうすることを選択した場合は、自分の仕事を完全に自由にすることができます。

通常、マウントポイントとして使用されている場合は、既存のコンテンツが非表示になり、代わりにマウントされたファイルシステムのルートコンテンツが表示されるため、ディレクトリは空でなければなりません。 (Linuxでは、システム管理者はさまざまな方法でマウントされたファイルシステムを「見る」ことができますが、私はここから外れます...)

/devデバイスノード(デバイスファイル)のディレクトリサブツリー。通常、これらとそのサブディレクトリだけがこのサブツリーに配置されている必要があります。

最新のLinuxシステムでは、/devこれは通常RAMベースのファイルシステム(タイプtmpfsまたはdevtmpfs)ですudev

たとえば、SDカードに3番目のパーティションを作成すると、/dev/mmcblk0p3そのパーティションが自動的に表示されることがわかります。 2番目のパーティションを削除すると/dev/mmcblk0p2消えます。

デバイスノードは通常のファイルではありません。本質的に、特定のデバイスドライバとドライバが制御するハードウェア(またはソフトウェア)デバイスへのカーネル内の接続ポイント。

/dev動的に管理されたファイルシステムを開発する前は、デバイスノードを含む/devルートファイルシステムのディレクトリでした。オペレーティングシステムがインストールされると、デバイスノードセットが作成され、通常のファイルのようにディスク上のファイルシステムに保持されます。

(つまり、基本的にカーネルフレンドリーなデバイス仕様「Block Device、Driver#179、Device#1」を人がより読みやすい名前にマッピングするか、その逆にマッピングする/dev/メカニズムにすぎません。)/dev/mmcblk0p1

デバイスノードを作成(または何らかの理由で削除された場合は再生成)する標準的な方法は、コマンドループを使用して単一のコマンドでさまざまな標準デバイスセットを生成するスクリプトをコマンドしてmknod呼び出すことです。MAKEDEVmknod

いいえ、MAKEDEVパーティション自体とは何の関係もありません。また、何も動的に管理しません(デバイスノードまたはパーティションの両方)。古いスタイルを一括生成するツールです。静的管理デバイスノード。

ディレクトリ/devツリーを動的に管理するには、インストールが必要になる可能性がありますudev。 LFSを使用している場合は、おそらく少し遅くなります。たぶん少し遅れているかもしれません。

~を作る分割私が知る限り、「動的管理」は実際には重要ではありません。 「LVM(論理ボリュームマネージャ)の使用」を奇妙な方法で表現していないとしたらどうでしょうか。

関連情報