ubuntu 8.04.1 精简版 (2008.08.26更新)

Ubuntu各种衍生版本
回复
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#31

帖子 yaska » 2008-07-31 15:54

pt:

个人觉得debootstrap+chroot做filesystem.squashfs, 还不如直接定制livecd里面的filesystem.squashfs,方便安装到硬盘上。

不过这样针对适合有特定需求的朋友。 各有所好。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#32

帖子 ptptptptptpt » 2008-07-31 15:57

用官方的casper试了下,没这问题,

参考的文章还是针对 7.10 的,或许 8.04 的 initrd 制作方法有所变化

我还注意到,用官方 livecd 安装后, /boot 中的 initrd.img** 与capser 目录中的 initrd.gz 不一样,要小一些
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#33

帖子 yaska » 2008-07-31 16:00

ptptptptptpt 写了:用官方的casper试了下,没这问题,

参考的文章还是针对 7.10 的,或许 8.04 的 initrd 制作方法有所变化

我还注意到,用官方 livecd 安装后, /boot 中的 initrd.img** 与capser 目录中的 initrd.gz 不一样,要小一些
你挂载ntfs分区上的filesystem.squashfs是用ntfs-3g吧?? 难道官方不用?

PS:我还一直以为livecd中的initrd.gz和安装到系统后的initrd.img 是同一个文件呢。。 :(
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#34

帖子 ptptptptptpt » 2008-07-31 16:03

yaska 写了:pt:

个人觉得debootstrap+chroot做filesystem.squashfs, 还不如直接定制livecd里面的filesystem.squashfs,方便安装到硬盘上。

不过这样针对适合有特定需求的朋友。 各有所好。

恩,现在看来 debootstrap+chroot 是有待完善

要是能搞到官方制作 filesystem.squashfs 的脚本就好了 :lol: :lol:
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#35

帖子 ptptptptptpt » 2008-07-31 16:06

yaska 写了:
ptptptptptpt 写了:用官方的casper试了下,没这问题,

参考的文章还是针对 7.10 的,或许 8.04 的 initrd 制作方法有所变化

我还注意到,用官方 livecd 安装后, /boot 中的 initrd.img** 与capser 目录中的 initrd.gz 不一样,要小一些
你挂载ntfs分区上的filesystem.squashfs是用ntfs-3g吧?? 难道官方不用?

PS:我还一直以为livecd中的initrd.gz和安装到系统后的initrd.img 是同一个文件呢。。 :(
我没有专门定制 initrd ,按那文章中所说,直接拷贝 /boot 里面来得。

我记得 7.04 时 livecd中的initrd.gz和安装到系统后的initrd.img 确实是同一个文件,不知7.10怎样,8.04确实不同了,我记得解开看过,少了东西
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#36

帖子 yaska » 2008-07-31 16:07

你用官方的filesystem.squashfs,放到ntfs分区,正常关机?
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#37

帖子 ptptptptptpt » 2008-07-31 16:10

是的。
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#38

帖子 yaska » 2008-07-31 16:14

initrd用的是正常系统/boot下的initrd.img ?

那你看看filesystem.squashfs是怎么挂载的?

还有/etc/rc0.d/下的关机相关的脚本,应该就这2个: S20sendsigs S90halt
是不是和正常的系统不同?
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#39

帖子 ptptptptptpt » 2008-07-31 16:21

yaska 写了:initrd用的是正常系统/boot下的initrd.img ?

那你看看filesystem.squashfs是怎么挂载的?

还有/etc/rc0.d/下的关机相关的脚本,应该就这2个: S20sendsigs S90halt
是不是和正常的系统不同?
挂载是一样的,都是通过 casper 脚本

initrd 中没有 /etc/rc0.d/
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#40

帖子 ptptptptptpt » 2008-07-31 16:24

initrd 中 /scripts 比官方的少,官方 66 项, /boot 中的 58 项
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#41

帖子 yaska » 2008-07-31 16:24

关机不正常不关initrd的事吧。

你用官方的filesystem.squashfs,放在ntfs分区,进入系统之后,再观察一下关机过程。

/etc/rc0.d/下的脚本。。
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#42

帖子 ptptptptptpt » 2008-07-31 16:26

少了 /scripts/lupin-helpers 内容如下
. /scripts/casper-helpers

is_supported_fs(){
[ -z "${1}" ] && return 1
case ${1} in
ext2|ext3|xfs|jfs|reiserfs|vfat|ntfs|iso9660)
return 0
;;
esac
return 1
}

wait_for_devs(){
if [ -e /var/run/lupin-waited-for-devs ]; then
return
fi
[ "$quiet" != "y" ] && log_begin_msg "...waiting for devs..."
udevadm trigger --subsystem-match=block
udevadm settle
#TBD, modprobe on demand?
modprobe ext3
modprobe reiserfs
modprobe xfs
modprobe jfs
modprobe vfat
modprobe fuse
[ "$quiet" != "y" ] && log_end_msg "...devs loaded..."
touch /var/run/lupin-waited-for-devs
}

find_path()
{
local path="${1}"
# must match find_path_cleanup
local default_mountpoint="${2:-/tmpmountpoint}"
local mountoptions="${3:-ro}"
local mountpoint=
local dev devname devfstype
local trial_number
FOUNDDEV=
FOUNDPATH=
[ -z "${path}" ] && return 1
wait_for_devs
mkdir -p "${default_mountpoint}"
for trial_number in 1 2 3; do
[ $trial_number -gt 1 ] && sleep 3
for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v /ram | grep -v /loop | grep -v /fd); do
for dev in $(subdevices "${sysblock}"); do
devname=$(sys2dev "${dev}")
devfstype="$(get_fstype ${devname})"
if is_supported_fs "${devfstype}" ; then
#if device is already mounted, do not remount
if grep -q "^${devname} " /proc/mounts; then
mountpoint=$(grep "^${devname} " /proc/mounts|cut -d ' ' -f 2)
unmount=false
else
mountpoint="${default_mountpoint}"
try_mount "$devname" "$mountpoint" "$mountoptions" || return 1
unmount=true
fi
if [ -e "${mountpoint}${path}" ]; then
FOUNDDEV="${devname}"
FOUNDPATH="${mountpoint}${path}"
return 0
fi
[ "${unmount}" = "true" ] && umount ${mountpoint} 2> /dev/null || true
fi
done
done
done
return 1
}

find_path_cleanup()
{
# must match find_path
local default_mountpoint="${1:-/tmpmountpoint}"
if grep -q "^[^ ]* $default_mountpoint " /proc/mounts; then
umount "$default_mountpoint" 2>/dev/null || true
fi
rmdir "$default_mountpoint" 2>/dev/null || true
}
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#43

帖子 ptptptptptpt » 2008-07-31 16:33

官方的filesystem.squashfs 中的 S20sendsigs S90halt 和 我做的filesystem.squashfs 中的 S20sendsigs S90halt 是完全一样的


我认为是initrd 的问题。

回头我重做一次,用官方8.04.1 的内核来作 ── 现在这个用的内核比8.04.1中的新,用官方8.04.1 casper 的 initrd.gz 启动试试
头像
ptptptptptpt
帖子: 3711
注册时间: 2006-09-19 18:16

#44

帖子 ptptptptptpt » 2008-07-31 16:34

休息下先,刚下了 赤壁,看看 :)
头像
yaska
帖子: 1169
注册时间: 2007-10-28 21:35

#45

帖子 yaska » 2008-07-31 16:39

initd是cpio格式话,run_init之后,就消失了。。 怎么还和它有关呢。 我也不敢肯定。。

测试了把结果发上来哦。
回复