Skip to content

Linux イメージの作成とアップロード(信創を含む)

新しいアップロード方法:linuxupload ツール(diskless_upload.sh)を使用します。1 つのコマンドでドライバのビルド、ディスクのパーティション分割、ブートローダのインストール、システムのアップロードまでをウィザード形式で行います。x86_64 と信創マルチアーキテクチャ(arm64 / loongarch64 / mips64el / riscv64)に対応し、uname -m に応じて適切なバイナリを自動選択します。

1) OS を通常どおりインストール

物理マシンまたは仮想マシンに、通常どおり Linux をインストールします(Kylin、UOS、openEuler、Anolis などの信創システムを含む)。基本設定を済ませ、必要なソフトウェアをインストールします。

2) ツールを取得して展開

Linux パッケージングツール linuxupload.tar.gz をダウンロードし、インストール済みの Linux にコピーして展開します:

ツールはカスタマーサービスにお問い合わせのうえ入手してください。

bash
mkdir linuxupload
tar -xzf linuxupload.tar.gz -C linuxupload
cd linuxupload
ls -lah

展開したパッケージングツール

内容について:diskless_upload.sh がアップロードのメインスクリプトです。bin/ にはアーキテクチャ別のバイナリ(vdmount / vdclient / rb_client など)が、efi/grub/scripts/newvhd/ にはブートおよびクライアントファイルが含まれます。

3) アップロードツールを実行

⚠️ 信創システムのセキュリティ強化について:Kylin、UOS、openEuler、Anolis などの信創システムは既定でセキュリティ強化(KYSEC、SELinux、開発者モードの署名検証など)が有効です。これにより2 種類の問題が起こります:

  1. 権限ブロック——ドライバのビルド・パーティション分割・ディスク書き込みなどが直接阻止される;
  2. 再スキャンによるアップロードの低速化/フリーズ(より分かりにくい)——例えば Kylin の KYSEC 再スキャンデーモンは、ネットワークディスクに書き込まれた各ファイルを計測するために、書き込んだばかりのデータをネットワーク越しに丸ごと読み戻し、帯域を食い尽くしてアップロードの書き込みを枯渇させます。症状は、アップロードが途中まで進んだところで速度が急落、あるいはゼロになり停止したように見えること。アップロードが途中で進捗を失ったら、ほぼセキュリティ機構の再スキャンが原因です。無効化すれば回復します。

新版 diskless_upload.sh はこれを自動で処理します:アップロード前に KYSEC を一時的に無効化し、再スキャンデーモンを停止し、一般的なウイルス対策(QAX / 360 / Kylin avserver / ClamAV など)を一時停止して、画面に通知を表示します。ほとんどの場合、手動操作は不要です。

自動処理がお使いのシステムをカバーしない場合(best-effort)、またはアップロードが依然ブロックされる/途中で遅くなる場合は、スクリプト実行前に下表に従って手動でセキュリティを無効化してください(いずれも root / sudo が必要):

信創システムセキュリティ機構無効化/切替方法
Kylin / NeoKylin(V10、V11、デスクトップ&サーバー)KYSEC(麒麟セキュリティ)端末で sudo setstatus disable を実行して一時的に無効化。-p を付けると永続化(sudo setstatus disable -p、再起動後も無効)。サーバー版は sudo security-switch --set custom も可。必要なら GRUB 起動パラメータの security=kysec を空の security= に変更。
UnionTech UOS開発者モードコントロールセンター → 一般 → 開発者モードで、オンライン有効化(UnionID でログイン)またはオフライン有効化(マシン情報をエクスポート → オフライン証明書をダウンロードしてインポート)。有効化後、端末で sudo passwd root を実行し root パスワードを設定。注意:開発者モードは一方向操作で、署名検証が無効になり元に戻せません
deepin開発者モード / rootUOS の開発者モードと同じ。または sudo passwd root でパスワードを設定後、su - で root に切り替え。
openEulerSELinux一時:sudo setenforce 0(permissive に設定)。永続:/etc/selinux/config を編集し SELINUX=disabled にして再起動。
Anolis / Red Hat 系(RHEL、CentOS、Rocky、Alma など)SELinuxopenEuler と同じ:sudo setenforce 0(一時)/ /etc/selinux/configSELINUX=disabled にして再起動(永続)。

アップロード後にセキュリティ強化を戻すには:Kylin は sudo setstatus enable -p、SELinux は /etc/selinux/configSELINUX=enforcing に戻して再起動。UOS の開発者モードは一度有効にすると元に戻せません。ご了承ください。

root 権限でスクリプトを実行します:

bash
sudo ./diskless_upload.sh

スクリプトは本機のアーキテクチャを自動判別し、カーネルに合うドライバをネットワーク経由でビルド・ロードした後、アップロードウィザードを開きます。プロンプトに従って各項目を入力します(各項目入力後に Enter):

アップロード設定ウィザード

項目説明
[1/7] サーバー IP アドレスvDisk 起動サーバーの IP
[2/7] 管理者ユーザー名サーバー管理者アカウント
[3/7] 管理者パスワードサーバー管理者パスワード
[4/7] イメージ名作成するイメージの名前
[5/7] イメージサイズ (GB)仮想ディスクのサイズ。現在の使用容量以上を推奨
[6/7] 起動モード1 = BIOS(レガシー)/ 2 = UEFI。対象機と一致させる
[7/7] アーキテクチャ接尾辞任意;Enter で既定値uname -m で自動判別)。華為 Kunpeng、Phytium など、アーキテクチャは同じでも専用の起動ディスクが必要な改造ハードでは、カスタム接尾辞(例:kunpengft2000)を入力できます。デプロイ ISO/起動ディスクの命名と報告アーキテクチャを決めます

