ubuntu 8.04.1 精简版 (2008.08.26更新)
- yaska
- 帖子: 1169
- 注册时间: 2007-10-28 21:35
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
- yaska
- 帖子: 1169
- 注册时间: 2007-10-28 21:35
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
我没有专门定制 initrd ,按那文章中所说,直接拷贝 /boot 里面来得。yaska 写了:你挂载ntfs分区上的filesystem.squashfs是用ntfs-3g吧?? 难道官方不用?ptptptptptpt 写了:用官方的casper试了下,没这问题,
参考的文章还是针对 7.10 的,或许 8.04 的 initrd 制作方法有所变化
我还注意到,用官方 livecd 安装后, /boot 中的 initrd.img** 与capser 目录中的 initrd.gz 不一样,要小一些
PS:我还一直以为livecd中的initrd.gz和安装到系统后的initrd.img 是同一个文件呢。。
我记得 7.04 时 livecd中的initrd.gz和安装到系统后的initrd.img 确实是同一个文件,不知7.10怎样,8.04确实不同了,我记得解开看过,少了东西
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
- yaska
- 帖子: 1169
- 注册时间: 2007-10-28 21:35
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
- yaska
- 帖子: 1169
- 注册时间: 2007-10-28 21:35
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16
少了 /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
- ptptptptptpt
- 帖子: 3711
- 注册时间: 2006-09-19 18:16