this is a short introduction on how to install hdw-linux. you should have build
your hdw distro already or at least have the hdw-linux sources installed to use
the hdw-get script to install from precompiled binaries.
-it is supposed to work at least for me. though this is dev and may hurt your
-baby, be warned. i mean it!
-
-there are two possibilities for installation. the first one assumes you have
-build your hdw distro and are ready to rock. the second assumes that you have
-created/got the binarie tarballs and want to install them using hdw-get. mention
-that hdw-get may fetch the binaries from a http/ftp server too. i keep trying to
-offer the binaries of the latest hdw development version on my site.
-the third step explains how to configure your installed system and make it ready
-to rboot.
+it is supposed to work, at least for me. though this may hurt your baby, be
+warned. i mean it!
+
+there are two diffrent ways of how to setup your hdw-linux system. the first
+one assumes you have finished a build as explained in doc/BUILD. for the other
+way you need to have the binary tarballs accessible which you may have created
+after/during build procedure or on cd from someone else. please note that
+hdw-get is able to fetch them from a http/ftp server too. i keep trying to
+offer the binaries of the latest stable release on hackdaworld.dyndns.org,
+mirrors appreciated! finally some configuration issues are discussed and the
+system is prepared for reboot.
here we go ...
-1. way - hdw-distro ready to rock
----------------------------------
+1. way - hdw-distro ready @ $hdw_build_dir
+------------------------------------------
in case your hdw-build directory alreday has been mounted on a seperated
partition you may skip the following and read on at chapter 'final steps'.
-otherwise copy over the hdw system to your target partition.
+otherwise copy over the hdw system to your target partition. please make sure
+unmount the hdw related mounts which the scripts may not have umounted.
example:
mke2fs <target partition>
+ mkdir -p /mnt/hdw-target
mount <target partition> /mnt/hdw-target
-
- umount $hdw_build_dir/dev
- umount $hdw_build_dir/proc
+ (feel free to create more partitions like /usr, /var, /boot and so on)
+ mke2fs <another partition>
+ mkdir -p /mnt/hdw-target/boot
+ mount <another partition> /mnt/hdw-target/boot
+
+ umount $hdw_build_dir/dev/{shm,pts}
+ umount $hdw_build_dir/{dev,sys,proc}
+ umount $hdw_build_dir/usr/src/hdw-linux/{download,binaries}
cp -a $hdw_build_dir/* /mnt/hdw-target
-(where /mnt/hdw-target is the mountpoint the target partition was mounted to)
-
2. way - hdw-get
----------------
-if you didnt build and create the hdw distro by your own, make sure you have the
-hdw-get script present which can be found in the hdw-linux sources. the way of
-installation differs whether you have the binaries on your host or if you want
-to download them via network/internet.
+hdw-get is a minimal packet manager used to install/remove packages from your
+hdw distribution. please have a look at the hdw-get script, it is simple and
+thus more easy to get its functionality. two diffrent ways using hde-get are
+introduced now. the hdw-get script can be found in the hdw-linux source tree
+in the ./misc/hdw-tools directory.
- binaries exist on local host
- ----------------------------
- in that case just do the following:
+ installing binaries explicitly pointing to them
+ -----------------------------------------------
+ in that case you may just install one package after another.
example:
mke2fs <target partition>
mount <target partition> /mnt/hdw-target
- (feel free to create more partitions, e.g. for usr, var and stuff)
+ (again feel free to create more partitions)
- for i in /point/to/binaries/*/*.tar.bz2; do
+ for i in /point/to/binaries/*.tar.bz2; do
hdw-get install /mnt/hdw-target $i
done
- binaries from network/internet
- ------------------------------
- if you want to fetch them from the internet you need to configure
- hdw-get. after that you are able to download the binaries which get
- installed afterwards. please notice that there is currently just 586
- optimized binaries on my server. feel free to add mirrors and contact
- me.
- as we dont have the sources on our local computer we need Helper script
- to figure out what we are going to install (also available in the hdw
- sources)
- you will need wget installed for hdw-get to work!
+ this is not a nice way since what you want is more control of the
+ packages going to be installed. please try to use the next method.
+
+ install binaries according to a distribution package list
+ ---------------------------------------------------------
+ in that case binaries should be located in bin_dir or net_addr of your
+ hdw-get.conf file within the same directory structure as created by
+ scripts/Create-Binary. wget is needed if you want to fetch the binaries
+ via internet. please note that due to harddisk limitations binaries for
+ only one arch/optimization and hdw version can be offered via internet.
+ if you thnk this is bad and you could help out, please contact me!
example:
cat > /etc/hdw-get.conf << EOF
net_addr="http://hackdaworld.dyndns.org/download"
- # note that there doesnt exist binaries of all versions/archs
- hdw_version="0.3-dev"
- hdw_arch="ia32" ; hdw_arch_opt="i586"
+ bin_addr="/usr/src/hdw-linux/binaries"
+ # note that there dont exist binaries of all versions/archs
+ hdw_version="0.3"
+ hdw_arch="ia32" ; hdw_arch_opt="i686"
EOF
-
- . misc/hdw-tools/hdw-get install /mnt/hdw-target 00-dirtree
- for i in 2 3; do
- ./scripts/Helper -show buildorder $i | grep -v '^#' >> foobar
- done
- cat foobar | while read a b c; do
- . misc/hdw-tools/hdw-get install /mnt/hdw-target $c
- done
+ ./scripts/Helper -create_dist_file
+ . misc/hdw-tools/hdw-get dist-install /mnt/hdw-target \
+ ./distro/<target name>
+
+ you may edit the distribution file, hdw-get should actually warn you
+ about runtime dependencies. please note that dependency checking is
+ still in development, even for the stable releases, so be sure you know
+ what you are doing.
+
+ hint: (how i am using hdw ...)
+ o build target all-dev, skip packages that wont build by
+ touching a logfile
+ o upload all the created binaries to a networked computer with
+ apache installed
+ o boot your other debian/suse/old-hdw systems, get the hdw-linux
+ sources, create appropriate distro files and run hdw-get
+ (or even use an automated method using pxe boot,
+ see ./doc/FAI)
final steps
-----------
-chroot to your new build system and compile a new kernel (default optimized for
-pentiumII)
+- chroot to your new build system and compile a new kernel
example:
PATH="/sbin:/bin:/usr/sbin:/usr/bin" --login
cd /usr/src/linux
make menuconfig
- (make sure to always enable devfs support!)
make dep bzImage modules modules_install
-yo may want to set a root password.
+- yo may want to set a root password (default is 'hdw' iirc)
example:
passwd
- (type your password, yes, type it 2 times :)
+ (type your password, yes, type it twice :)
-leave the chroot (beside you are not installing from rescue disks) and make the
-kernel bootable.
+- leave the chroot (beside you are not installing from rescue disks or via FAI)
+ and make the kernel bootable
example:
cp /mnt/hdw-target/usr/src/linux/arch/i386/boot/bzImage \
/boot/vmlinuz_hdw
vi /etc/lilo.conf
- (add vmlinuz_hdw
+ (add vmlinuz_hdw)
lilo
-have a look at the config files in /mnt/hdw-target/etc/* and adjust to your
-needs. reboot then - good luck! ;)
+- have a look at the config files in /mnt/hdw-target/etc/* and adjust to your
+ needs. reboot then - good luck! ;)
example: