制作 Ubuntu 11.10 启动 SD 卡

缘由:

  • 自己经常需要帮别人掰掰机器;
  • 现在的笔电都有内置的 SD 卡读卡器,就算没有我手头也有 USB 接口的读卡器;
  • SD 卡比 U 盘便宜多了,而且手上有闲卡。

鉴于以上几点,我打算制作一只 SD 卡启动盘以备不时之需。(现在的 SD 卡好像以前的软盘,一插就能用,还带写保护 =。=)

准备工作:

首先准备一张 1GB 的空白 SD 卡(如果你觉得你要塞下很多其它的玩意的话你也可以用 2GB 的,但是 4GB 的就完全不必了,很浪费),下载好 Ubuntu 11.10 的 CD 镜像(用 amd64 的镜像吧骚年,我是不打算对付那些古董机器),然后还需要一台已经装好 Ubuntu 的机器(从 Live CD 启动的也可以)。最后还需要一只有足够空间( 1GB 绰绰有余)的移动存储设备来存放一些临时文件(这货其实可以省掉,但是正如大家知道的那样,写这篇文章的家伙是异常地懒啊……)。

制作步骤:

  • 从 Ubuntu 的程序菜单中找到“启动盘创建器”(如果你不用 Unity 的话,可以在“系统”→“系统管理”菜单中找到它);
  • 单击“其它”按钮并找到你下载的 Ubuntu 11.10 安装 CD 镜像;
  • 插入准备好的空白 SD 卡,在列表中选中那张卡并点击“格式化磁盘”;
  • 点击“制作启动盘”按钮。

这样一张基本的 SD 卡启动盘就做好了。然而这是远远不够的,因为有好多要用的工具里面都没有……

现在列出要用的玩意:

  • mentohust
  • smartmontools
  • nmap
  • wireshark
  • and blah blah blah

为了安装这些包,我们需要用 SD 卡引导系统(进入到卡上的系统中)。鉴于 VirtualBox 没有 USB 引导支持,我索性拿来老妈的机器用。

  • 插入 SD 卡,在 syslinux 的启动菜单中选好语言并引导系统;
  • 单击 Unity 菜单中的“系统设置”→“软件源”,修改必要的设置,尤其是要让他用中国的镜像服务器(要不然非跪了不可);
  • 连上网络(我用的无线);
  • Alt + F2 运行 gnome-terminal (打开终端干活咯!);
  • sudo apt-get update ;
  • sudo apt-get upgrade -d ;
  • sudo apt-get install blah blah blah … ;
  • 插入事先准备好的移动存储设备,将 /var/cache/apt/archives 下的 deb 包统统拷进去;
  • 重启系统,并且仍然用 SD 卡引导,同样设置一下软件源并联网;
  • 最好先 sudo apt-get update 一下免得呆会儿麻烦;
  • 剔除移动存储设备里不需要的软件包,比如 libreoffice/thunderbird/banshee/ubuntu-docs 的更新等等;
  • 打开终端,切换到移动存储设备下;
  • sudo apt-get purge software-center (否则下一步你就坐等死机吧……如果机器只有 2GB 内存的话。);
  • sudo dpkg -i *.deb ;
  • 观察有无安装失败的包,若有则单独安装,看看出现了啥问题。一般是些依赖问题,很容易解决( sudo apt-get -f install 什么的……);
  • 重复上述两步直到所有包都能正常安装;
  • /var/cache/apt/archives 下会新增一些 deb 包(因为解决了依赖问题),同样把它们拷入移动存储设备中;
  • 重启进入正常的系统,在 SD 卡下建立一个文件夹,把先前存在移动存储设备上的 deb 包放进去;
  • 把一些其他的玩意例如 CUDA-Z 之类的也扔进去;
  • 写个脚本,里面是 cd `dirname $0`; sudo dpkg -i *.deb 一类的。

至此,这张 SD 卡启动盘基本上完工了,可怜的 1GB SD 卡也应该基本上啥剩余空间都没有了。弹出然后锁上写保护,最后用圆珠笔在上面写上一点说明的文字吧。

制作完毕之后:

$ tree /media/LINUX_X8664/TOOLS/
/media/LINUX_X8664/TOOLS/
├── 802.1x
│   ├── dot1xclient-1.1.1_THU_3.0.4
│   │   ├── dot1x
│   │   ├── dot1xc
│   │   ├── dot1xpasswd
│   │   ├── etc
│   │   │   ├── dot1xc.conf
│   │   │   └── passwd
│   │   └── ReadMe
│   ├── drcom-1.4.8.1.tar.bz2
│   ├── h3c802.1xClient_HZAU
│   │   ├── linux1x-h3c-2.20-0210-modified-stripped
│   │   ├── pre.sh
│   │   ├── readme.pdf
│   │   └── renew.sh
│   ├── mentohust-0.3.1-stripped
│   ├── tunet-3.0.6-5-Linux-i686_THU
│   │   ├── README
│   │   ├── tunet
│   │   ├── tunetclient
│   │   │   └── tunet.conf
│   │   └── tunetpasswd
│   └── wxipgw_0.985_amd64.tar.gz
├── install.sh
├── misc
│   ├── asfbin-bin
│   ├── cpyrit-cuda-0.4.0.tar.gz
│   ├── cpyrit-opencl-0.4.0.tar.gz
│   ├── CUDA-Z-0.5.95-i686.run
│   ├── flashplayer11_rc1_install_lin_64_090611.tar.gz
│   ├── flashplayer11_rc1_playerglobal_090611.swc
│   ├── JLink_Linux_V440a.tar.bz2
│   ├── mediacheck
│   ├── pyrit-0.4.0.tar.gz
│   ├── UnixBench.tar.bz2
│   └── youtube-dl
└── pool
    ├── accountsservice_0.6.14-1git1ubuntu1_amd64.deb
......
    ├── first
    │   └── libpam-modules-bin_1.1.3-2ubuntu2.1_amd64.deb

19 directories, 494 files

多出来个 first 是因为 dpkg 在处理依赖的时候会出现一点小抽风……

/media/LINUX_X8664/TOOLS/install.sh 的内容(写的小脚本,方便每次启动后安装额外的软件包):

#!/bin/sh
sudo apt-get purge software-center
cd `dirname $0`
cd pool/first
sudo dpkg -i *.deb
cd ..
sudo dpkg -i *.deb

做好后的 SD 卡引导盘系酱紫滴:

恩,用的联想(←本文最大槽点无误)的 1GB 66倍速(俗称龟速)卡,这张卡还是在云南旅游的时候买的,当时相机上的 512MB SD 卡吃不住了……

制作心得:在 SD 卡上写字好难啊,如果有极细的油性笔就好了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据