⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bootfloppy.txt

📁 busybox最新版的源码:学习和应用的好东东,多的不说了,大家看后再说吧
💻 TXT
字号:
Building a Busybox Boot Floppy==============================This document describes how to buid a boot floppy using the followingcomponents: - Linux Kernel (http://www.kernel.org) - uClibc: C library (http://www.uclibc.org/) - Busybox: Unix utilities (http://busybox.net/) - Syslinux: bootloader (http://syslinux.zytor.com)It is based heavily on a paper presented by Erik Andersen at the 2001 EmbeddedSystems Conference.Building The Software Components--------------------------------Detailed instructions on how to build Busybox, uClibc, or a working Linuxkernel are beyond the scope of this document. The following guidelines willhelp though:	- Stock Busybox from CVS or a tarball will work with no modifications to	  any files. Just extract and go.	- Ditto uClibc.	- Your Linux kernel must include support for initrd or else the floppy	  won't be able to mount it's root file system.If you require further information on building Busybox uClibc or Linux, pleaserefer to the web pages and documentation for those individual programs.Making a Root File System-------------------------The following steps will create a root file system. - Create an empty file that you can format as a filesystem:	dd if=/dev/zero of=rootfs bs=1k count=4000 - Set up the rootfs file we just created to be used as a loop device (may not   be necessary)	losetup /dev/loop0 rootfs - Format the rootfs file with a filesystem:	mkfs.ext2 -F -i 2000 rootfs - Mount the file on a mountpoint so we can place files in it:	mkdir loop	mount -o loop rootfs loop/	(you will probably need to be root to do this) - Copy on the C library, the dynamic linking library, and other necessary   libraries. For this example, we copy the following files from the uClibc   tree:	mkdir loop/lib	(chdir to uClibc directory)	cp -a libc.so* uClibc*.so \		ld.so-1/d-link/ld-linux-uclibc.so* \		ld.so-1/libdl/libdl.so* \		crypt/libcrypt.so* \		(path to)loop/lib - Install the Busybox binary and accompanying symlinks:	(chdir to busybox directory)	make CONFIG_PREFIX=(path to)loop/ install - Make device files in /dev: 	This can be done by running the 'mkdevs.sh' script. If you want the gory	details, you can read the script. - Make necessary files in /etc:	For this, just cp -a the etc/ directory onto rootfs. Again, if you want	all the details, you can just look at the files in the dir. - Unmount the rootfs from the mountpoint:	umount loop - Compress it:	gzip -9 rootfsMaking a SYSLINUX boot floppy-----------------------------The following steps will create the boot floppy.Note: You will need to have the mtools package installed beforehand. - Insert a floppy in the drive and format it with an MSDOS filesystem:	mformat a:	(if the system doesn't know what device 'a:' is, look at /etc/mtools.conf) - Run syslinux on the floppy:	syslinux -s /dev/fd0	(the -s stands for "safe, slow, and stupid" and should work better with	buggy BIOSes; it can be omitted) - Put on a syslinux.cfg file:	mcopy syslinux.cfg a:	(more on syslinux.cfg below) - Copy the root file system you made onto the MSDOS formatted floppy	mcopy rootfs.gz a: - Build a linux kernel and copy it onto the disk with the filename 'linux'	mcopy bzImage a:linuxSample syslinux.cfg~~~~~~~~~~~~~~~~~~~The following simple syslinux.cfg file should work. You can tweak it if youlike.----begin-syslinux.cfg---------------DEFAULT linuxAPPEND initrd=rootfs.gz root=/dev/ram0TIMEOUT 10PROMPT 1----end-syslinux.cfg---------------Some changes you could make to syslinux.cfg: - This value is the number seconds it will wait before booting. You can set   the timeout to 0 (or omit) to boot instantly, or you can set it as high as   10 to wait awhile. - PROMPT can be set to 0 to disable the 'boot:' prompt. - you can add this line to display the contents of a file as a welcome   message:	DISPLAY display.txtAdditional Resources--------------------Other useful information on making a Linux bootfloppy is available at thefollowing URLs:http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/index.htmlhttp://www.linux-embedded.com/howto/Embedded-Linux-Howto.htmlhttp://linux-embedded.org/howto/LFS-HOWTO.htmlhttp://linux-embedded.org/pmhowto.htmlhttp://recycle.lbl.gov/~ldoolitt/embedded/ (Larry Doolittle's stuff)Possible TODOs--------------The following features that we might want to add later: - support for additional filesystems besides ext2, i.e. minix - different libc, static vs dynamic loading - maybe using an alternate bootloader

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -