1. 程式人生 > >使用debirf制作龍芯2F的LiveUSB

使用debirf制作龍芯2F的LiveUSB

mkdir ror -c mov ear 打開 AR form onf

使用debirf制作龍芯2F的LiveUSB

Debirf是一制作初始內存盤的工具,可以創建完全在內存運行的LiveCD Debian小型發行版.
本文內容是制作一可在龍芯2F上運行的LiveUSB,作為系統維護工具.

環境:龍芯2F筆記本逸瓏8089,debian 9,o32

1.安裝
root@debian:~# apt-get install debirf

(說明:debirf使用了fakechroot,正常來說普通用戶可運行debirf,但我在普通用戶運行debirf總出問題,所以下面都是在root用戶下進行)

2.新建工作目錄
root@debian:~# cd ~
root@debian:~# mkdir liveusb

3.解壓debirf自帶的最簡制作例子
root@debian:~# cd liveusb
root@debian:~/liveusb# tar xzf /usr/share/doc/debirf/example-profiles/minimal.tgz
root@debian:~/liveusb# ls
minimal

4.修改minimal目錄下的debirf.conf文件
增加下面內容:
#版本代號
DEBIRF_SUITE=stretch

#發行版
DEBIRF_DISTRO=debian

#鏡像源
DEBIRF_MIRROR=http://ftp.cn.debian.org/debian

5.創建
root@debian:~/liveusb# debirf make minimal

Warning: You are running debirf as root. There is a potential
for improperly written modules to damage your system.
Are you sure you wish to continue? [y|N]:
(註意此句的警告:在root下運行debirf,有可能破壞系統)
...

生成了
Removing ‘diversion of /usr/bin/ldd to /usr/bin/ldd.REAL by fakechroot‘
debirf> modules complete
debirf> creating debirf initrd (‘nested‘)...

debirf> creating rootfs.cgz...
630749 blocks
debirf> creating wrapper cgz...
217847 blocks
debirf> debirf initrd created.
debirf> kernel: /root/liveusb/minimal/vmlinux-4.6.0-1-loongson-2f
debirf> initrd: /root/liveusb/minimal/debirf-minimal_stretch_4.6.0-1-loongson-2f.cgz


內核文件 : /root/liveusb/minimal/vmlinux-4.6.0-1-loongson-2f
初始內存映像文件: /root/liveusb/minimal/debirf-minimal_stretch_4.6.0-1-loongson-2f.cgz

6.格式化U盤
因龍芯2F的PMON不支持U盤大於2G分區,大於2G的U盤先分一2G的分區,且U盤僅只一個分區,並將U盤分區格式化為ext2格式

7.復制上面生成的內核文件和初始內存映像文件到U盤

8.安裝grub2到U盤
龍芯2F的PMON可直接引導內核和加載初始內存映像,但PMON加載初始內存映像特別慢.
所以這裏使用間接的方法:U盤安裝grub2,由PMON引導grub2,然後grub2引導內核和加載初始內存映像

(說明:我沒龍芯3A的電腦,但據說龍芯3A的PMON就沒U盤容量大小限制,加載初始內存映像也快)

我的U盤的掛載點是/media/usb

root@debian:~/liveusb# cd ~

root@debian:~# grub-install --boot-directory=/media/usb
Installing for mipsel-loongson platform.
grub-install: warning: WARNING: no platform-specific install was performed.
Installation finished. No error reported.

root@debian:~# ls /media/usb/grub
fonts grubenv locale mipsel-loongson

root@debian:~# cat /media/usb/grub/mipsel-loongson/load.cfg
search.fs_uuid ae174b7f-bc73-4329-a2ed-c06cd4b98ee9 root ahci1,msdos1
set prefix=($root)‘/grub‘
root@debian:~#

(說明:ae174b7f-bc73-4329-a2ed-c06cd4b98ee9是U盤的uuid)

root@debian:~# ls /media/usb
debirf-minimal_stretch_4.6.0-1-loongson-2f.cgz
grub
grub.elf
vmlinux-4.6.0-1-loongson-2f
root@debian:~#

/media/usb/grub/下創建編輯grub.cfg文件
root@debian:~# cat /media/usb/grub/grub.cfg
set timeout=15
menuentry ‘Debian liveusb‘ {
insmod part_msdos
insmod ext2
set=root ae174b7f-bc73-4329-a2ed-c06cd4b98ee9
echo ‘Loading Linux 4.6.0-1-loongson-2f...‘

linux /vmlinux-4.6.0-1-loongson-2f
echo ‘Loading initial ramdisk...‘
initrd /debirf-minimal_stretch_4.6.0-1-loongson-2f.cgz
}

配置的關鍵是設置正確的U盤的uuid,不同情況下分區格式化,uuid是不同的,可用uuid查看工具或直接查看U盤安裝完grub2後的../grub/mipsel-loongson/load.cfg

9.啟動
插上U盤,開機上電,根據畫面提示按<del>鍵進入PMON
PMON>
PMON> load (usb0,0)/grub.elf
PMON> g
已打開grub菜單

已成功啟動liveusb,加載初始內存盤映像約2分鐘

使用debirf制作龍芯2F的LiveUSB