Dear Wiki user, You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.
The "DebianMed/LiveCD" page has been changed by SteffenMoeller: http://wiki.debian.org/DebianMed/LiveCD?action=diff&rev1=8&rev2=9 == Selections for Scenarios == - All selections shall be additive. + All selections shall be additive. ||'Scenario'||'Selection'||'Comment'|| ||development happens on machine||build-essential|med-bio-dev|| @@ -56, +56 @@ The complete build time - over DSL and with a now elderly laptop is about 45 minutes. The resulting hard drive image can then be dumped to the USB stick's device (not its partition). With a disk partitioning tool the remainder of the stick may be rendered usable again - the DD also writes the partition table and this needs to be adapted for. {{{ dd if=binary.img of=/dev/sdb - fdisk /dev/sdb + fdisk /dev/sdb ... }}} @@ -68, +68 @@ === Protocol for plain chroot plus boot loader === - The motivation behind this effort is to have the USB stick function like a regular hard drive and provide the basic functionality for some virtual or real machine to do exactly what it is supposed to do (and nothing much else). Again, a compressed file system would be lovely, but plain journaled ext2 seems to allow a good start. + The motivation behind this effort is to have the USB stick function like a regular hard drive and provide the basic functionality for some virtual or real machine to do exactly what it is supposed to do (and nothing much else). Again, a compressed file system would be lovely, but a plain journaled ext2 seems to allow a good start. - The installation is performed via deboostrap. Then to be added is a bootloader. I tried with grub2, but it reads from hd0 instead of hd1 when tested on a Windows machine, and I failed to change that. If hd0 is correct for a diskless client I cannot tell. The next attempt will be with extlinux, a ext2-compatible syslinux. The following describes my current state of my attempts: + The installation is performed via deboostrap. cdebootstrap should also work, but it has not for me. Then to be added is a bootloader. I tried with grub2, but it reads from hd0 instead of hd1 when tested on a Windows machine, and I failed to change that. If hd0 is correct for a diskless client I cannot tell. The next attempt will be with extlinux, a ext2-compatible syslinux. The following describes my current state of my attempts: {{{ sudo fdisk /dev/sdb1 # create a partition @@ -83, +83 @@ }}} - A disadvantage of this setup is the self-biting installation, which does not care about removing packages from /var/cache/apt to free disk space during installation. After the debootstrap, one should hence loop over $packages to install, like + A disadvantage of this setup is the limited space to cache the packages - the binaries eat up the disk space that is needed to unpack them. And apt-get does not care about removing packages from /var/cache/apt to free disk space during installation. After the debootstrap, one should hence loop over $packages to install, like {{{ chroot /mnt/stick - packages="boinc-client autodock autogrid autodocktools gromacs" + packages="debian-keyring build-essential boinc-client autodock autogrid autodocktools gromacs" for p in $packages; do echo "Installing $p"; apt-get install $p && apt-get clean; done }}} + + While still in the chroot, the password of root needs to be set. + {{{ + passwd root + }}} + For getting the beast to boot, I attempted the following. The kernel should be installed, first, and the installation inspects the /proc directory, so this is prepared for it, too. {{{ - sudo chroot /mnt/stick # entering the chroot just created + #sudo chroot /mnt/stick # entering the chroot just created, if not already in - cat /etc/fstab # make sure you really want to overwrite this with + cat /etc/fstab # make sure you really are in the chroot and + # hence want to overwrite this echo "Will be overwritten in ten seconds if you don't CTRL-C" sleep 10 # you shall not copy and paste blindly cat > /etc/fstab << EOFSTAB @@ -113, +120 @@ Now the system should be installed. It was not clear from the documentation ([[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548424|#548424]]) about how the configuration file should be named - so some good soul please improve the description given here. {{{ + # still in the chroot + cat > /extlinux.conf <<EOCFG + DEFAULT debian-med-2.6.30 + LABEL debian-med-2.6.30 + SAY Debian Med from USB stick + KERNEL /boot/vmlinuz-2.6.30-1-amd64 - mkdir /boot/extlinux # needed? - mkdir /boot/syslinux # or this one? - cat > /boot/syslinux/syslinux.cfg <<EOCFG - DEFAULT linux - LABEL linux - SAY Now booting the kernel from EXTLINUX sdb1 - KERNEL vmlinuz - APPEND ro root=/dev/sdb1 initrd=initrd.img + APPEND ro root=/dev/sdb1 initrd=/boot/initrd.img-2.6.30-1-amd64 EOCFG - ln /boot/syslinux/syslinux.cfg /boot/extlinux/extlinux.cfg exit # now back from the chroot + + # here I have indeed done the cat mbr.bin > /dev/sdb , but + # it should also work without it - I think. If not, see + # http://syslinux.zytor.com/wiki/index.php/EXTLINUX sudo apt-get install syslinux extlinux -i /mnt/stick sync # does not help too much with journaled file systems, though - umount /proc + + chroot /mnt/stick umount /proc umount /mnt/stick }}} + References: + + * http://syslinux.zytor.com/wiki/index.php/SYSLINUX + * http://syslinux.zytor.com/wiki/index.php/EXTLINUX === Protocol for vmbuilder === _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/debian-med-commit
