大家好,感谢大家抽时间来帮我这菜鸟解决问题,接触linux也有一个多月了,但感觉还是离目标很遥远阿......唉。。。。。。。。。。。。。
最近想做一个只有命令行的小linux系统,下载了个busybox-1.7.0用arm-linux-编译的,选的静态编译,按照网上说的编译也成功了 另外也下了个linux-2.6.35的内核,编译也做好了 ,能够启动,现在的问题是 我想在一个新的4G DOM盘上来把这个系统做在上面,按网上说了做了N次都没成功 ,很郁闷阿.........
fdisk -l 执行后 显示有两个硬盘一个是sda就是本来的装的宿主系统Fedora 11有两个分区sda1 和sda2 还有一个就是插上去的DOM盘sdb我给它分了三个区sdb1为boot分区 sdb2为交换分区 sdb3为 / 分区
在/mnt下建了两个文件夹gboot和groot用来分别挂载/dev/sdb1和/dev/sdb3下面的步骤基本上就是按网上搜索的制作根文件系统 的步骤做的 但怎么也没成功,还望大家教教阿 ,如果能有详细的步骤的话就更好了......
希望大家帮帮忙。本人随时在线...............可以及时沟通
gms316 于 2011-12-16 16:45:26发表:
最后结果怎么呀
no_cool 于 2010-09-19 14:40:18发表:
没人帮忙么???
no_cool 于 2010-09-16 09:29:53发表:
OK了 辛苦了这么久 终于shell能跑动了现在有问题就是,我把宿主系统的硬盘给拔了,直接只接这个新做系统的DOM盘,进入shell命令行后,其他都很正常能运行,就fdisk -l的时候看不到本磁盘的信息,还望高手帮助~!
谢谢
no_cool 于 2010-09-13 11:53:49发表:
12# shenhao0129
文件系统我该成了EXT3的格式,启动后 提示:
Warning:unable to open an initial console
Failed to execute /bin/sh. Attenpting defaults...
Kernel panic- not syncing:No init fount . Try passing init= option to kernel
然后就是一个光标做死的闪 CapsCLock 和ScrollLock灯做死的闪
我想知道的是 这个Try passing init= option to kernel 是不是我前面发出来的在gurb.conf中的那样改,还是在内核编译的时候有哪个现象需要设定init阿 ???
再是这个unable to open an initial console 我/dev下也有console 和null这个手动添加的设备阿.........
no_cool 于 2010-09-13 11:39:08发表:
12# shenhao0129
貌似还是不行阿
no_cool 于 2010-09-13 09:12:52发表:
10# wangyu
恩 我按照你说的试下吧
shenhao0129 于 2010-09-10 20:31:11发表:
今天我也在研究NFS根文件系统,原来认为busybox看似比较简单,就略过去了,搞半天这东西还是有点复杂的啊
shenhao0129 于 2010-09-10 20:27:21发表:
要手动挂载的吧?
wangyu 于 2010-09-10 18:31:07发表:
看了一下,和我的网上看到的步骤差不多,应该没啥问题,可能是下面这句话
EXT4-fs: barriers enabled
ext4似乎在你的U盘里不能用,换成ext3试试吧,最好重新编译下内核
no_cool 于 2010-09-10 16:03:42发表:
7# wangyu
我把pci信息和制作过程以及文件内容都贴出来吧
#lspci
00:00.0 Host bridge: ATI Technologies Inc RS690 Host Bridge
00:01.0 PCI bridge: ATI Technologies Inc RS690 PCI to PCI Bridge (Internal gfx)
00:04.0 PCI bridge: ATI Technologies Inc Device 7914
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 14)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS690M [Radeon X1200 Series]
01:05.2 Audio device: ATI Technologies Inc Radeon X1200 Series Audio Controller
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
制作过程和网上说的差不多,先格式化三个分区 mkfs.ext3 /dev/sdb1 mkswap /dev/sdb2 mkfs.ext4 /dev/sdb3
然后在/mnt下创建groot和gboot 分别挂载
mount /dev/sdb1 /mnt/gboot mount /devsdb3 /mnt/groot
在groot下创建目录 和配置文件
[root@localhost groot]# ls
bin dev etc lib lost+found mnt proc sbin sys tmp usr var
[root@localhost groot]# ls etc
fstab group init.d inittab mdev.conf passwd profile shadow
[root@localhost groot]# ls etc/init.d
rcS
由于是静态编译的BUSYBOX,所以lib下没库文件 只有个modules文件夹下放了从宿主系统上拷贝过来的哪个内核文件夹,bin和sbin是从busybox靠过来的
其他的etc下的配置文件内容为:
fstab
/dev/sda1 /boot ext3 defaults 1 2
/dev/sda3 / ext4 defaults 1 1
/dev/sda2 swap swap defaults 0 0
proc /proc proc defaults 0 0
none /tmp ramfs defaults 0 0
mdev /dev ramfs defaults 0 0
sysfs /sys sysfs defaults 0 0
group
root:x:0:root
inittab
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
passwd
oot:x:0:0root:/root:/bin/sh
profile
echo
echo -n "Processing /etc/profile... "
# no-op
#Set path
echo "Set path in /etc/profile"
PATH=/bin:/sbin
export PATH
#Set PS1
echo "Set PS1 in /etc/profile"
export PS1="\\e[05;32m[$USER@\\$\\e[00;34m"
echo "Done"
echo
shadow
root:$6$xqcJXRxYcaQrIVVx$JlpZ2g5byZldogXAgdegapMZUsQtoQqfKe10Bif79mxJ/p9JRnOmtmbcv864d428p7T6zTkiSQsne9gKunVJ30:14827:0:99999:7:::
init.d/rcS
#! /bin/sh
echo "---------------mount all"
/bin/mount -a
echo "------------------Starting mdev........."
/bin/echo sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
echo "--------------"
最后gboot下为boot文件夹放了从宿主系统拷贝过来的内核文件和镜像文件还有grub
[root@localhost boot]# ls
config-2.6.29.4-167.fc11.i686.PAE lost+found
System.map-2.6.29.4-167.fc11.i686.PAE grub
initrd-2.6.29.4-167.fc11.i686.PAE.img vmlinuz-2.6.29.4-167.fc11.i686.PAE
[root@localhost grub]# ls
device.map grub.conf menu.lst stage2
e2fs_stage1_5 grub.conf~ stage1 xfs_stage1_5
grub.conf
default=1
timeout=5
hiddenmenu
title Fedora (2.6.29)
root (hd0,0)
kernel /vmlinuz-2.6.29.4-167.fc11.i686.PAE root=/dev/sda1 rw init=/bin/sh
initrd /initrd-2.6.29.4-167.fc11.i686.PAE
BIOS设置从第二硬盘启动,一连串的信息过后 最后停在这里不懂动了
C onsole:switching to colour frame buffer device 128x48
executing set pll
executing set crtc timing
[drm] TV-6: set mode 1024x768 14
fb0:radeondrmfb frame buffer device
[drm] Loading RS690/RS740 Microcode
[drm]Num pipes:1
[drm]writeback test succeeded in 1 usecs
[drm] Initialized radeon 1.30.0 20080528 for 0000:01:05.0 on minor 0
input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input4
EXT4-fs: barriers enabled
kjournald2 starting:pid 59.dev sda1:8,commit interval 5 seconds
EXT4-fs:delayed allocation enabled
EXT4-fs:mballoc enabled
EXT34-fs:mounted filesystem sda1 with ordered data mode
no_cool 于 2010-09-10 14:18:53发表:
7# wangyu
恩 确实是我疏忽 ,DOM盘你也可以把它当作是一个小的移动硬盘 或者是一个U盘吧 只是它 的接口不同而已,我把它插板子上进宿主系统能读出来时sdb,刚才我启动编译好的那个2.6.35的内核进系统后,发现没有被读出来,难道真的不能挂载???
wangyu 于 2010-09-10 13:36:50发表:
内核的不清楚,busybox好像只能编译命令,根文件系统需要你复制宿主盘的。
最好把启动没成功的提示写出来,确实我只能猜测了,可能是你的内核无法挂载你的DOM(啥是DOM)
shenhao0129 于 2010-09-10 13:02:47发表:
DOM盘是个什么盘?
alick 于 2010-09-10 11:57:50发表:
没有说明具体在什么地方出现的问题,如果出错都报什么错。
(这些对帮忙的人都很重要。不然就只能猜着来了。)
no_cool 于 2010-09-10 10:49:29发表:
3# lktlks
好歹也是个将军阿 ................怎么会不懂阿 我等得花都谢了哦 来个哥们帮帮忙吧
lktlks 于 2010-09-10 10:42:13发表:
不懂
no_cool 于 2010-09-10 09:29:32发表:
另外补充下内核方面遇到的问题,内核编译完后该把哪些东西放到目标盘上去??
我编译内核时模块支持是选上的,编译后能启动,那么是不是只需要把bzImage System.map config三个文件拷贝到目标盘的boot目录,把/lib/modules/2.6.35拷贝到目标盘的/lib/modules下就可以了????
还有就是我在上面编译的内核再重新编译,但不选模块支持,其他的选项设置都基本上没变都编译进内核,但启动后却发现 内核怎么也启动不了。