背景情報
現在、LFS(Linux From Scratch)パーティションを構築しようとしています。
初めて試すことなので挑戦してみたいのですが、始めるのが難しいですね。
私は16GB Micro SDでRaspberry Pi 3を使用しており、現在Ubuntu 20.04LTSがデフォルトでインストールされています。
しかし、パーティションの割り当てに問題があります。
私の質問
これは少し混乱している質問ですが、追加の説明や推奨される読書/研究を歓迎します!
/dev/
これまで私が見つけたのは、ほとんどの非組み込みLinuxインストール、およびおそらく多くの組み込みLinuxインストールが実際のパーティションインストールスペースとして使用されていないようです。 (源泉)これが何を意味するのかわかりません。新しいパーティションをマウントするには別の場所を見つける必要がありますか?私のものにもなどが
/dev/sda/
まったく表示されません。 UbuntuまたはSBC用Ubuntuではこれは正常ですか?これが最初の質問に関連しているようですが、なぜこれが起こるのかわかりません。/dev/sdb/
/dev/
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*/
を分割し、続いてビルドのこの部分を完了しようとします。これについて私がとても考えているのでしょうか、それとも私がしなければならないことを誤解しているのでしょうか?MAKEDEV
cfdisk
答え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
呼び出すことです。MAKEDEV
mknod
いいえ、MAKEDEV
パーティション自体とは何の関係もありません。また、何も動的に管理しません(デバイスノードまたはパーティションの両方)。古いスタイルを一括生成するツールです。静的管理デバイスノード。
ディレクトリ/dev
ツリーを動的に管理するには、インストールが必要になる可能性がありますudev
。 LFSを使用している場合は、おそらく少し遅くなります。たぶん少し遅れているかもしれません。
~を作る分割私が知る限り、「動的管理」は実際には重要ではありません。 「LVM(論理ボリュームマネージャ)の使用」を奇妙な方法で表現していないとしたらどうでしょうか。