[R&D Notes] Troubleshooting Busybox 1.7.2 taskset.c Compilation Errors

While compiling Busybox 1.7.2 using the default config (make defconfig) with a specific ARM toolchain, I encountered two specific compilation errors. One was related to the route applet, and the other was in taskset.c. I resolved the taskset.c issue by disabling it temporarily, but later found a proper fix. The root cause lies in a mismatch between uClibc (which Busybox is primarily designed for) and glibc. Specifically, the number of arguments for sched_getaffinity and sched_setaffinity differs between the two. ...

September 30, 2007 · 1 min · 206 words · ChenFu Kuo

[Work Notes] Ubuntu Dash vs Bash

To speed up the boot process, Ubuntu uses dash as the default shell instead of the traditional bash. You can verify this at /bin/sh → /bin/dash. If you want to switch back to the original bash, type the following at the prompt: sudo dpkg-reconfigure dash When the configuration window appears, select “No” to revert back to bash. Recommendation: If you’re doing software development on Ubuntu and write shell scripts, it’s safer to switch back to bash for compatibility. ...

September 25, 2007 · 1 min · 78 words · ChenFu Kuo

[Financial Perspective] Foxconn's New 6C+IP Strategy

BusinessWeek Issue 1035 — Lead Story: Joining forces with e-commerce’s army of ants, Terry Gou sets his sights on becoming an internet “flying tiger.” Taiwan’s most globally powerful manufacturer is undoubtedly Foxconn. To build a new strategic layout, Foxconn has been in negotiations to cooperate with Alibaba, China’s largest e-commerce platform — leveraging internet commerce to capture what matters most in the digital age: information and personalization. Four years ago, Foxconn expanded upward from its original three C’s (Computers, Communications, Consumer Electronics) by adding three more (Automotive Electronics, Channels, Content). Now, by bridging the gap between virtual and physical worlds, Foxconn has officially entered the internet industry. ...

September 24, 2007 · 3 min · 453 words · ChenFu Kuo

[Financial Perspective] Manulife CEO John Mineker on the Art of M&A

The key to rapid M&A: make personnel decisions swiftly, and avoid internal power struggles. Priority order for an insurance company’s development should be: → Introduce and innovate products → Build a more efficient organization → Expand distribution channels → Improve risk management → Pursue M&A The real key to winning in M&A is respect. Price matters, but the real secret is not overpaying — the true value of an acquisition is realized in long-term stock performance. ...

September 24, 2007 · 2 min · 247 words · ChenFu Kuo

[Personal Reflections] A Parent's Child

Looking at my parents’ silver hair and the lines the years have carved into their faces, my heart aches. After starting university, aside from a brief stint at home during military service, I’ve always been away — studying far from home, and now working even farther. Though I’ve never said it out loud, there’s a small knot of guilt that stays with me. I hope my parents live peacefully, healthily, and happily. That is my greatest wish for them. ...

September 24, 2007 · 1 min · 205 words · ChenFu Kuo

[R&D Notes] Implementing Linux Daemons in Embedded Systems

Implementing Daemons in Embedded Linux systems is a fundamental task for long-running services. Based on the excellent Linux Daemon Writing HOWTO by Devin Watson, I have refactored several processes in my current project to run as background services (daemons). By backgrounding these processes, we ensure they remain resident in the system without blocking the console or being tied to a specific session. Core Implementation Pattern The following C snippet demonstrates the standard procedure for “daemonizing” a process: fork() from the parent, create a new session with setsid(), change the working directory, and close standard file descriptors. ...

September 19, 2007 · 2 min · 245 words · ChenFu Kuo

[Work Notes] Patch vs. Embedded Systems Development Notes

Recently I was assigned to work on a streaming server. Working from the original development platform, we applied patches via shell scripts to transform source files — using patches on the original source code to generate modified files, then compiling those into the required libraries or executables. At first I didn’t think much about why this approach was used, but I’ve recently started to appreciate its advantages. The original source files we need are open-source packages downloadable from the internet. To track our modifications, we use the diff command to create patch files. When we combine multiple application components together, we end up with a collection of tarballs and patch files. We then manage them with shell scripts organized into three types: ...

September 19, 2007 · 2 min · 223 words · ChenFu Kuo

[Personal Reflections] Chang Carey

Carey was a dog that my fiancée used to own. She passed away shortly after Dragon Boat Festival… The first time I met her, she bit me! In my entire life, I’ve been bitten by two dogs. The first was named Lucky — I forget if it was middle school or elementary school — but it wasn’t particularly lucky for me. I just wanted to pet her, and she bit me. With Carey, I also just wanted to pet her, and she bit me too… though not as badly as the first time. ...

September 16, 2007 · 2 min · 288 words · ChenFu Kuo

[Financial Perspective] My Thoughts on BusinessWeek

Since high school, I used to buy computing magazines like PC DIY or gaming magazines — always chasing the latest trends: building a PC, playing games. Then, in my fourth year of university, a younger student was reading BusinessWeek, and I curiously asked why. He said he’d been reading it since high school, just out of interest, and that it offered many diverse perspectives. After that, I started buying a copy here and there — partly still following trends, I suppose. ...

September 15, 2007 · 2 min · 396 words · ChenFu Kuo

[Personal Reflections] Tension

I haven’t felt this way in a long time… I want to go home. Hide away at home… And be a willful, rebellious child again…

September 15, 2007 · 1 min · 25 words · ChenFu Kuo