4) 確認してアップロード開始

設定の概要が表示されます。内容を確認し、Y を入力して Enter で開始します:

設定の概要

確認後、スクリプトは自動的に次を実行します:仮想ディスクの初期化とパーティション分割 → フォーマット → ブートローダのインストール(選択した BIOS/UEFI に従う)→ ディスクレス起動 initrd の構築 → rsync によるローカルシステムのアップロード。進捗とアップロード率が画面に表示されます。

5) アップロード完了

アップロードが完了すると操作メニューが表示されます:

  • r システムを再起動
  • s システムを終了
  • c キャンセル(戻る)

これでイメージはサーバーにアップロードされ、クライアント機のディスクレス起動に割り当てられます。

6) デプロイ ISO から起動ディスクを作り、他のコンピューターを展開する

利用シーン:対象機に PXE NIC ROM がない/ネットワーク起動順を変更しづらい場合、または「挿すだけでインストール」できる起動ディスクで一括展開したい場合。アップロード中にスクリプトが本機カーネルでデプロイ ISO をその場で生成します。これを USB メモリにすれば、PXE も BIOS の起動順変更も不要で、任意のベアマシンを起動して展開できます。

6.1 生成された ISO の場所

アップロード終了時に画面へ ISO のパスが表示されます。ファイル名は vdisk-deploy-<アーキ>.iso の形式です(例:vdisk-deploy-aarch64.isovdisk-deploy-x86_64.iso)。本機カーネル+起動メニュー+ドライバを内包し、isohybrid 形式です(ディスクに焼くことも、dd で USB に直接書き込むこともできます)。

⚠️ ISO はアーキテクチャ別です:arm64 の ISO は arm64 機のみ、x86_64 の ISO は x86_64 機のみ起動できます。展開対象と同じアーキテクチャの機で生成した ISO を使ってください。

6.2 ISO を USB メモリに書き込む

⚠️ 必ず DD(イメージ)モードで書き込んでください。ISO モードは厳禁です! この ISO は grub-mkrescue 製のハイブリッド起動イメージで、ディスク全体をそのまま(raw)書き込むことしか想定していません。Rufus の**既定「ISO イメージモード」**で書くとファイルが再パッケージされ、起動時に error: unknown filesystem が出て grub rescue> に落ちます。Rufus で START を押した後、「ISOHybrid image detected」ダイアログが出たら、必ず Write in DD Image mode(DD イメージモード) を選んでください。あるいは balenaEtcher を使えば常に raw 書き込みでモードを聞かれず、最も確実です。書き込み後、Windows が「USB のフォーマットが必要」と表示したり、容量が小さく/認識不可に見えることがありますが、正常です。フォーマットしないでください

いずれかの方法で(USB メモリ内の既存データは消去されます。必ず正しいデバイスを選んでください):

  • WindowsRufus または balenaEtcher で ISO を USB に書き込みます。Rufus が「ISO / DD モード」を尋ねたら、DD モードを選択します。

  • Linux / macOSdd で直接書き込みます(先に lsblk で USB のデバイス名を確認し、/dev/sdX を置き換えてください。間違ったディスクに書き込まないこと):

    bash
    sudo dd if=vdisk-deploy-aarch64.iso of=/dev/sdX bs=4M status=progress conv=fsync
  • ISO を DVD に焼いて使うこともできます。

6.3 起動ディスクで他のコンピューターを展開する

  1. 作成した USB を対象機に挿し、vDisk 起動サーバーと同一ネットワークにあることを確認します;
  2. 電源を入れ、ワンタイム起動メニューのキー(マザーボードにより F12 / F11 / F9 / Esc など)を押し、USB から一時的に起動します(BIOS の既定起動順を変える必要も PXE も不要);
  3. 起動メニューで、コンピューターに参加/起動するコンピューターを選択します;
  4. 案内に従ってダウンロードしてインストールします。完了後、その機は通常どおりディスクレス起動できます;
  5. 同じ USB は同一アーキテクチャの複数台に再利用できます。

ISO は BIOS / UEFI どちらのファームウェアでも起動します。コンソール上の対象機の「コンピュータータイプ/CPU アーキテクチャ」は実際のファームウェア・アーキテクチャと一致させてください(異種混在デプロイを参照)。

注意事項

アップロード中は常にインターネット接続が必要です:ドライバはオンラインでリモートビルドされるため、ネットワークがないとアップロードを完了できません。

起動モード(BIOS / UEFI)は対象クライアントのファームウェアと一致させてください。一致しないと起動に失敗する場合があります。

信創プラットフォームのマルチアーキテクチャは自動的に対応し、スクリプトが uname -m に応じて適切なバイナリを選択します。新版スクリプトはアップロード前にセキュリティ強化を自動的に緩めます(KYSEC など。上記の手順 3 を参照)。それでもアップロードがブロックされる、または途中で速度が急落/ゼロになり停止したように見える場合は、ほぼセキュリティ機構がネットワークディスクを再スキャンしているのが原因です。手順 3 に従って手動で無効化し、再試行してください。

デプロイ ISO はアーキテクチャ別で、1 つの ISO は同一アーキテクチャの機のみ起動できます(手順 6 を参照)。