Differences

This shows you the differences between the selected revision and the current version of the page.

howto:loader_o 2015/11/28 04:12 howto:loader_o 2017/09/06 17:34 current
Line 1: Line 1:
-When my oldest cehidrln were babies, I used cloth diapers. I would NOT want to use them if I didn't have a hot water hook-up for my washing machine, UNLESS you soaked them in a solution of borax (I used 20 Mule Team brand) and liquid chlorine bleach (like Clorox) in HOT water. I always had a soak bucket for diapersI used a 5-gallon bucket and dissolved 1 cup of borax and 1/2 cup of Clorox in it as I filled it up with HOT water. When I took soiled diapers off the babies, I would dump as much of the feces in the toilet as I couldThen I would put the diapers in the bucket and keep a lid on itThe Clorox kept it from having a bad odor.When the bucket was full, I would dump the diapers and soak water in the washing machine and use the spin cycle to get the water outThen I washed them in HOT water with a mild detergent like Ivory or DreftI used 1 cup of vinegar in the rinse cycle to make sure all the detergent was rinsed completely out. You could carry buckets of hot water to your washer, of course, but that would be a lot of work. If I were you and wanted to use cloth diapers, I would have a hot-water connection installed for my washing machineHTH+====== How-to loader.o to preform a kexec like operations ====== 
 + 
 +loader.o allow you to run a custom kernel, without the danger of having to reprogram your Flash ROM. It loads a new kernel into memory and jumps to it directly. 
 + 
 +===== Compiling loader.o ===== 
 + 
 + - Get [[http://www.genbako.com/loader.o/org/loader.tar.gz|loader.o original source]] and optionally [[http://www.genbako.com/loader.o/loader.diff|patch for initrd problem]]. 
 + - [[:howto:kernel_build#build_toolchain|Build a toolchain for cross compiling]]. 
 + - In Makefile point ''INCLUDE = -isystem'' parameter to a **2.4.21-pre4** kernel header files! 
 +  - Fix ''gcc'' and ''ld'' entry in Makefile to meet your cross compiled toolchain. 
 + - Apply initrd patch if you like. 
 + - Run ''make'' 
 + 
 +===== Use pre-compiled loader.o ===== 
 +If you think that compiling loader.o by yourself is too much hassle then you can use a [[http://dns323.kood.org/downloads/people/sala/loader.o|pre-compiled loader.o]] 
 + 
 +===== Preparing proper kernel image for loading ===== 
 +For kernel building instructions look [[howto:kernel_build|kernel building wiki page]]. 
 + 
 +Before you start compiling kernel you should apply this patch, which is going to fix [[http://dns323.kood.org/forum/t850-building-kernel-loadero.html|memory detection problem]]. 
 +<code patch> 
 +--- arch/ppc/platforms/sandpoint_setup.c.orig 2007-08-09 18:02:58.000000000 -0400 
 ++++ arch/ppc/platforms/sandpoint_setup.c 2007-08-09 18:03:41.000000000 -0400 
 +@@ -451,8 +451,8 @@ 
 +  
 + /* This might be fixed in DINK32 12.4, or we'll have another 
 + * way to determine the correct memory size anyhow. */ 
 +- /* return mpc10x_get_mem_size(MPC10X_MEM_MAP_B); */ 
 +- return 16*1024*1024; 
 ++ return mpc10x_get_mem_size(MPC10X_MEM_MAP_B); 
 ++ /*return 16*1024*1024;*/ 
 +
 +  
 + static void __init 
 +</code> 
 +If you would like to use custom cmdline parameter for your kernel, for example "root=/dev/sda3" then you will also need this patch: 
 +  - Search for "#endif /* CONFIG_BLK_DEV_INITRD */" in arch/ppc/platform/sandpoint_setup.
 + - Add following lines after "#endif /* CONFIG_BLK_DEV_INITRD */" line: 
 +<code>        if ( r6 ) 
 +        { 
 +              *(char *)(r7+KERNELBASE) = 0; 
 +              strcpy(cmd_line, (char *)(r6+KERNELBASE)); 
 +        } 
 +</code> 
 +After you have successfully built a kernel image you should note that the loader need the kernel to be in binary format. It can be done with powerpc-linux-objcopy command. 
 +<code>powerpc-linux-objcopy -O binary vmlinux</code> 
 + 
 +===== Using loader.o to load a kernel image ===== 
 +<code>sync;insmod /mnt/HD_a2/loader.o kernel=/mnt/HD_a2/vmlinux</code> 
 +or 
 +<code>sync;insmod /mnt/HD_a2/loader.o kernel=/mnt/HD_a2/vmlinux cmdline="root=/dev/sda3"</code> 
 + 
 +===== Use pre-compiled vmlinux ===== 
 +Pre-compiled vmlinux is available at [[http://dns323.kood.org/downloads/people/sala/vmlinux|here]]. 
 +It does support custom cmdline parameter. I does have usb and usb storage modules built in, <del>so it is possible to load operating system from usb stick</del>. This kernel image is optimized to boot [[:howto:chroot_gentoo|Gentoo linux]]. .config is available at [[http://dns323.kood.org/downloads/people/sala/loader.config|here]].\\ 
 +<del>To load from usb stick:</del> 
 +<code>sync;insmod /mnt/HD_a2/loader.o kernel=/mnt/HD_a2/vmlinux cmdline="root=/dev/sdb1"</code>

Personal Tools