It’s about 10 years ago when I had an build environment of ipfire for the last time so I’m not common with its structure anymore.
If I remeber right there should be a configuration file in the root directory of the build environment with its sources and make script, but I cant find it. There was not problem with building ipfire from scratch so my build environment works fine.
Therefore I cant run ./configure. What am I missing?
The IPFire buildsystem never had a configure script but you can create a .config textfile in the folder where make.sh is located. But there are only some usefull variables like.
TARGET_ARCH= (i586,x86_64,armv5tel,aarch64) default is system arch.
ENABLE_RAMDISK= (on, off, auto) default is auto (if more than 4GB free use ramdisk)
IPFIRE_USER= (username for upload of the IPFire server)
Most of this should work in default (if no .config is present) and the arch can also specified on commandline.
IPFire does not have that. You are thinking of buildroot and OpenWRT is using that for example.
The problem that you have is very unlikely driver-related. It might be that the device is not properly ejected when it is inserted and therefore does not change into modem mode. That would be a problem in usb_modeswitch. There could be some other timing issues, but generally you are talking to your device and that is what the driver does and it works.
Too bad and I thought ipfire has that as well as I thought to remember playing around with that when I tried to get an wifi card to work a long time ago.
But the problem exists with two different laptops: Lenovo T440s with EM7345 + Panasonic Toughbook CF-C2 with EM7305.
Both wwan cards work fine with the latest Ubuntu and Kali so it can’t be hardware related.
I can say that CONFIG_USB_SIERRA_NET and CONFIG_USB_SERIAL_SIERRAWIRELESS is enabled as module in the IPFire Kernel.
I fear that this card not support the pure modem mode and they use a AT command interface to unlock the SIM and set the APN’s but after this the connection is handled via an Ethernet device. This mode is not suported by the IPFire network init skripts.
to reach the kernel config you have to disable the ramdisk, run a full build and after this go into the build-shell (./make.sh shell) and go to /usr/src/linux and run make menuconfig
delete log/linux-4*
and run the build to kernel built. (the full kernel not the header part)
You can break if the kernel compile has really started (run tail -f log/_build-ipfire.log in a seperate shell to see)
then run
./make.sh shell
cd /usr/src/linux
make menuconfig
Hm I’m not sure if I’ve deactivated it at the right place.
in make.sh:
CONFIG_ROOT=/var/ipfire # Configuration rootdir
if [ "${ENABLE_RAMDISK}" = "on" ]; then
mkdir -p $BASEDIR/build/usr/src
mount -t tmpfs tmpfs -o size=4G,nr_inodes=1M,mode=1777 $BASEDIR/build/usr/src
fi
So I was looking for the ENABLE_RAMDISK parameter but couldn’t find any config file so I set in make.sh
# Load configuration file
if [ -f .config ]; then
. .config
fi
which may overwrite the parameter again. Can’t find .config. Where the hell is it? I now created a file “.config” in /build//var/ipfire and included the parameter ENABLE_RAMDISK=“off”.
my .config file was added manually and ended up here --> /home/pi/ipfire-2.x/.config
$ cd ipfire-2.x
$ pwd
/home/pi/ipfire-2.x
$ ls -al
total 160
drwxr-xr-x 14 pi pi 4096 Apr 1 15:59 .
drwxr-xr-x 28 pi pi 4096 Mar 31 17:36 ..
drwxr-xr-x 21 root root 4096 Apr 1 15:59 build
drwxr-xr-x 3 pi pi 32768 Mar 31 16:35 cache
drwxr-xr-x 3 root root 4096 Mar 31 16:36 ccache
-rw-r--r-- 1 pi pi 19 Apr 1 15:12 .config
drwxr-xr-x 94 pi pi 4096 Mar 31 15:14 config
drwxr-xr-x 2 pi pi 4096 Mar 31 15:14 doc
drwxr-xr-x 8 pi pi 4096 Apr 1 15:59 .git
-rw-r--r-- 1 pi pi 153 Mar 31 15:14 .gitignore
drwxr-xr-x 4 pi pi 4096 Mar 31 15:14 html
drwxr-xr-x 11 pi pi 4096 Mar 31 15:14 langs
drwxr-xr-x 2 pi pi 20480 Mar 31 15:14 lfs
drwxr-xr-x 2 root root 4096 Apr 1 17:14 log
-rw-r--r-- 1 pi pi 1647 Mar 31 15:14 .mailmap
-rwxr-xr-x 1 pi pi 48357 Apr 1 11:50 make.sh
drwxr-xr-x 17 pi pi 4096 Mar 31 15:14 src
drwxr-xr-x 3 pi pi 4096 Mar 31 15:14 tools
$ cat .config
TARGET_ARCH=x86_64