$GOOUT在linux中是什么意思
发布网友
发布时间:2022-05-14 08:39
我来回答
共2个回答
热心网友
时间:2023-10-11 20:01
前提:内核编译时得选相应的支持选项,前文已有叙述。
1、rootfs中的/boot文件夹删除;
2、建立ramdisk:
使用dd命令建立一个空的文件系统映像:
# dd if=/dev/zero of=images/initrd.img bs=1k count=8192
大小8192K,用/dev/zero对其初始化;
利用刚才的空的文件系统映像,建立文件系统并安装它,使用了mke2fs命令:
# /sbin/mke2fs -F -v -m0 images/initrd.img
新建一个临时文件夹做mount之用:
# mkdir tmp/initrd
把建好的文件系统mount上来:
#mount -o loop images/initrd.img tmp/initrd
把根文件系统拷贝过来:
#cp -av rootfs/* tmp/initrd
# umount tmp/initrd
压缩:
# gzip -9 <images/initrd.img > images/initrd.bin
这样,就得到了images/initrd.bin
把目标盘mount上来:
#mount -t ext2 /dev/hda1 /mnt/cf
新建一个/boot
#mkdir /mnt/cf/boot
把刚才建立的ramdisk镜像拷过来。然后把内核文件bzImage-2.4.27-rmk5也拷进去。
这样,boot文件夹里边有两个文件
initrd.bin
bzImage-2.4.27-rmk5
这个时候还不能安装lilo,因为lilo的配置文件中有/dev/hda……这样的东东,而目标盘上还没有……所以,临时建一个:
#mkdir /mnt/cf/dev
#cp -rf ${PRJROOT}/rootfs/dev/hda* /mnt/cf/dev
修改${PRJROOT}/rootfs/etc/target.lilo.conf,我的配置文件如下:
boot=/dev/hda
disk=/dev/hda
bios=0x80
image=/boot/bzImage-2.4.27-rmk5
initrd=/boot/initrd.bin
root=/dev/hda1
append="root=/dev/hda1"
# label=MyLinux
read-only
相比以前的,只是加了一句:initrd=/boot/initrd.bin,另外把label去掉了,因为否则lilo会报怨说语法错误。
好了,可以安装lilo了。以前我们的语句是:
lilo -r /mnt/cf -C etc/target.lilo.conf
现在我们的目标盘上没有etc这个目录了,更不用说target.lilo.conf,可以借助于工程目录中的了原文件,当然,我在目标硬盘上新建了/dev,然后把target.lilo.conf拷过去,还是用这句命令安装lilo。
这样,整个系统就完成了。追问好多,没看明白,这个是想要做什么用?
热心网友
时间:2023-10-11 20:02
实际上有$GOOUT就是需要你手动进行某操作后退出至命令行
(如
echo -e "press any key to continue"
read $GOOUT
)
此时你运行之后你不会立刻进入下一个命令的输入行
如果没有$GOOUT就是运行完文件后直接显示输出行