當前位置:首頁 » 操作系統 » linux系統製作

linux系統製作

發布時間: 2024-10-08 02:47:15

Ⅰ 如何打造自己的 linux 發行版

LFS 中文版手冊發布:如何打造自己的 Linux 發行版

您是否想過打造您自己的 Linux 發行版?每個 Linux 用戶在他們使用 Linux 的過程中都想過做一個他們自己的發行版,至少一次。我也不例外,作為一個 Linux 菜鳥,我也考慮過開發一個自己的 Linux 發行版。從頭開發一個 Linux 發行版這件事情被稱作 Linux From Scratch (LFS)。

在開始之前,我總結了一些有關 LFS 的內容,如下:
1. 那些想要打造他們自己的 Linux 發行版的人應該了解打造一個 Linux 發行版(打造意味著從頭開始)與配置一個已有的 Linux 發行版的不同
如果您只是想調整下啟動屏幕、定製登錄頁面以及擁有更好的外觀和使用體驗。您可以選擇任何一個 Linux 發行版並且按照您的喜好進行個性化配置。此外,有許多配置工具可以幫助您。
如果您想打包所有必須的文件、引導載入器和內核,並選擇什麼該被包括進來,然後依靠自己編譯這一切東西。那麼您需要的就是 Linux From Scratch (LFS)。
注意:如果您只想要定製 Linux 系統的外表和體驗,這個指南並不適合您。但如果您真的想打造一個 Linux 發行版,並且向了解怎麼開始以及一些其他的信息,那麼這個指南正是為您而寫。
2. 打造一個 Linux 發行版(LFS)的好處
您將了解 Linux 系統的內部工作機制
您將開發一個靈活的適應您需求的系統
您開發的系統(LFS)將會非常緊湊,因為您對該包含/不該包含什麼擁有絕對的掌控
您開發的系統(LFS)在安全性上會更好
3. 打造一個Linux發行版(LFS)的壞處
打造一個 Linux 系統意味著將所有需要的東西放在一起並且編譯之。這需要許多查閱、耐心和時間。而且您需要一個可用的 Linux 系統和足夠的磁碟空間來打造 LFS。
4. 有趣的是,Gentoo/GNU Linux 在某種意義上最接近於 LFS。Gentoo 和 LFS 都是完全從源碼編譯的定製的 Linux 系統
5. 您應該是一個有經驗的Linux用戶,對編譯包、解決依賴有相當的了解,並且是個 shell 腳本的專家。
了解一門編程語言(最好是 C 語言)將會使事情變得容易些。但哪怕您是一個新手,只要您是一個優秀的學習者,可以很快的掌握知識,您也可以開始。最重要的是不要在 LFS 過程中丟失您的熱情。
如果您不夠堅定,恐怕會在 LFS 進行到一半時放棄。
**6. 現在您需要一步一步的指導來打造一個 Linux 。LFS 手冊是打造 LFS 的官方指南。我們的合作站點 tradepub 也為我們的讀者製作了 LFS 的指南,這同樣是免費的。 ###
您可以從下面的鏈接下載 Linux From Scratch 的電子書:

下載: Linux From Scratch
7. 當前 LFS 的版本是 7.7,分為 systemd 版本和非 systemd 版本。
LFS 的官方網站是: http://www.linuxfromscratch.org/
您可以在官網在線瀏覽 LFS 以及類似 BLFS 這樣的相關項目的手冊,也可以下載不同格式的版本。
LFS (非 systemd 版本):
PDF 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7.pdf
單一 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7-NOCHUNKS.html
打包的多頁 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/stable/LFS-BOOK-7.7.tar.bz2
LFS (systemd 版本):
PDF 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd.pdf
單一 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd-NOCHUNKS.html
打包的多頁 HTML 版本: http://www.linuxfromscratch.org/lfs/downloads/7.7-systemd/LFS-BOOK-7.7-systemd.tar.bz2
8. Linux 中國/LCTT 翻譯了一份 LFS 手冊(7.7,systemd 版本)
經過 LCTT 成員的努力,我們終於完成了對 LFS 7.7 systemd 版本手冊的翻譯。
手冊在線訪問地址:https://linux.cn/lfs/LFS-BOOK-7.7-systemd/index.html 。
其它格式的版本稍後推出。
感謝參與翻譯的成員: wxy, ictlyh, dongfengweixiao, zpl1025, H-mudcup, Yuking-net, kevinSJ 。

