You are not logged in.
Anyone can told me how to make archlive which can boot from harddisk?
The one made from present rev of larch just can boot from USB and CD/DVD....
Last edited by carbonjiao (2008-11-10 03:35:31)
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
Check out Faunos for the install to hdd.
My ailment? Lackatesla!
Tesla fails smog test..no gas!
Favorite song...Tesla On My Mind....
Offline
Thanks for your reply.
I will try it.
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
It's quite easy to install larch to hard disk - if you know how the boot process works ...
If I have time I'll try to make it a bit easier!
larch: http://larch.berlios.de
Offline
I just want :
1. Download iso image to my hard disk;
2. Extract the file "archlive.img" and "vmlinuz" to C:\
3. Add below lines to menu.lst
title Boot ArchLive Lxde Desktop
root (hd0,0)
kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no
initrd /archlive.img
4. Through the grldr and menu.lst to boot the archlive...
My hard disk is SATA, the erros occured when I boot from this ...
the errors looks like " No filesystem could mount root, tried: Kernel panic -not syncing: VFS: Unable to mount rootfs on unknown block (254,7)
I am trying your script to re-creat iso image, maybe it can boot like this method...
Last edited by carbonjiao (2008-11-08 05:27:19)
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
Re-created iso image, and boot it, erro occured again:
" Could not load /lib/modules/2.6.27-ARCH/modules.dep, no such file or directory, Fail to mount /dev/sr[0-9]
Use unetbootin-windows-282.exe in Windows write boot files to C:\, boot again, erros looks like:
"ERROR: cannot find booted cdrom device, cannot continue Kernel panic - not syncing: "
HOOKS bootall mybe need add some function...
bootall content:
run_hook ()
{
# external drives may need to settle
msg ":: Waiting for usb devices to settle..."
/sbin/udevadm trigger --subsystem-match=usb
/sbin/udevadm settle
sleep 5
msg ":: Scanning for boot cdrom device..."
/bin/mkdir -p /bootmnt
/bin/mkdir -p /live
live="/live"
bootmnt="/bootmnt"
found=0
if [ "${break}" = "y" ]; then
echo ":: Break requested, type 'exit' to resume operation"
echo " NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
PS1="ramfs$ " /bin/sh -i
fi
if [ "x${bootiso}" != "x" ]; then
for usb in /dev/sd[a-z][0-9]; do
if mount -t vfat "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ext2 "${usb}" ${bootmnt} >/dev/null 2>&1; then
if [ -e "${bootmnt}/${bootiso}" ]; then
found=1
msg "${usb}"
break
fi
else
echo "Failed to mount ${usb}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
elif [ "${bootusb}" = "y" ]; then
for usb in /dev/sd[a-z][0-9]; do
if mount -t vfat "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ext2 "${usb}" ${bootmnt} >/dev/null 2>&1; then
if [ "x${from}" != "x" ]; then
if [ -e "${bootmnt}/${from}/archlive.sqfs" ]; then
found=1
msg "${usb}"
/bin/mount -o bind "${bootmnt}/${from}" "${live}"
break
fi
else
if [ -e "${bootmnt}/archlive.sqfs" ]; then
found=1
msg "${usb}"
break
fi
fi
else
echo "Failed to mount ${usb}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
else
/bin/modprobe -q isofs >/dev/null 2>&1
for cdrom in /dev/sr[0-9]; do
if mount -r -t iso9660 "${cdrom}" ${bootmnt} >/dev/null 2>&1; then
if [ -e "${bootmnt}/archlive.sqfs" ]; then
found=1
msg "${cdrom}"
break
fi
else
echo "Failed to mount ${cdrom}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
fi
if [ ${found} -eq 0 ]; then
if [ "${bootusb}" = "y" ]; then
echo "ERROR: cannot find booted usb device, cannot continue..."
else
echo "ERROR: cannot find booted cdrom device, cannot continue..."
fi
exit 1
else
export BOOT_MOUNT="${bootmnt}"
fi
}
# vim:ft=sh:ts=4:sw=4:et:
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
change the HOOKS as "base udev pata scsi sata usb fw bootall archiso filesystems", can recognize my SATA driver, but still cannot find mntiso...
bootall script need to update..........
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
I updated two copies, but all have some errors...
Someone can help to to de-bugs? Thanks!
Maybe these script can boot from Hard disk (replace the old bootall)
First one, errors as "line 98: syntax error near unexpected token `done'"
test_live_data_dir ()
{
/bin/mount -r -t iso9660 "$1" $2 >/dev/null 2>/dev/null || \
/bin/mount -r -t vfat -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null || \
/bin/mount -r -t ntfs-3g -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null || \
/bin/mount -r -t ext2 -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
if [ -f "$2/${from}/carbon" ]; then
LDEV="$1"
msg_ " ... found at $1"
found=1
return 0
else
/bin/umount $2 2>/dev/null
msg_ " ... $1 mounted, but no 'carbon' found"
fi
else
msg_ " ... not $1"
fi
return 1
}
run_hook ()
{
# external drives may need to settle
msg ":: Waiting for usb devices to settle..."
/sbin/udevadm trigger --subsystem-match=usb
/sbin/udevadm settle
sleep 5
msg_ ":: Scanning for boot device..."
/bin/mkdir -p /bootmnt
/bin/mkdir -p /live
live="/live"
bootmnt="/bootmnt"
found=0
if [ "${break}" = "y" ]; then
echo ":: Break requested, type 'exit' to resume operation"
echo " NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
PS1="ramfs$ " /bin/sh -i
fi
# look for livecd data directory, first try ${root}
LDEV="${root}"
if [ "x${LDEV}" != "x" ]; then
/bin/mount -r -t iso9660 "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t vfat -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t ntfs-3g -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t ext2 -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
if [ -d "${bootmnt}/${from}/carbon" ]; then
msg_ ":: Archlive system at ${LDEV}"
/bin/mount -o bind "${bootmnt}/${from}" "${live}"
found=1
break
else
/bin/umount "${bootmnt}" 2>/dev/null
echo "!! No Archlive system at ${LDEV}"
LDEV=""
fi
else
echo "!! Couldn't mount ${LDEV}"
LDEV=""
fi
fi
# then try cdroms
if [ "x${LDEV}" = "x" ]; then
msg_ ":: Looking for boot device"
cdroms=$( /bin/cat /proc/sys/dev/cdrom/info | { while read a b c; do
if [ "${a}" = "drive" -a "${b}" = "name:" ]; then
echo "${c}"
break
fi
done
} )
for i in ${cdroms}; do
test_live_data_dir "/dev/${i}" "${bootmnt}"
if [ $? -eq 0 ]; then break; fi
done
fi
# test USB devices (and disks) repeatedly until timed out
if [ "x${LDEV}" = "x" ]; then
msg_ ":: Searching for usb (and disk) devices .."
for i in 1 2 3 4 5; do
msg_ " :wait ${i} :::"
/bin/sleep ${i}
for d in /dev/sd[a-z][0-9]*; do
test_live_data_dir "${d}" "${bootmnt}"
if [ $? -eq 0 ]; then break 2; fi
done
done
fi
export BOOT_MOUNT="${bootmnt}"
done
}Second one, errors as " line 63: syntax error near unexpected token `elif' "
run_hook ()
{
# external drives may need to settle
msg ":: Waiting for usb devices to settle..."
/sbin/udevadm trigger --subsystem-match=usb
/sbin/udevadm settle
sleep 5
msg ":: Scanning for boot cdrom device..."
/bin/mkdir -p /bootmnt
/bin/mkdir -p /live
live="/live"
bootmnt="/bootmnt"
found=0
if [ "${break}" = "y" ]; then
echo ":: Break requested, type 'exit' to resume operation"
echo " NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
PS1="ramfs$ " /bin/sh -i
fi
# look for livecd data directory, first try ${root}
LDEV="${root}"
if [ "x${LDEV}" != "x" ]; then
/bin/mount -r -t iso9660 "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t vfat -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t ntfs-3g -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null || \
/bin/mount -r -t ext2 -o noatime,nodiratime "${LDEV}" "${bootmnt}" >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
if [ -d "${bootmnt}/${from}/carbon" ]; then
msg_ ":: Archlive system at ${LDEV}"
/bin/mount -o bind "${bootmnt}/${from}" "${live}"
found=1
break
else
/bin/umount "${bootmnt}" 2>/dev/null
echo "!! No Archlive system at ${LDEV}"
LDEV=""
fi
else
echo "!! Couldn't mount ${LDEV}"
LDEV=""
fi
fi
if [ "x${bootiso}" != "x" ]; then
for usb in /dev/sd[a-z][0-9]; do
if mount -t vfat "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ntfs-3g "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ext2 "${usb}" ${bootmnt} >/dev/null 2>&1; then
if [ -e "${bootmnt}/${bootiso}" ]; then
found=1
msg "${usb}"
break
fi
else
echo "Failed to mount ${usb}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
elif [ "${bootusb}" = "y" ]; then
for usb in /dev/sd[a-z][0-9]; do
if mount -t vfat "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ntfs-3g "${usb}" ${bootmnt} >/dev/null 2>&1 ||\
mount -t ext2 "${usb}" ${bootmnt} >/dev/null 2>&1; then
if [ "x${from}" != "x" ]; then
if [ -e "${bootmnt}/${from}/carbon" ]; then
found=1
msg "${usb}"
/bin/mount -o bind "${bootmnt}/${from}" "${live}"
break
fi
else
if [ -e "${bootmnt}/carbon" ]; then
found=1
msg "${usb}"
break
fi
fi
else
echo "Failed to mount ${usb}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
else
/bin/modprobe -q isofs >/dev/null 2>&1
for cdrom in /dev/sr[0-9]; do
if mount -r -t iso9660 "${cdrom}" ${bootmnt} >/dev/null 2>&1; then
if [ -e "${bootmnt}/${from}/carbon" ]; then
found=1
msg "${cdrom}"
break
fi
else
echo "Failed to mount ${cdrom}"
fi
[ ${found} -eq 0 ] && umount ${bootmnt} >/dev/null 2>&1
done
fi
export BOOT_MOUNT="${bootmnt}"
}http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
@carbonjiao
You need boot option 'bootusb' in order for you to boot my archlive.
title Boot ArchLive Lxde Desktop
root (hd0,0)
kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb
initrd /archlive.imgYou can also put it on in a subfolder so you can have keep your hard drive neat.
title Boot ArchLive Lxde Desktop
root (hd0,0)
kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb from=archlive
initrd /archlive.imgThe above will find the first hard drive with archlive folder and use it.
You can also save changes over everything in my archlive distro.
title Boot ArchLive Lxde Desktop
root (hd0,0)
kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb from=archlive changes
initrd /archlive.imgThis will save all your files in archlive/changes since 'from' boot option equals archlive. i just hope you have a ext2 format hard drive or this will be a bad idea.
PS This is how i boot my archlive system on my hard drive.
Also you will not be able to use ntfs-3g mount option in initramfs cause its not there.
I'm working on a live cds based on Archlinux. http://godane.wordpress.com/
Offline
@carbonjiao
You need boot option 'bootusb' in order for you to boot my archlive.title Boot ArchLive Lxde Desktop root (hd0,0) kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb initrd /archlive.imgYou can also put it on in a subfolder so you can have keep your hard drive neat.
title Boot ArchLive Lxde Desktop root (hd0,0) kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb from=archlive initrd /archlive.imgThe above will find the first hard drive with archlive folder and use it.
You can also save changes over everything in my archlive distro.
title Boot ArchLive Lxde Desktop root (hd0,0) kernel /vmlinuz26 lang=en ramdisk_size=60% aufs nonfree=no bootusb from=archlive changes initrd /archlive.imgThis will save all your files in archlive/changes since 'from' boot option equals archlive. i just hope you have a ext2 format hard drive or this will be a bad idea.
PS This is how i boot my archlive system on my hard drive.
![]()
Also you will not be able to use ntfs-3g mount option in initramfs cause its not there.
Really works, Thanks!
Thank your hard work....
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
Dear Godane,
How can I build my own ISO by your script with other locales (such as Chinese, or Japanese...)? I put special locale-gen in overlay, while it doesn't make sense...
Last edited by carbonjiao (2008-11-10 03:59:23)
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
You have to remove the usr/share/locale in configs/arch-mini/config file. Otherwise there will be no locale files.
Also you have to install the mkarchiso i have in archiso folder.
make installNow in the configs/arch-mini folder. You will have to run this command:
mkarchiso -f -b syslinux all .working arch-mini.isoI just hope you have changes in your grub menu or you will not be able to do this since the packages are save in /var/cache/pacman/pkg.
mkarchiso -f -b syslinux -c .packages all .working arch-mini.isoThe above will should help you build your livecd even on a livecd. ![]()
You can get my archiso-live scripts here;
http://github.com/godane/archiso-live/tree/master
Have a good day.
I'm working on a live cds based on Archlinux. http://godane.wordpress.com/
Offline
Hi, godane,
Thank you very much!
I will do as your instructions, and will write here if there are some questions...
Have a nice day!
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline
Hi, Godane,
If I want patch the kernel, add the support of UTF-8 in kernel, the only way is I re-creat a new kernel in Archlinux and replace the one on the finished ISO image?
A Chinese programmer write a patch to kernel to add support of UTF-8 in kernel, you can download it from below address.
http://zdbr.net.cn/download/utf8-kernel … .patch.bz2
Added support of Chinese simp, Chinese Trad. Janpanese, Korean...
http://archlive.googlecode.com
http://archlive-pkg.googlecode.com
Live system and build scripts base on Arch GNU/Linux
基于Arch GNU/Linux的live系统及制作脚本
Offline