www.mamboteam.com
macsat.com - OpenWrt | Olegs Firmware  
Home arrow Wiki (RDC Based Routers)
Tuesday, 14 October 2008
 
 
Main Menu
Home
About
News
Tutorials - OpenWrt (WR)
Tutorials - Oleg
Wiki (RDC Based Routers)
Online Shop
Forum
Downloads
Free Linux eBooks
Links
Search
Contact Us
We have 2 guests online
2717214 Visitors
Login
Welcome Guest.






Lost Password?
No account yet? Register
Old macsat.com
Nokia Unlock (Dansk)
Nokia Unlock (English)
XBins IRC Chat

Apply the amit hacks to busybox-1.7.2

The amit company made some modifications to Busybox-1.0-rc2. The purpose of this modifications were:

  • Set the hardware clock with the proprietary amit lib
  • Include libamit in the build script
  • Let the leds flash on shutdown
  • Print CPU-usage for every process in ps






It seems that the other utilities on the initrd do not depend on CPU-usage feature. Because of that and because it was the biggest part of the patch, this was not included. The other changes, including and a bugfix, which prevents a write to a random memory address, are included in the patch below.

To create a flash-image with Busybox-1.7.2 replace the contents of busybox_src in the MGB100_\GPL folder with the sources of Busybox-1.7.2. After that cd into that directory and apply the patch. Now you have to configure busybox. After that you can build the flash-image from the MGB100_\GPL folder with make linuxall

If you want to test busybox before you flash the new image have a look at Temporary modifications to the initrd

diff -upNr busybox-1.7.2/Makefile.flags busybox-1.7.2-mod/Makefile.flags
--- busybox-1.7.2/Makefile.flags	2007-09-03 13:48:58.000000000 +0200
+++ busybox-1.7.2-mod/Makefile.flags	2007-10-09 16:37:01.000000000 +0200
@@ -47,6 +47,9 @@ CFLAGS += $(call cc-option,-fno-guess-br
 CFLAGS += $(call cc-option,-funsigned-char -static-libgcc,)
 CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,)
 
+LDFLAGS += -L$(TOPDIR)../usr_src/amit_lib
+LDLIBS += -lamit
+
 # FIXME: These warnings are at least partially to be concerned about and should
 # be fixed..
 #CFLAGS+=$(call cc-option,-Wconversion,)
diff -upNr busybox-1.7.2/coreutils/date.c busybox-1.7.2-mod/coreutils/date.c
--- busybox-1.7.2/coreutils/date.c	2007-09-03 13:48:39.000000000 +0200
+++ busybox-1.7.2-mod/coreutils/date.c	2007-10-09 13:12:12.000000000 +0200
@@ -11,6 +11,9 @@
 */
 
 #include "libbb.h"
+#include <sys/io.h>
+
+extern void write_into_rtc(struct tm *tm_time);
 
 /* This 'date' command supports only 2 time setting formats,
    all the GNU strftime stuff (its in libc, lets use it),
@@ -171,6 +174,10 @@ int date_main(int argc, char **argv)
 			bb_error_msg_and_die(bb_msg_invalid_date, date_str);
 		}
 		maybe_set_utc(opt);
+#ifdef _HAVE_RTC
+		// added by Lily -- 20050520
+		write_into_rtc(&tm_time);
+#endif
 
 		/* if setting time, set it */
 		if ((opt & DATE_OPT_SET) && stime(&tm) < 0) {
diff -upNr busybox-1.7.2/init/init.c busybox-1.7.2-mod/init/init.c
--- busybox-1.7.2/init/init.c	2007-09-03 13:48:54.000000000 +0200
+++ busybox-1.7.2-mod/init/init.c	2007-10-09 15:11:14.000000000 +0200
@@ -15,6 +15,7 @@
 //#include <sys/ioctl.h>
 //#include <sys/wait.h>
 #include <sys/reboot.h>
+#include <sys/io.h>
 
 #if ENABLE_FEATURE_INIT_SYSLOG
 # include <sys/syslog.h>
@@ -570,6 +571,7 @@ static void init_reboot(unsigned long ma
 
 static void shutdown_system(void)
 {
+	unsigned long reg;
 	sigset_t block_signals;
 
 	/* run everything to be run at "shutdown".  This is done _prior_
@@ -602,6 +604,16 @@ static void shutdown_system(void)
 	sync();
 	sleep(1);
 
+	iopl(3);
+	outl(0x80003848, 0xcf8);
+	reg = inl(0xcfc);
+	reg |= 0x3C;
+	outl(reg, 0xcfc);
+	outl(0x8000384C, 0xcf8);
+	reg = inl(0xcfc);
+	reg &= 0xC3;
+	outl(reg, 0xcfc);
+
 	message(L_CONSOLE | L_LOG, "Sending SIG%s to all processes", "KILL");
 	kill(-1, SIGKILL);
 	sync();
@@ -651,9 +663,12 @@ static void shutdown_signal(int sig)
 {
 	const char *m;
 	int rb;
+	unsigned long reg;
 
 	shutdown_system();
-
+	sleep(1);
+	reg |= 0x3C;
+	outl(reg, 0xcfc);
 	m = "halt";
 	rb = RB_HALT_SYSTEM;
 	if (sig == SIGTERM) {

 
apply_the_amit_hacks_to_busybox-1.7.2.txt (2147483648 views) · Last modified: 2007/10/09 16:23 by firetwister
 
Recent changes RSS feed Creative Commons License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Powered by Joom Prosolution
Buy Router
Linksys WRT54GL
Linksys WRT54GL
Recent Forum Topics
Donations

If you appriciate this site, please consider making a small donation.

All donations will be used to cover expenses from running macsat.com.

Sponsored Ads
 
Top! Top!