關於:Linux From Scratch
這本手冊是由 LFS 的項目領頭人 Gerard Beekmans 創作的, Matthew Burgess 和 Bruse Dubbs 參與編輯,兩人都是LFS 項目的聯合領導人。這本書內容很廣泛,有 338 頁之多。
手冊中內容包括:介紹 LFS、准備構建、構建 LFS、建立啟動腳本、使 LFS 可以引導,以及附錄。其中涵蓋了您想知道的 LFS 項目中的所有東西。
這本手冊還給出了編譯一個包的預估時間。預估的時間以編譯第一個包的時間作為參考。所有的東西都以易於理解的方式呈現,甚至對於新手來說也是這樣。
如果您有充裕的時間並且真正對構建自己的 Linux 發行版感興趣,那麼您絕對不會錯過下載這個電子書(免費下載)的機會。您需要做的,便是照著這本手冊在一個工作的 Linux 系統(任何 Linux 發行版,足夠的磁碟空間即可)中開始構建您自己的 Linux 系統,付出時間和熱情。
如果 Linux 使您著迷,如果您想自己動手構建一個自己的 Linux 發行版,這便是現階段您應該知道的全部了,其他的信息您可以參考上面鏈接的手冊中的內容。
請讓我了解您閱讀/使用這本手冊的經歷,這本詳盡的 LFS 指南的使用是否足夠簡單?如果您已經構建了一個 LFS 並且想給我們的讀者一些建議,歡迎留言和反饋。
BLFS階段,startx後firefox等程序中文全部亂碼問題的解決 http://www.linuxidc.com/Linux/2007-05/3789.htm
用LFS從零開始構建完整Linux系統 http://www.linuxidc.com/Linux/2011-08/40706.htm
基於Ubuntu 10.10 構建LFS 6.7[圖文] http://www.linuxidc.com/Linux/2011-02/32545.htm
via: http://www.tecmint.com/create-custom-linux-distribution-from-scratch/
作者:Avishek Kumar 譯者:wwy-hust 校對:wxy
本文由 LCTT 原創翻譯

Ⅱ 製作linux系統U盤並使用U盤安裝CentOS7.6系統

一、製作linux啟動盤

使用光碟刻錄軟體將系統鏡像刻錄到U盤後使用U盤安裝系統。

1、 准備

1個大於8GU盤(最小1G以上,最好8G)

官方系統鏡像(CentOS7-1810)

光碟刻錄軟體(UltraISO)

2、 製作linux系統優盤

二、使用U盤安裝CentOS7.6系統

1、 插入剛剛製作的系統U盤進入BIOS,更改U盤為第一啟動項。

2、 進入centos安裝界面,按TAB鍵進入配置編輯(根據提示,uefi是按e鍵)

3、 進入圖形界面如果不出現報錯就是成功了,可以正常安裝操作系統了。

安裝之後重啟後關機移除U盤在開機即可正常使用。

Ⅲ 如何用u盤製作成linux系統的安裝盤

以製作Ubuntulinux系統為例:

1、首先要下載Ubuntu系統,在網路搜索Ubuntu,打開Ubuntu官網。

Ⅳ 如何定製小型的linux系統,具體的步驟,謝謝了

系統啟動過程
1、加電自檢(POST代碼)
2、boot loader
GRUB -- /boot/grub/grub.conf
kernel
initrd.img
3、INIT
/sbin/init ----- /etc/inittab
/etc/rc.d/rc.sysinit
/etc/rc.d/rc RUNLEVEL
/etc/rc$runlevel.d/S* start
/etc/rc$runlevel.d/K* stop
/etc/X11/prefdm

4、登錄
文本 login
圖形 gdm/kdm
自製一個U盤系統
准備工作:在真實機中把yum配置好
[root@localhost /]# ls /mnt/Server/ 這是軟體包所處的目錄
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-debuginfo.repo
[root@localhost yum.repos.d]# cp rhel-debuginfo.repo pg.repo
[root@localhost yum.repos.d]# vim pg.repo
[root@localhost yum.repos.d]# cat pg.repo
[rhel-server]
name=Red Hat Enterprise Linux
baseurl=file:///mnt/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

1、准備U盤,並分區,格式化成ext3(可選)文件系統[root@localhost pg]# fdisk -l
[root@localhost pg]# fdisk -l
Disk /dev/sda: 4003 MB, 4003463168 bytes
84 heads, 20 sectors/track, 4654 cylinders
Units = cylinders of 1680 * 512 = 860160 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 5 4655 3905600 c W95 FAT32 (LBA)

[root@localhost pg]# fdisk /dev/sda

The number of cylinders for this disk is set to 4654.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/sda: 4003 MB, 4003463168 bytes
84 heads, 20 sectors/track, 4654 cylinders
Units = cylinders of 1680 * 512 = 860160 bytes

Device Boot Start End Blocks Id System

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4654, default 1):
Using default value 1
Last cylind[root@localhost pg]# mount -t ext3 /dev/sda1 /neter or +size or +sizeM or +sizeK (1-4654, default 4654):
Using default value 4654

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@localhost pg]# partprobe /dev/sda
[root@localhost pg]# ls /dev/sda1
/dev/sda1
--------------
[root@localhost pg]# mkfs.ext3 /dev/sda1

2、掛載U盤,並把相關文件拷到U盤中
[root@localhost pg]# mount -t ext3 /dev/sda1 /net

把/目錄樹結構在u盤創建好
]# yum --installroot=/net -y install filesystem

