独自のLinuxディストリビューションを作成するためのツール

Tools Create Your Own Linux Distribution



Linuxディストリビューションを作成する必要がある場合、このチュートリアルでは、作成プロセスをすばやく確認しながら、重要な問題を明確にします。この記事では、Linuxディストリビューションをカスタマイズする方法として、Linux FromScratchとUbuntuLiveに焦点を当てています。示されている手順とコマンドは、機能することを意図したものではなく、各プロセスの難易度を表すことを目的としています。将来的には、各プロセスはLinuxHintの新しいアップデートで説明される予定です。

LFS(Linux From Scratch)は、ソースからカスタマイズされたLinuxディストリビューションを作成するための最も一般的なツールです。独自のLinuxディストリビューションを作成することには、いくつかの利点(および欠点も)が含まれる場合があります。利点の中には、独自のLinuxディストリビューションを作成することでLinuxについて多くのことを学ぶことができます。 Linuxモジュールがどのように相互作用し、システムをカスタマイズするかを理解します。







動作サイズは、ハードウェアリソースや、システムに提供する用途によっても有利です。 LFS開発者は、彼らのWebサイトで、5MBサイズのApacheで動作するWebサーバーを作成したと述べています。 Linux From Scratchは、Gentoo Linuxとともに、Linuxシステムをセットアップするための最も柔軟な方法です。構築は非常に簡単で、プロセスは段階的に説明されています。以下では、難しさのアイデアを表現するための最初のステップと、構築段階から表示される公式ドキュメントへのリンクのみを示します。



Linux From Scratchを開始するには、最初にパーティションを作成する必要があります(コンパイルプロセスで最低3 GB)。また、スワップパーティションを作成するか、既存のパーティションを共有することをお勧めします(パーティション分割の手順については、Debian /でのハードディスクのパーティション分割を確認してください。 Ubuntuとパーティションのサイズ変更)。



パーティションを作成したら、次のコマンドを実行して$ LFS変数を作成します。





書き出す LFS=/mnt/lfs

次のコマンドを実行して確認できます。



捨てた $ LFS

次に、パーティションをマウントします。

#mkdir -pv $ LFS
#mount -v -t ext3 / dev / $ LFS

ノート: パーティションを交換してください

次に、スワップパーティションに対して実行します。

/sbin/スワポン-v /開発者/<スワップ>>

ディレクトリを作成するには、LFS / sourcesという特定のディレクトリにパッケージをダウンロードする必要があります。

mkdir -v $ LFS/ソース

書き込み可能で粘着性のあるものにします。

chmod -va + wt$ LFS/ソース

すべてのパッケージをダウンロードしてディレクトリ内に保存します http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/packages.html

http://www.linuxfromscratch.org/lfs/view/6.6/chapter03/patches.html

あなたはwget-listを使うことができます http://www.linuxfromscratch.org/lfs/view/6.6/wget-list

次のコマンドを実行して、ツールディレクトリとシンボリックリンクを作成します。

#mkdir -v $ LFS / tools
#ln -sv $ LFS / tools /

次のコマンドを実行して、権限を付与するlfsユーザーを作成します。 ツール ソース ディレクトリ:

#groupadd lfs
#useradd -s / bin / bash -g lfs -m -k / dev / null lfs
#passwd lfs
#chown -v lfs $ LFS / tools
#chown -v lfs $ LFS / sources
#su-lfs

lfsユーザーとしてログインし、以下を実行します。

>>/.bash_profile<< 「EOF」

次に、次のように入力します。

exec env -私 =$ HOME 学期=$ TERM PS1=' u: w $' /午前/bash

そして実行します:

EOF

新しいを作成します .bashrc 実行することによって:

>>/.bashrc<< 「EOF」

そして追加:

#セット+ h
#umask 022
#LFS = / mnt / lfs
#LC_ALL = POSIX
#LFS_TGT = $(uname -m)-lfs-linux-gnu
#PATH = / tools / bin:/ bin:/ usr / bin
#エクスポートLFS LC_ALL LFS_TGT PATH

#EOF

次に、以下を実行します。

#ソース〜/ .bash_profile
#MAKEFLAGS = '-j2'を設定します

次に、ツールを保存して、次の手順に従ってLinuxディストリビューションの構築を開始できます。 http://www.linuxfromscratch.org/lfs/view/6.6/chapter05/introduction.html

終了後、以下を実行してツールディレクトリの所有権を変更します。

chown -NSroot:root$ LFS/ツール

ディストリビューションを構築し、カーネルとベースソフトウェアを準備するための公式ドキュメントがあります。 ここ 。これは、カスタマイズされたディストリビューションを作成するために必要な一連の手順です。手順は次のとおりです 仮想カーネルファイルシステムを準備するパッケージ管理Chroot環境に入るディレクトリの作成エッセンシャルファイルとシンボリックリンクの作成 s、リストされている追加のソフトウェアをインストールする ここ 再びストリッピング清掃

システムのカスタマイズを開始するには、次の章にアクセスしてください。

最後にGRUBをインストールします GRUBを使用したブートプロセスの設定 とに従ってください ステップ 初めて再起動する前に

Ubuntu Live


Ubuntuに基づいてカスタマイズされたLinuxを作成するのは非常に簡単で、非常に高速に実行できます。LinuxFromScratchと比較すると非常に簡単ですが、柔軟性はまったくありません。ソフトウェアを追加したり、背景や詳細をカスタマイズしたりできます。ただし、アプリケーションメニューエディションなどの基本的なカスタマイズはサポートされていません。

sudoデブートストラップ

そして追加:

- アーチ= amd64
- 変異体= minbase
バイオニック
$ HOME/live-ubuntu-from-scratch/chroot

http://us.archive.ubuntu.com/ubuntu/

マウントポイントの設定:

#sudo mount --bind / dev $ HOME / live-ubuntu-from-scratch / chroot / dev
#sudo mount --bind / run $ HOME / live-ubuntu-from-scratch / chroot / run
#sudo chroot $ HOME / live-ubuntu-from-scratch / chroot
#マウントなし-t proc / proc
#マウントなし-t sysfs / sys
#マウントなし-t devpts / dev / pts
#エクスポートHOME = / root
#LC_ALL = Cをエクスポート
#echo'ubuntu-fs-live '> / etc / hostname

次に、リポジトリを更新し、aptupdateと次のコマンドを実行する必要があります。

#apt-get install -y systemd-sysv
#dbus-uuidgen> / etc / machine-id
#ln -fs / etc / machine-id / var / lib / dbus / machine-id
#dpkg-divert --local --rename --add / sbin / initctl
#ln -s / bin / true / sbin / initctl
#apt-get install -y ubuntu-standard casper lupin-casper Discoverlaptop-detect os-prober network-manager resolvconf net-toolswireless-tools wpagui locales linux-generic

GRUBのプレスのような設定画面を表示するとき 入力 続行するには、デフォルトの選択肢に切り替えます。次に、以下を実行します。

apt-get install-y ubiquity ubiquity-casper ubiquity-frontend-gtk ubiquity-slideshow-ubuntu ubiquity-ubuntu-artwork

必要なXウィンドウマネージャーをインストールします。

apt-get install-y plymouth-theme-ubuntu-logo ubuntu-gnome-desktop ubuntu-gnome-wallpapers

ディストリビューションに必要なソフトウェアを追加して、次のコマンドを実行します。

#apt-get update
#apt-get install -y code

ロケールを選択し、resolv.confとネットワークマネージャーを再構成します。

#dpkg-ロケールを再構成する
#dpkg-reconfigure resolv.conf
#dpkg-reconfigure network-manager

次に、以下を実行します。

#truncate -s 0 / etc / machine-id
#rm / sbin / initctl
#apt-きれいにする
#rm -rf / tmp / *〜/ .bash_history

すべてのファイルシステムをアンマウントします。

#umount / proc
#umount / sys
#umount / dev / pts
#エクスポートHISTSIZE = 0exit
#sudo umount $ HOME / live-ubuntu-from-scratch / chroot / dev
#sudo umount $ HOME / live-ubuntu-from-scratch / chroot / run

ディレクトリを作成し、カーネルとバイナリをコピーします。

#cd $ HOME / live-ubuntu-from-scratch
#mkdir -p image / {casper、isolinux、install}
#sudo cp chroot / boot / vmlinuz-**-**-generic image / casper / vmlinuz
#sudo cp chroot / boot /initrd.img-**-**-generic image / casper / initrd
#sudo cp chroot / boot / memtest86 + .bin image / install / memtest86 +
#wget --progress = dot https://www.memtest86.com/downloads/memtest86-usb.zip -O image / install / memtest86-usb.zipunzip -p image / install / memtest86-usb.zipmemtest86-usb。 img> image / install / memtest86rm image / install / memtest86-usb.zip

GRUBのセットアップ

次のすべてのコマンドを実行します。

#cd $ HOME / live-ubuntu-from-scratch
#sudo mksquashfs chroot image / casper / filesystem.squashfs
#printf $(sudo du -sx --block-size = 1 chroot | cut -f1)> image / casper / filesystem.size
#cd $ HOME / live-ubuntu-from-scratch
#cd $ HOME / live-ubuntu-from-scratch / image
#grub-mkstandalone --format = x86_64-efi --output = isolinux / bootx64.efi --locales = '' --fonts = '' 'boot / grub / grub.cfg = isolinux / grub.cfg'
#grub-mkstandalone --format = i386-pc --output = isolinux / core.img --install-modules = 'linux16 linux normal iso9660 biosdisk memdisk search tar ls' --modules = 'linux16 linux normal iso9660 biosdisk search'- -locales = '' --fonts = '' 'boot / grub / grub.cfg = isolinux / grub.cfg'
#cat /usr/lib/grub/i386-pc/cdboot.img isolinux / core.img> isolinux / bios.img
#sudo / bin / bash -c '(find .-type f -print0 | xargs -0 md5sum | grep -v' ./md5sum.txt '> md5sum.txt)'
#sudo xorriso -as mkisofs -iso-level 3 -full-iso9660-filenames -volid '' -eltorito-boot boot / grub / bios.img -no-emul-boot -boot-load-size 4 -boot-info-テーブル--eltorito-catalogboot / grub / boot.cat
--grub2-boot-info --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img -eltorito-alt-boot -e EFI / efiboot.img -no-emul-boot -append_partition 2 0xef isolinux /efiboot.img -output '../。iso' -graft-points '。' /boot/grub/bios.img=isolinux/bios.img /EFI/efiboot.img=isolinux/efiboot.img

ご覧のとおり、Ubuntu Liveのプロセスははるかに高速で簡単ですが、完全にカスタマイズ可能なLinux From Scratchとは対照的に、簡単にカスタマイズできるUbuntuディストリビューションにすぎません。このチュートリアルがお役に立てば幸いです。Linuxとネットワークに関する追加のヒントと更新については、LinuxHintをフォローしてください。