1、A. 有字符显示。B。能通过键盘输入字符C。能执行ls等简单命令根据以上需求,并分析Linux平台的架构。该最小系统特征如下A。kernel+rootfs, 不使用initrd.B. ls等命令放在rootfs中,elf格式。静态编译,不支持动态链接库。 kernel支持elf可执行文件格式D。 kernel不支持可加载模块功能。必要的驱动直接编译到kernel中。E。kernel应包含字符的显示驱动、键盘驱动。F。rootfs放在IDE硬盘上,所以kernel应包含PATA驱动G。rootfs为EXT3文件系统,kernel应包含EXT2、EXT3文件系统驱动。rootgoldway # c
2、at /proc/versionLinux version 2.6.18-1.2798.fc6 (brewbuilderhs20-bc2-) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30) #1 SMP Mon Oct 16 14:37:32 EDT 2006rootgoldway # cat /proc/cpuinfoprocessor : 0vendor_id GenuineIntelcpu family: 15model 2model name Intel(R) Celeron(R) CPU 2.60GHzstepping 9cpu MHz
3、2625.987cache size 128 KBfdiv_bug nohlt_bugf00f_bugcoma_bugfpu yesfpu_exceptioncpuid levelwpflags fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid xtprbogomips 5257.90rootgoldway # lspci00:00.0 Host bridge: VIA Technologies, I
4、nc. P4M266 Host Bridge01.0 PCI bridge: VIA Technologies, Inc. VT8633 Apollo Pro266 AGP10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)10.1 USB Controller:10.2 USB Controller:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)11.0 ISA bridge: VIA Technol
5、ogies, Inc. VT8235 ISA Bridge11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)11.5 * audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)12.0 Ethernet controller: VIA Technologies, Inc. VT6102 Rhine-II (r
6、ev 74)01:00.0 VGA compatible controller: nVidia Corporation NV34 GeForce FX 5200 (rev a1)rootgoldway # fdisk -lDisk /dev/hda: 160.0 GB, 160041885696 bytes255 heads, 63 sectors/track, 19457 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice BootStartEndBlocksIdSystem/dev/hda1*11001804050
7、1 7HPFS/NTFS/dev/hda21002 19457148247820 fW95 Extd (LBA)/dev/hda55001 32129968+7/dev/hda650029001/dev/hda79002 13001cW95 FAT32 (LBA)/dev/hda813002 17001/dev/hda918213 1000043183Linux/dev/hda10 17002 180818675068+/dev/hda11 18082 18212105222682Linux swap / SolarisPartition table entries are not in di
8、sk orderrootgoldway # mount/dev/hda10 on / type ext3 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/hda7 on /mnt/windows/f type vfat (rw)/dev/hda8 on /mnt/windows/g type vfat (rw)none on /proc/sys/f
9、s/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)/dev/hda9 on /mnt/cdrom type ext3 (rw)请注意以下几点:硬盘是IDE接口,所以这篇文档描述的操作不适合于使用SATA硬盘的朋友。我使用的linux dist是fedora core 6. gcc version 4.1.1/dev/hda10是fc6的/, 即将构建的最小系统的文件将放在/dev/hda9中。A. 选择busybox-1.15.3构建rootfs.B. 内核版本选择l
10、inux-2.6.26.5 。gcc4.1.1不支持最新版的kernel. rootgoldway # ll /mnt/cdrom总计 728drwxr-xr-x 2 root root4096 12-31 19:20 bin-rw-r-r- 1 root root 701872 01-01 00:28 bzImage27 dev-rw-r-r- 1 root root3900 2010-01-01 dmesg.txtdrwxr-xr-x 3 root root4096 01-01 13:03 etc07 mnt25 proc20 sbin25 sysdrwxr-xr-x 4 root roo
11、t20 usr以上文件夹打包给大家rootgoldway cdrom# tar jcf ./rootfs.tar.bz2 *rootgoldway cdrom# ll .总计 1508drwxr-xr-x 10 root root 4096 2010-01-01 cdrom-rw-r-r-1 root root 1516709 01-01 13:14 rootfs.tar.bz2drwxr-xr-x2 root root 4096 12-11 19:14 usb6 root root 4096 11-07 17:38 windows以下为grub引导设置:rootgoldway # cat /
12、etc/grub.conf# grub.conf generated by anaconda# Note that you do not have to rerun grub after making changes to this file# NOTICE:You do not have a /boot partition.This means that# all kernel and initrd paths are relative to /, eg. root (hd0,9) kernel /boot/vmlinuz-version ro root=/dev/hda10 initrd
13、/boot/initrd-version.img#boot=/dev/hdadefault=2timeout=5splashimage=(hd0,9)/boot/grub/splash.xpm.gzhiddenmenutitle kernel testroot (hd0,8)kernel /bzImage ro root=/dev/hda9title Fedora Core (2.6.18-1.2798.fc6)root (hd0,9)kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/1 rhgb quietinitrd /boot/i
14、nitrd-2.6.18-1.2798.fc6.imgtitle Otherrootnoverify (hd0,0)chainloader +1Linux version 2.6.26.5 (rootgoldway) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30) #12 Fri Jan 1 00:28:28 CST 2010BIOS-provided physical RAM map:BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) 000000000009fc00 - 0000000
15、0000a0000 (reserved) 00000000000f0000 - 0000000000100000 (reserved) 0000000000100000 - 000000000fff0000 (usable) 000000000fff0000 - 000000000fff3000 (ACPI NVS) 000000000fff3000 - 0000000010000000 (ACPI data) 00000000fec00000 - 0000000100000000 (reserved)0MB HIGHMEM available.255MB LOWMEM available.E
16、ntering add_active_range(0, 0, 65520) 0 entries of 256 usedZone PFN ranges:DMA 0 -4096Normal 4096 - 65520HighMem65520 -Movable zone start PFN for each nodeearly_node_map1 active PFN ranges 0:0 -On node 0 totalpages:DMA zone: 32 pages used for memmap 0 pages reserved 4064 pages, LIFO batch:Normal zon
17、e: 480 pages used for memmap 60944 pages, LIFO batch:15HighMem zone: 0 pages used for memmapMovable zone:DMI 2.3 present.Allocating PCI resources starting at 20000000 (gap: 10000000:eec00000)Built 1 zonelists in Zone order, mobility grouping on.Total pages: 65008Kernel command line: ro root=/dev/hda
18、9Enabling fast FPU save and restore. done.Enabling unmasked SIMD FPU exception support. done.Initializing CPU#0PID hash table entries: 1024 (order: 10, 4096 bytes)Detected 2625.912 MHz processor.Console: colour VGA+ 80x25console tty0 enabledDentry cache hash table entries: 32768 (order: 5, 131072 by
19、tes)Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)Memory: 257764k/262080k available (912k kernel code, 3808k reserved, 300k data, 100k init, 0k highmem)virtual kernel memory layout: fixmap 0xfffee000 - 0xfffff000(68 kB) pkmap 0xff800000 - 0xffc00000(4096 kB) vmalloc : 0xd0800000 - 0xf
20、f7fe000( 751 MB) lowmem 0xc0000000 - 0xcfff0000( 255 MB).init : 0xc0232000 - 0xc024b000( 100 kB).data : 0xc01e4097 - 0xc022f42c( 300 kB).text : 0xc0100000 - 0xc01e4097( 912 kB)Checking if this processor honours the WP bit even in supervisor mode.Ok.CPA: page pool initialized 1 of 1 pages preallocate
21、dSLUB: Genslabs=12, HWalign=128, Order=0-3, MinObjects=0, CPUs=1, Nodes=1Calibrating delay using timer specific routine. 5257.16 BogoMIPS (lpj=10514322)Mount-cache hash table entries: 512CPU: Trace cache: 12K uops, L1 D cache: 8K L2 cache: 128K Intel(R) Celeron(R) CPU 2.60GHz stepping 09Checking hlt
22、 instruction. OK.Freeing SMP alternatives: 0k freedSetting up standard PCI resourcesio scheduler noop registered (default)Uniform Multi-Platform E-IDE driveride: Assuming 50MHz system bus speed for PIO modes; override with idebus=xxide_generic: please use probe_mask=0x3f module parameter for probing
23、 all legacy ISA IDE portsProbing IDE interface ide0.hda: ST3160215A, ATA DISK driveProbing IDE interface ide1.ide0 at 0x1f0-0x1f7,0x3f6 on irq 14ide1 at 0x170-0x177,0x376 on irq 15 max request size: 512KiB 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63 cache flushes supported hda1 h
24、da2 serio: i8042 KBD port at 0x60,0x64 irq 1 i8042 AUX port at 0x60,0x64 irq 12mice: PS/2 mouse device common for all miceUsing IPI Shortcut modeinput: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0kjournald starting.Commit interval 5 secondsEXT3-fs: mounted filesystem with ordered data mode.VFS: Mounted root (ext3 filesystem) readonly.Freeing unused kernel memory: 100k freedEXT3-fs warning: maximal mount count reached, running e
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1