文档章节

Preparing Files for USB Memory Stick Booting

TinkerS
 TinkerS
发布于 2014/06/02 22:20
字数 1061
阅读 183
收藏 1

4.3. Preparing Files for USB Memory Stick Booting

There are two installation methods possible when booting from USB stick. The first is to install completely from the network. The second is to also copy a CD image onto the USB stick and use that as a source for packages, possibly in combination with a mirror. This second method is the more common.

For the first installation method you'll need to download an installer image from the netboot directory (at the location mentioned in Section 4.2.1, “Where to Find Installation Images”) and use the “flexible way” explained below to copy the files to the USB stick.

Installation images for the second installation method can be found in the hd-media directory and either the “easy way” or the “flexible way” can be used to copy the image to the USB stick. For this installation method you will also need to download a CD image. The installation image and the CD image must be based on the same release of debian-installer. If they do not match you are likely to get errors[6] during the installation.

To prepare the USB stick, you will need a system where GNU/Linux is already running and where USB is supported. With current GNU/Linux systems the USB stick should be automatically recognized when you insert it. If it is not you should check that the usb-storage kernel module is loaded. When the USB stick is inserted, it will be mapped to a device named /dev/sdX, where the “X” is a letter in the range a-z. You should be able to see to which device the USB stick was mapped by running the command dmesg after inserting it. To write to your stick, you may have to turn off its write protection switch.

Warning

The procedures described in this section will destroy anything already on the device! Make very sure that you use the correct device name for your USB stick. If you use the wrong device the result could be that all information on for example a hard disk could be lost.

Note that the USB stick should be at least 256 MB in size (smaller setups are possible if you follow Section 4.3.2, “Copying the files — the flexible way”).

4.3.1. Copying the files — the easy way

There is an all-in-one file hd-media/boot.img.gz which contains all the installer files (including the kernel) as well as syslinux and its configuration file.

Note that, although convenient, this method does have one major disadvantage: the logical size of the device will be limited to 256 MB, even if the capacity of the USB stick is larger. You will need to repartition the USB stick and create new file systems to get its full capacity back if you ever want to use it for some different purpose. A second disadvantage is that you cannot copy a full CD image onto the USB stick, but only the smaller businesscard or netinst CD images.

To use this image simply extract it directly to your USB stick:

# zcat boot.img.gz > /dev/sdX

After that, mount the USB memory stick (mount /dev/sdX /mnt), which will now have a FAT filesystem on it, and copy a Debian netinst or businesscard ISO image to it. Unmount the stick (umount /mnt) and you are done.

4.3.2. Copying the files — the flexible way

If you like more flexibility or just want to know what's going on, you should use the following method to put the files on your stick. One advantage of using this method is that — if the capacity of your USB stick is large enough — you have the option of copying a full CD ISO image to it.

4.3.2.1. Partitioning the USB stick

We will show how to set up the memory stick to use the first partition, instead of the entire device.

Note

Since most USB sticks come pre-configured with a single FAT16 partition, you probably won't have to repartition or reformat the stick. If you have to do that anyway, use cfdisk or any other partitioning tool to create a FAT16 partition[7], and then create the filesystem using:

# mkdosfs /dev/sdX1

Take care that you use the correct device name for your USB stick. The mkdosfs command is contained in the dosfstools Debian package.

In order to start the kernel after booting from the USB stick, we will put a boot loader on the stick. Although any boot loader (e.g. lilo) should work, it's convenient to use syslinux, since it uses a FAT16 partition and can be reconfigured by just editing a text file. Any operating system which supports the FAT file system can be used to make changes to the configuration of the boot loader.

To put syslinux on the FAT16 partition on your USB stick, install the syslinux and mtools packages on your system, and do:

# syslinux /dev/sdX1

Again, take care that you use the correct device name. The partition must not be mounted when starting syslinux. This procedure writes a boot sector to the partition and creates the file ldlinux.sys which contains the boot loader code.

4.3.2.2. Adding the installer image

Mount the partition (mount /dev/sdX1 /mnt) and copy the following installer image files to the stick:

  • vmlinuz or linux (kernel binary)

  • initrd.gz (initial ramdisk image)

You can choose between either the regular version or the graphical version of the installer. The latter can be found in the gtk subdirectory. If you want to rename the files, please note that syslinux can only process DOS (8.3) file names.

Next you should create a syslinux.cfg configuration file, which at a bare minimum should contain the following two lines (change the name of the kernel binary to “linux” if you used a netboot image):

default vmlinuz append initrd=initrd.gz

For the graphical installer you should add video=vesa:ywrap,mtrr vga=788 to the second line.

If you used an hd-media image, you should now copy a Debian ISO image[8] onto the stick. When you are done, unmount the USB memory stick (umount /mnt).

4.3.3. Booting the USB stick

Warning

If your system refuses to boot from the memory stick, the stick may contain an invalid master boot record (MBR). To fix this, use the install-mbr command from the package mbr:

# install-mbr /dev/sdX


© 著作权归作者所有

共有 人打赏支持
TinkerS
粉丝 8
博文 55
码字总数 12670
作品 0
高级程序员
私信 提问
制作freebsd U盘启动过程。官方文档摘录

To create a bootable memory stick, follow these steps: Acquire the Memory Stick Image The memory stick image can be downloaded from the ISO-IMAGES/ directory fromftp://ftp.FreeB......

曹培
2012/01/17
0
0
From PowerOn to Android – The Boot Sequence

现在的arm soc嵌入式系统,如android设备,启动过程虽然各个soc均有差异,但大体一致.即有一段程序内置在soc的rom中,可根据外接管脚的选择不同的启动设备,如内部nand,sd卡,u盘等,这段代码可以认...

心翔
2016/10/23
8
0
Dual DHCP DNS Server

Dual DHCP DNS Server 是一个提供 DHCP 和 DNS 服务的服务器软件,每一个功能都可以单独启用或者关闭。 It has built in dynamic updates, and also supports BOOTP PXE network booting and...

匿名
2009/03/27
5.8K
0
The Bootloader – Understanding, Modifying, Building and Installing

Once we have understood how our device boots up, we will then cover the technical aspects of how to flash our device. As in the boot sequence, the 3 main components that need to......

心翔
2016/10/24
12
2
使用USB设备安装Linux系统的方法(制作U盘启动安装Linux)

Create a bootable USB stick on Linux Download Witsbits ISO image (as described in the previous step) and save it to your hard drive. Insert an USB stick with at least 1GB of spa......

LionelShen
2013/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring学习记录

Java类定义配置 @Configuration //标记为配置类@ComponentScan //标记为扫描当前包及子包所有标记为@Component的类@ComponentScan(basePackageClasses = {接口.class,...}) //标记为扫描当...

CHONGCHEN
47分钟前
1
0
如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
3
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部