OverlayによるLINUX OSのROM化のソースを表示
←
OverlayによるLINUX OSのROM化
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
※これは,chatGPT3による回答です。 == 質問 == ではこれを 起動時に処理するようにしてください。 <nowiki>#</nowiki> 必要なディレクトリを作成 mkdir /mnt/upper mkdir /mnt/lower <nowiki>#</nowiki> Upper Layerのデバイスをマウント <nowiki>#</nowiki> /dev/sdX1 は、適切なデバイスを指定してください(例:/dev/sdb1など) mount /dev/sdX1 /mnt/upper <nowiki>#</nowiki> Lower Layer(ストレージのROM化されたデータ)を読み込み専用でマウント <nowiki>#</nowiki> UUIDがhogehogeのデバイスを使用します mount -o ro UUID=hogehoge /mnt/lower <nowiki>#</nowiki> メモリ上にtmpfsを作成してWorkdirをマウント mount -t tmpfs tmpfs /mnt/overlay-work <nowiki>#</nowiki> overlayファイルシステムを作成してマウント mount -t overlay overlay -o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/overlay-work /mnt/overlay-root <nowiki>#</nowiki> オーバーレイ化したファイルシステムを / に移動 umount /mnt/overlay-root mount --move /mnt/overlay-root / <nowiki>#</nowiki> マウントポイントの設定を保存 echo "UUID=hogehoge /mnt/lower ext4 ro 0 1" >> /etc/fstab echo "overlay / overlay rw 0 1" >> /etc/fstab echo "tmpfs /mnt/overlay-work tmpfs defaults 0 0" >> /etc/fstab == 回答 == 起動時に自動的に上記の処理を行うようにするには、上記のコードをスクリプトとして保存し、<code>/etc/rc.local</code> ファイルに追加します(もしくは <code>systemd</code> サービスとして実行する方法もあります)。<code>/etc/rc.local</code> ファイルにスクリプトを追加すると、システム起動時に自動的に実行されます。 以下は手順の概要です: # 上記のコードをテキストエディタで開き、内容をコピーして新しいファイル(例えば、<code>overlay_setup.sh</code>)に保存します。 # ファイルを実行可能にします:<code>chmod +x overlay_setup.sh</code>。 # <code>/etc/rc.local</code> ファイルをテキストエディタで開き、<code>/etc/rc.local</code> ファイルの最後の行(<code>exit 0</code> の前)に以下の行を追加します: ここで、<code>/path/to/overlay_setup.sh</code> は <code>overlay_setup.sh</code> スクリプトのフルパスを指定します。例えば、スクリプトが <code>/root/overlay_setup.sh</code> に保存されている場合、<code>/root/overlay_setup.sh</code> のように指定します。 # ファイルを保存して終了します。 これで、システム起動時に<code>/etc/rc.local</code> ファイルが実行され、<code>overlay_setup.sh</code>スクリプトが自動的に実行されるようになります。スクリプトが正しく実行されると、<code>overlay</code>ファイルシステムが起動時に構築され、指定した条件を満たすことができるはずです。 == 精密に == # /etc/fstab: static file system information. # Root file system (read-only) /dev/sda1 / ext4 ro,relatime 0 1 # Boot partition (read-only) /dev/sda2 /boot vfat ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 2 # Other filesystems (tmpfs) tmpfs /run tmpfs defaults,nosuid,nodev,noexec,relatime,size=388540k,mode=755 0 0 tmpfs /mnt/root-rw tmpfs defaults,relatime 0 0 tmpfs /mnt/boot-rw tmpfs defaults,relatime 0 0 tmpfs /dev/shm tmpfs defaults,nosuid,nodev 0 0 tmpfs /run/lock tmpfs defaults,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /run/user/1000 tmpfs defaults,nosuid,nodev,relatime,size=388536k,nr_inodes=97134,mode=700,uid=1000,gid=1000 0 0 # Other system mounts sysfs /sys sysfs defaults,nosuid,nodev,noexec,relatime 0 0 proc /proc proc defaults,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=1670512k,nr_inodes=417628,mode=755 0 0 devpts /dev/pts devpts defaults,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 securityfs /sys/kernel/security securityfs defaults,nosuid,nodev,noexec,relatime 0 0 pstore /sys/fs/pstore pstore defaults,nosuid,nodev,noexec,relatime 0 0 bpf /sys/fs/bpf bpf defaults,nosuid,nodev,noexec,relatime,mode=700 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs defaults,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct 0 0 debugfs /sys/kernel/debug debugfs defaults,nosuid,nodev,noexec,relatime 0 0 sunrpc /run/rpc_pipefs rpc_pipefs defaults,relatime 0 0 tracefs /sys/kernel/tracing tracefs defaults,nosuid,nodev,noexec,relatime 0 0 mqueue /dev/mqueue mqueue defaults,nosuid,nodev,noexec,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl defaults,nosuid,nodev,noexec,relatime 0 0 configfs /sys/kernel/config configfs defaults,nosuid,nodev,noexec,relatime 0 0 gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0 == 簡潔に == # Root file system (read-only) /dev/sda1 /mnt/root-ro ext4 ro,relatime 0 0 overlay / overlay rw,lowerdir=/mnt/root-ro,upperdir=/mnt/root-upper,workdir=/mnt/root-work 0 0 # Boot partition (read-only) /dev/sda2 /mnt/boot-ro vfat ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0 overlay /boot overlay rw,lowerdir=/mnt/boot-ro,upperdir=/mnt/boot-upper,workdir=/mnt/boot-work 0 0 == 2つを合わせる == # Root file system (read-only) /dev/sda1 /mnt/root-ro ext4 ro,relatime 0 1 overlay / overlay rw,lowerdir=/mnt/root-ro,upperdir=/mnt/root-upper,workdir=/mnt/root-work 0 0 # Boot partition (read-only) /dev/sda2 /mnt/boot-ro vfat ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0 overlay /boot overlay rw,lowerdir=/mnt/boot-ro,upperdir=/mnt/boot-upper,workdir=/mnt/boot-work 0 0 # Other filesystems (tmpfs) tmpfs /run tmpfs defaults,nosuid,nodev,noexec,relatime,size=388540k,mode=755 0 0 tmpfs /mnt/root-rw tmpfs defaults,relatime 0 0 tmpfs /mnt/boot-rw tmpfs defaults,relatime 0 0 tmpfs /dev/shm tmpfs defaults,nosuid,nodev 0 0 tmpfs /run/lock tmpfs defaults,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /run/user/1000 tmpfs defaults,nosuid,nodev,relatime,size=388536k,nr_inodes=97134,mode=700,uid=1000,gid=1000 0 0 # Other system mounts sysfs /sys sysfs defaults,nosuid,nodev,noexec,relatime 0 0 proc /proc proc defaults,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=1670512k,nr_inodes=417628,mode=755 0 0 devpts /dev/pts devpts defaults,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 securityfs /sys/kernel/security securityfs defaults,nosuid,nodev,noexec,relatime 0 0 pstore /sys/fs/pstore pstore defaults,nosuid,nodev,noexec,relatime 0 0 bpf /sys/fs/bpf bpf defaults,nosuid,nodev,noexec,relatime,mode=700 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs defaults,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct 0 0 debugfs /sys/kernel/debug debugfs defaults,nosuid,nodev,noexec,relatime 0 0 sunrpc /run/rpc_pipefs rpc_pipefs defaults,relatime 0 0 tracefs /sys/kernel/tracing tracefs defaults,nosuid,nodev,noexec,relatime 0 0 mqueue /dev/mqueue mqueue defaults,nosuid,nodev,noexec,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl defaults,nosuid,nodev,noexec,relatime 0 0 configfs /sys/kernel/config configfs defaults,nosuid,nodev,noexec,relatime 0 0 gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
OverlayによるLINUX OSのROM化
に戻る。
案内メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWikiについてのヘルプ
コード系
Program
PHP
Java
Python
Swift
JavaScript
HTML
CSS
C言語
MySQL
サーバー系
Apache2
OS系
Debian
kail
アプリケーション系
Xcode
Android Studio
計算系
ファイル系
速度系
メモ・業務
My命名規則
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
編集
左メニュー
動画挿入について
動画・音声を追加する
JavaScriptを埋め込む
ページにリダイレクトを指定する