/boot
這個目錄應該有vmlinuz-x.x.x initrd-x.x.x.img
/boot/grub
這個目錄中應該有grub的相關文件
grub還要安裝到u盤的首扇區中(grub-install)
/bin /sbin /lib /usr/lib
這些個目錄下應該有一些命令和庫文件
bash ls cp mv
mount
ifconfig
fdisk
mkfs.ext3

基本上你需要的程序比較多,大概有以下一些常用的:
coreutils setup grub vim-enhanced
vim-common gpm perl iptables
openssh openssh-clients
mole-init-tools iputils grep awk sed
procps tar bash gcc make rp-pppoe
passwd libuser e2fsprogs util-linux
net-tools SysVinit kernel

-----------------------
a.關於vmlinuz文件:
]# cp /boot/vmlinuz-2.6.18-194.el5 /net/boot/
b.關於initrd.img文件: 為了包含u盤的驅動,需要手動生成initrd.img(包含usb-storage)
]# modinfo -F filename usb-storage

]# mkinitrd --with=usb-storage /net/boot/initrd-usb-2.6.18-194.img `uname -r`
c. 使用此命令grub-install將grub安裝到u盤的首扇區中
grub-install 需要安裝grub軟體包生成
]# yum --installroot=/net -y install grub
]# grub-install /dev/sda 最後執行這一步,還有一些必要工作沒做

d. ]# cat /net/boot/grub/grub.conf
default=0
timeout=5
title RHEL5U5 usb linux for pg
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-194.el5 ro root=/dev/sda1
initrd /boot/initrd-usb-2.6.18-194.img

e. 為了生成以下這些常用的命令,裝包
bash ls cp mv
mount
ifconfig
fdisk
mkfs.ext3

yum bash ls cp mv
mount
ifconfig
fdisk
mkfs.ext3
yum --installroot=/net -y install coreutils setup grub vim-enhanced vim-common gpm perl iptables openssh openssh-clients mole-init-tools iputils grep awk sed procps tar bash gcc make rp-pppoe passwd libuser e2fsprogs util-linux net-tools SysVinit kernel pam

f.在U盤系統啟動的時候,需要讀fstab文件,掛載文件系統
]# cp /etc/fstab /net/etc

]# vim /net/etc/fstab
]# cat /net/etc/fstab
/dev/sda1 / ext3 defaults 0 0

開始安裝GRUB程序
]# chroot /net/
bash-3.2#
]# chroot /net/
bash-3.2# grub-install /dev/sda
Probing devices to guess BIOS drives. This may take a long time.
No suitable drive was found in the generated device map. 這個錯誤意味著需要去寫devices.map文件
bash-3.2# ls /dev/sda
ls: /dev/sda: 沒有那個文件或目錄
bash-3.2# ls /dev/sda1
ls: /dev/sda1: 沒有那個文件或目錄
bash-3.2# mknod /dev/sda b 8 0
bash-3.2# mknod /dev/sda1 b 8 1
bash-3.2# cat /etc/mtab
/dev/sda1 / ext3 rw 0 0
bash-3.2# cat /boot/grub/device.map
(fd0) /dev/fd0
(hd0) /dev/sda

bash-3.2# grub-install /dev/sda
Could not find device for /dev/mapper/*
Could not find device for /dev/mapper/*
Could not find device for /dev/mapper/*
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0) /dev/fd0
(hd0) /dev/sda

]# chroot /net/
bash-3.2# passwd root 修改密碼不成功,將導致 u盤系統啟動後,用root登錄不成功。
Changing password for user root.
passwd: Authentication token manipulation error
解決方法:
vim /net/etc/passwd
root:*:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
這樣再把root密碼設置為你想要的!

檢查 以下過程是否正確:
/boot/grub/grub.conf
/etc/inittab ---默認運行級別應該是3
/etc/fstab
/etc/passwd
/etc/shadow
pam程序包做驗證的
ls /dev/sda /dev/sda1
]# chroot /net/
bash-3.2# passwd root 這一步必須能成功

---------------------------------------

[root@localhost pg]# rpm -q kernel-doc
kernel-doc-2.6.18-194.el5
[root@localhost pg]# gedit /usr/share/doc/kernel-doc-2.6.18/Documentation/devices.txt

熱點內容
java數據挖掘演算法 發布:2024-11-24 07:18:59 瀏覽:853
我的世界伺服器怎麼重開指令 發布:2024-11-24 07:14:13 瀏覽:155
python刪除dataframe 發布:2024-11-24 07:05:38 瀏覽:734
安卓機藍牙怎麼傳東西 發布:2024-11-24 06:58:34 瀏覽:108
android疊效果 發布:2024-11-24 06:58:33 瀏覽:991
富士通電腦伺服器設置u盤啟動 發布:2024-11-24 06:56:21 瀏覽:716
delphipython 發布:2024-11-24 06:51:24 瀏覽:866
安卓手機如何添加文字 發布:2024-11-24 06:50:54 瀏覽:567
小米存儲位置設置 發布:2024-11-24 06:45:10 瀏覽:207
iosandroid前景好 發布:2024-11-24 06:45:05 瀏覽:783