使用debirf制作龙芯2F的LiveUSB

使用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分钟

猜你喜欢

转载自blog.51cto.com/13752418/2133914